From d4254929b996af9fe0a6cd16889ef6c781a5d697 Mon Sep 17 00:00:00 2001 From: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> Date: Thu, 1 Jun 2023 08:56:43 -0600 Subject: [PATCH 01/13] Add the header_row parameter in read_csv (#3875) * Add the header_row parameter in read_csv * Improve docstings and test for error input * Clean up docstrings and formatting --- py/server/deephaven/csv.py | 27 +++++++++++++++++++-------- py/server/tests/test_csv.py | 9 ++++++++- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/py/server/deephaven/csv.py b/py/server/deephaven/csv.py index 995201c48fa..06d1dac5556 100644 --- a/py/server/deephaven/csv.py +++ b/py/server/deephaven/csv.py @@ -11,8 +11,8 @@ import deephaven.dtypes as dht from deephaven import DHError -from deephaven.table import Table from deephaven.constants import MAX_LONG +from deephaven.table import Table _JCsvTools = jpy.get_type("io.deephaven.csv.CsvTools") _JParsers = jpy.get_type("io.deephaven.csv.parsers.Parsers") @@ -23,6 +23,7 @@ def read( path: str, header: Dict[str, dht.DType] = None, headless: bool = False, + header_row: int = 0, skip_rows: int = 0, num_rows: int = MAX_LONG, ignore_empty_lines: bool = False, @@ -38,14 +39,24 @@ def read( Args: path (str): a file path or a URL string header (Dict[str, DType]): a dict to define the table columns with key being the name, value being the data type - skip_rows (long): number of data rows to skip before processing data. This is useful when you want to parse data in chunks. Defaults to 0 - num_rows (long): max number of rows to process. This is useful when you want to parse data in chunks. Defaults to {@link Long#MAX_VALUE} - allow_missing_columns (bool): whether the library should allow missing columns in the input. If this flag is set, then rows that are too short (that have fewer columns than the header row) will be interpreted as if the missing columns contained the empty string. Defaults to false. - ignore_excess_columns (bool): whether the library should allow excess columns in the input. If this flag is set, then rows that are too long (that have more columns than the header row) will have those excess columns dropped. Defaults to false. - headless (bool): indicates if the CSV data is headless, default is False + headless (bool): whether the csv file doesn't have a header row, default is False + header_row (int): the header row number, all the rows before it will be skipped, default is 0. Must be 0 if + headless is True, otherwise an exception will be raised + skip_rows (long): number of data rows to skip before processing data. This is useful when you want to parse + data in chunks. Defaults to 0 + num_rows (long): max number of rows to process. This is useful when you want to parse data in chunks. + Defaults to {@link Long#MAX_VALUE} + ignore_empty_lines (bool): whether to ignore empty lines, default is False + allow_missing_columns (bool): whether the library should allow missing columns in the input. If this flag is + set, then rows that are too short (that have fewer columns than the header row) will be interpreted as if + the missing columns contained the empty string. Defaults to false. + ignore_excess_columns (bool): whether the library should allow excess columns in the input. If this flag is + set, then rows that are too long (that have more columns than the header row) will have those excess columns + dropped. Defaults to false. delimiter (str): the delimiter used by the CSV, default is the comma quote (str): the quote character for the CSV, default is double quote - ignore_surrounding_spaces (bool): Indicates whether surrounding white space should be ignored for unquoted text fields, default is True + ignore_surrounding_spaces (bool): Indicates whether surrounding white space should be ignored for unquoted + text fields, default is True trim (bool): indicates whether to trim white space inside a quoted string, default is False Returns: @@ -76,6 +87,7 @@ def read( csv_specs = ( csv_specs_builder.hasHeaderRow(not headless) + .skipHeaderRows(header_row) .skipRows(skip_rows) .numRows(num_rows) .ignoreEmptyLines(ignore_empty_lines) @@ -110,4 +122,3 @@ def write(table: Table, path: str, cols: List[str] = []) -> None: _JCsvTools.writeCsv(table.j_table, False, path, *cols) except Exception as e: raise DHError(message="write csv failed.") from e - diff --git a/py/server/tests/test_csv.py b/py/server/tests/test_csv.py index be0cc0361fa..821f694c3e3 100644 --- a/py/server/tests/test_csv.py +++ b/py/server/tests/test_csv.py @@ -12,7 +12,6 @@ class CsvTestCase(BaseTestCase): def test_read_simple(self): t = read_csv("tests/data/small_sample.csv") - self.assertTrue(t.columns) def test_read_header(self): @@ -59,6 +58,14 @@ def test_write(self): import os os.remove("./test_write.csv") + def test_read_header_row(self): + t = read_csv("tests/data/small_sample.csv") + t1 = read_csv("tests/data/small_sample.csv", header_row=2) + self.assertEqual(t.size, t1.size + 2) + + with self.assertRaises(DHError): + t1 = read_csv("tests/data/small_sample.csv", headless=True, header_row=2) + if __name__ == '__main__': unittest.main() From add382b7f60231775e900acc3f96a16be8bb7a3f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 1 Jun 2023 14:06:07 -0400 Subject: [PATCH 02/13] Update web version 0.40.3 (#3893) Release notes https://github.com/deephaven/web-client-ui/releases/tag/v0.40.3 Co-authored-by: deephaven-internal --- web/client-ui/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/client-ui/Dockerfile b/web/client-ui/Dockerfile index fbdd2b82c93..9266dfa955c 100644 --- a/web/client-ui/Dockerfile +++ b/web/client-ui/Dockerfile @@ -2,9 +2,9 @@ FROM deephaven/node:local-build WORKDIR /usr/src/app # Most of the time, these versions are the same, except in cases where a patch only affects one of the packages -ARG WEB_VERSION=0.39.0 -ARG GRID_VERSION=0.39.0 -ARG CHART_VERSION=0.39.0 +ARG WEB_VERSION=0.40.3 +ARG GRID_VERSION=0.40.3 +ARG CHART_VERSION=0.40.3 # Pull in the published code-studio package from npmjs and extract is RUN set -eux; \ From 1a0b4d140d3b31c6c3b56e1bf9c0f9eb0c6189ad Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Thu, 1 Jun 2023 12:37:06 -0700 Subject: [PATCH 03/13] Add proto file codeowners (#3901) --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 34e1d39fa9c..7cccd019962 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,3 +22,4 @@ /docker @devinrsmith @jcferretti @rcaudy /engine/function/ @chipkent @kosak @rcaudy /py @chipkent @jmao-denver @rcaudy +*.proto @devinrsmith @nbauernfeind @niloc132 @rcaudy From 513d4d4467899cc39a481ccf790126419a2e1f82 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Thu, 1 Jun 2023 14:03:12 -0700 Subject: [PATCH 04/13] Fix RangeJoinTablesRequest enums, actually enable via TableServiceGrpcImpl (#3903) --- .../client/proto/deephaven/proto/table.pb.cc | 965 +++---- .../client/proto/deephaven/proto/table.pb.h | 22 +- go/internal/proto/table/table.pb.go | 2491 +++++++++-------- .../main/proto/deephaven/proto/table.proto | 14 +- py/client/pydeephaven/proto/table_pb2.py | 298 +- .../server/table/ops/RangeJoinGrpcImpl.java | 59 +- .../table/ops/TableServiceGrpcImpl.java | 7 + .../server/table/ops/RangeJoinGrpcTest.java | 197 ++ 8 files changed, 2138 insertions(+), 1915 deletions(-) create mode 100644 server/src/test/java/io/deephaven/server/table/ops/RangeJoinGrpcTest.java diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc index 9addbc6449a..30849653792 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc +++ b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc @@ -3279,7 +3279,7 @@ const char descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto[] PROTOBU "e.grpc.AsOfJoinTablesRequest.MatchRule\"Y" "\n\tMatchRule\022\023\n\017LESS_THAN_EQUAL\020\000\022\r\n\tLESS" "_THAN\020\001\022\026\n\022GREATER_THAN_EQUAL\020\002\022\020\n\014GREAT" - "ER_THAN\020\003\"\237\006\n\026RangeJoinTablesRequest\022<\n\t" + "ER_THAN\020\003\"\313\006\n\026RangeJoinTablesRequest\022<\n\t" "result_id\030\001 \001(\0132).io.deephaven.proto.bac" "kplane.grpc.Ticket\022B\n\007left_id\030\002 \001(\01321.io" ".deephaven.proto.backplane.grpc.TableRef" @@ -3294,510 +3294,511 @@ const char descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto[] PROTOBU "RangeJoinTablesRequest.RangeEndRule\022\027\n\017l" "eft_end_column\030\t \001(\t\022D\n\014aggregations\030\n \003" "(\0132..io.deephaven.proto.backplane.grpc.A" - "ggregation\"_\n\016RangeStartRule\022\r\n\tLESS_THA" - "N\020\000\022\026\n\022LESS_THAN_OR_EQUAL\020\001\022&\n\"LESS_THAN" - "_OR_EQUAL_ALLOW_PRECEDING\020\002\"f\n\014RangeEndR" - "ule\022\020\n\014GREATER_THAN\020\000\022\031\n\025GREATER_THAN_OR" - "_EQUAL\020\001\022)\n%GREATER_THAN_OR_EQUAL_ALLOW_" - "FOLLOWING\020\002\"\376\004\n\025ComboAggregateRequest\022<\n" + "ggregation\"v\n\016RangeStartRule\022\025\n\021START_UN" + "SPECIFIED\020\000\022\r\n\tLESS_THAN\020\001\022\026\n\022LESS_THAN_" + "OR_EQUAL\020\002\022&\n\"LESS_THAN_OR_EQUAL_ALLOW_P" + "RECEDING\020\003\"{\n\014RangeEndRule\022\023\n\017END_UNSPEC" + "IFIED\020\000\022\020\n\014GREATER_THAN\020\001\022\031\n\025GREATER_THA" + "N_OR_EQUAL\020\002\022)\n%GREATER_THAN_OR_EQUAL_AL" + "LOW_FOLLOWING\020\003\"\376\004\n\025ComboAggregateReques" + "t\022<\n\tresult_id\030\001 \001(\0132).io.deephaven.prot" + "o.backplane.grpc.Ticket\022D\n\tsource_id\030\002 \001" + "(\01321.io.deephaven.proto.backplane.grpc.T" + "ableReference\022V\n\naggregates\030\003 \003(\0132B.io.d" + "eephaven.proto.backplane.grpc.ComboAggre" + "gateRequest.Aggregate\022\030\n\020group_by_column" + "s\030\004 \003(\t\022\023\n\013force_combo\030\005 \001(\010\032\255\001\n\tAggrega" + "te\022N\n\004type\030\001 \001(\0162@.io.deephaven.proto.ba" + "ckplane.grpc.ComboAggregateRequest.AggTy" + "pe\022\023\n\013match_pairs\030\002 \003(\t\022\023\n\013column_name\030\003" + " \001(\t\022\022\n\npercentile\030\004 \001(\001\022\022\n\navg_median\030\005" + " \001(\010\"\245\001\n\007AggType\022\007\n\003SUM\020\000\022\013\n\007ABS_SUM\020\001\022\t" + "\n\005GROUP\020\002\022\007\n\003AVG\020\003\022\t\n\005COUNT\020\004\022\t\n\005FIRST\020\005" + "\022\010\n\004LAST\020\006\022\007\n\003MIN\020\007\022\007\n\003MAX\020\010\022\n\n\006MEDIAN\020\t" + "\022\016\n\nPERCENTILE\020\n\022\007\n\003STD\020\013\022\007\n\003VAR\020\014\022\020\n\014WE" + "IGHTED_AVG\020\r:\002\030\001\"\355\001\n\023AggregateAllRequest" + "\022<\n\tresult_id\030\001 \001(\0132).io.deephaven.proto" + ".backplane.grpc.Ticket\022D\n\tsource_id\030\002 \001(" + "\01321.io.deephaven.proto.backplane.grpc.Ta" + "bleReference\0228\n\004spec\030\003 \001(\0132*.io.deephave" + "n.proto.backplane.grpc.AggSpec\022\030\n\020group_" + "by_columns\030\004 \003(\t\"\327\027\n\007AggSpec\022K\n\007abs_sum\030" + "\001 \001(\01328.io.deephaven.proto.backplane.grp" + "c.AggSpec.AggSpecAbsSumH\000\022i\n\026approximate" + "_percentile\030\002 \001(\0132G.io.deephaven.proto.b" + "ackplane.grpc.AggSpec.AggSpecApproximate" + "PercentileH\000\022D\n\003avg\030\003 \001(\01325.io.deephaven" + ".proto.backplane.grpc.AggSpec.AggSpecAvg" + "H\000\022Y\n\016count_distinct\030\004 \001(\0132\?.io.deephave" + "n.proto.backplane.grpc.AggSpec.AggSpecCo" + "untDistinctH\000\022N\n\010distinct\030\005 \001(\0132:.io.dee" + "phaven.proto.backplane.grpc.AggSpec.AggS" + "pecDistinctH\000\022H\n\005first\030\006 \001(\01327.io.deepha" + "ven.proto.backplane.grpc.AggSpec.AggSpec" + "FirstH\000\022L\n\007formula\030\007 \001(\01329.io.deephaven." + "proto.backplane.grpc.AggSpec.AggSpecForm" + "ulaH\000\022J\n\006freeze\030\010 \001(\01328.io.deephaven.pro" + "to.backplane.grpc.AggSpec.AggSpecFreezeH" + "\000\022H\n\005group\030\t \001(\01327.io.deephaven.proto.ba" + "ckplane.grpc.AggSpec.AggSpecGroupH\000\022F\n\004l" + "ast\030\n \001(\01326.io.deephaven.proto.backplane" + ".grpc.AggSpec.AggSpecLastH\000\022D\n\003max\030\013 \001(\013" + "25.io.deephaven.proto.backplane.grpc.Agg" + "Spec.AggSpecMaxH\000\022J\n\006median\030\014 \001(\01328.io.d" + "eephaven.proto.backplane.grpc.AggSpec.Ag" + "gSpecMedianH\000\022D\n\003min\030\r \001(\01325.io.deephave" + "n.proto.backplane.grpc.AggSpec.AggSpecMi" + "nH\000\022R\n\npercentile\030\016 \001(\0132<.io.deephaven.p" + "roto.backplane.grpc.AggSpec.AggSpecPerce" + "ntileH\000\022P\n\014sorted_first\030\017 \001(\01328.io.deeph" + "aven.proto.backplane.grpc.AggSpec.AggSpe" + "cSortedH\000\022O\n\013sorted_last\030\020 \001(\01328.io.deep" + "haven.proto.backplane.grpc.AggSpec.AggSp" + "ecSortedH\000\022D\n\003std\030\021 \001(\01325.io.deephaven.p" + "roto.backplane.grpc.AggSpec.AggSpecStdH\000" + "\022D\n\003sum\030\022 \001(\01325.io.deephaven.proto.backp" + "lane.grpc.AggSpec.AggSpecSumH\000\022M\n\010t_dige" + "st\030\023 \001(\01329.io.deephaven.proto.backplane." + "grpc.AggSpec.AggSpecTDigestH\000\022J\n\006unique\030" + "\024 \001(\01328.io.deephaven.proto.backplane.grp" + "c.AggSpec.AggSpecUniqueH\000\022R\n\014weighted_av" + "g\030\025 \001(\0132:.io.deephaven.proto.backplane.g" + "rpc.AggSpec.AggSpecWeightedH\000\022R\n\014weighte" + "d_sum\030\026 \001(\0132:.io.deephaven.proto.backpla" + "ne.grpc.AggSpec.AggSpecWeightedH\000\022D\n\003var" + "\030\027 \001(\01325.io.deephaven.proto.backplane.gr" + "pc.AggSpec.AggSpecVarH\000\032\\\n\034AggSpecApprox" + "imatePercentile\022\022\n\npercentile\030\001 \001(\001\022\030\n\013c" + "ompression\030\002 \001(\001H\000\210\001\001B\016\n\014_compression\032+\n" + "\024AggSpecCountDistinct\022\023\n\013count_nulls\030\001 \001" + "(\010\032(\n\017AggSpecDistinct\022\025\n\rinclude_nulls\030\001" + " \001(\010\0326\n\016AggSpecFormula\022\017\n\007formula\030\001 \001(\t\022" + "\023\n\013param_token\030\002 \001(\t\032/\n\rAggSpecMedian\022\036\n" + "\026average_evenly_divided\030\001 \001(\010\032G\n\021AggSpec" + "Percentile\022\022\n\npercentile\030\001 \001(\001\022\036\n\026averag" + "e_evenly_divided\030\002 \001(\010\032`\n\rAggSpecSorted\022" + "O\n\007columns\030\001 \003(\0132>.io.deephaven.proto.ba" + "ckplane.grpc.AggSpec.AggSpecSortedColumn" + "\032*\n\023AggSpecSortedColumn\022\023\n\013column_name\030\001" + " \001(\t\032:\n\016AggSpecTDigest\022\030\n\013compression\030\001 " + "\001(\001H\000\210\001\001B\016\n\014_compression\032\210\001\n\rAggSpecUniq" + "ue\022\025\n\rinclude_nulls\030\001 \001(\010\022`\n\023non_unique_" + "sentinel\030\002 \001(\0132C.io.deephaven.proto.back" + "plane.grpc.AggSpec.AggSpecNonUniqueSenti" + "nel\032\265\002\n\030AggSpecNonUniqueSentinel\022B\n\nnull" + "_value\030\001 \001(\0162,.io.deephaven.proto.backpl" + "ane.grpc.NullValueH\000\022\026\n\014string_value\030\002 \001" + "(\tH\000\022\023\n\tint_value\030\003 \001(\021H\000\022\030\n\nlong_value\030" + "\004 \001(\022B\0020\001H\000\022\025\n\013float_value\030\005 \001(\002H\000\022\026\n\014do" + "uble_value\030\006 \001(\001H\000\022\024\n\nbool_value\030\007 \001(\010H\000" + "\022\024\n\nbyte_value\030\010 \001(\021H\000\022\025\n\013short_value\030\t " + "\001(\021H\000\022\024\n\nchar_value\030\n \001(\021H\000B\006\n\004type\032(\n\017A" + "ggSpecWeighted\022\025\n\rweight_column\030\001 \001(\t\032\017\n" + "\rAggSpecAbsSum\032\014\n\nAggSpecAvg\032\016\n\014AggSpecF" + "irst\032\017\n\rAggSpecFreeze\032\016\n\014AggSpecGroup\032\r\n" + "\013AggSpecLast\032\014\n\nAggSpecMax\032\014\n\nAggSpecMin" + "\032\014\n\nAggSpecStd\032\014\n\nAggSpecSum\032\014\n\nAggSpecV" + "arB\006\n\004type\"\334\002\n\020AggregateRequest\022<\n\tresul" + "t_id\030\001 \001(\0132).io.deephaven.proto.backplan" + "e.grpc.Ticket\022D\n\tsource_id\030\002 \001(\01321.io.de" + "ephaven.proto.backplane.grpc.TableRefere" + "nce\022L\n\021initial_groups_id\030\003 \001(\01321.io.deep" + "haven.proto.backplane.grpc.TableReferenc" + "e\022\026\n\016preserve_empty\030\004 \001(\010\022D\n\014aggregation" + "s\030\005 \003(\0132..io.deephaven.proto.backplane.g" + "rpc.Aggregation\022\030\n\020group_by_columns\030\006 \003(" + "\t\"\323\005\n\013Aggregation\022T\n\007columns\030\001 \001(\0132A.io." + "deephaven.proto.backplane.grpc.Aggregati" + "on.AggregationColumnsH\000\022P\n\005count\030\002 \001(\0132\?" + ".io.deephaven.proto.backplane.grpc.Aggre" + "gation.AggregationCountH\000\022Y\n\rfirst_row_k" + "ey\030\003 \001(\0132@.io.deephaven.proto.backplane." + "grpc.Aggregation.AggregationRowKeyH\000\022X\n\014" + "last_row_key\030\004 \001(\0132@.io.deephaven.proto." + "backplane.grpc.Aggregation.AggregationRo" + "wKeyH\000\022X\n\tpartition\030\005 \001(\0132C.io.deephaven" + ".proto.backplane.grpc.Aggregation.Aggreg" + "ationPartitionH\000\032c\n\022AggregationColumns\0228" + "\n\004spec\030\001 \001(\0132*.io.deephaven.proto.backpl" + "ane.grpc.AggSpec\022\023\n\013match_pairs\030\002 \003(\t\032\'\n" + "\020AggregationCount\022\023\n\013column_name\030\001 \001(\t\032(" + "\n\021AggregationRowKey\022\023\n\013column_name\030\001 \001(\t" + "\032M\n\024AggregationPartition\022\023\n\013column_name\030" + "\001 \001(\t\022 \n\030include_group_by_columns\030\002 \001(\010B" + "\006\n\004type\"\341\001\n\016SortDescriptor\022\023\n\013column_nam" + "e\030\001 \001(\t\022\023\n\013is_absolute\030\002 \001(\010\022R\n\tdirectio" + "n\030\003 \001(\0162\?.io.deephaven.proto.backplane.g" + "rpc.SortDescriptor.SortDirection\"Q\n\rSort" + "Direction\022\013\n\007UNKNOWN\020\000\022\027\n\nDESCENDING\020\377\377\377" + "\377\377\377\377\377\377\001\022\r\n\tASCENDING\020\001\022\013\n\007REVERSE\020\002\"\330\001\n\020" + "SortTableRequest\022<\n\tresult_id\030\001 \001(\0132).io" + ".deephaven.proto.backplane.grpc.Ticket\022D" + "\n\tsource_id\030\002 \001(\01321.io.deephaven.proto.b" + "ackplane.grpc.TableReference\022@\n\005sorts\030\003 " + "\003(\01321.io.deephaven.proto.backplane.grpc." + "SortDescriptor\"\327\001\n\022FilterTableRequest\022<\n" "\tresult_id\030\001 \001(\0132).io.deephaven.proto.ba" "ckplane.grpc.Ticket\022D\n\tsource_id\030\002 \001(\01321" ".io.deephaven.proto.backplane.grpc.Table" - "Reference\022V\n\naggregates\030\003 \003(\0132B.io.deeph" - "aven.proto.backplane.grpc.ComboAggregate" - "Request.Aggregate\022\030\n\020group_by_columns\030\004 " - "\003(\t\022\023\n\013force_combo\030\005 \001(\010\032\255\001\n\tAggregate\022N" - "\n\004type\030\001 \001(\0162@.io.deephaven.proto.backpl" - "ane.grpc.ComboAggregateRequest.AggType\022\023" - "\n\013match_pairs\030\002 \003(\t\022\023\n\013column_name\030\003 \001(\t" - "\022\022\n\npercentile\030\004 \001(\001\022\022\n\navg_median\030\005 \001(\010" - "\"\245\001\n\007AggType\022\007\n\003SUM\020\000\022\013\n\007ABS_SUM\020\001\022\t\n\005GR" - "OUP\020\002\022\007\n\003AVG\020\003\022\t\n\005COUNT\020\004\022\t\n\005FIRST\020\005\022\010\n\004" - "LAST\020\006\022\007\n\003MIN\020\007\022\007\n\003MAX\020\010\022\n\n\006MEDIAN\020\t\022\016\n\n" - "PERCENTILE\020\n\022\007\n\003STD\020\013\022\007\n\003VAR\020\014\022\020\n\014WEIGHT" - "ED_AVG\020\r:\002\030\001\"\355\001\n\023AggregateAllRequest\022<\n\t" - "result_id\030\001 \001(\0132).io.deephaven.proto.bac" - "kplane.grpc.Ticket\022D\n\tsource_id\030\002 \001(\01321." - "io.deephaven.proto.backplane.grpc.TableR" - "eference\0228\n\004spec\030\003 \001(\0132*.io.deephaven.pr" - "oto.backplane.grpc.AggSpec\022\030\n\020group_by_c" - "olumns\030\004 \003(\t\"\327\027\n\007AggSpec\022K\n\007abs_sum\030\001 \001(" - "\01328.io.deephaven.proto.backplane.grpc.Ag" - "gSpec.AggSpecAbsSumH\000\022i\n\026approximate_per" - "centile\030\002 \001(\0132G.io.deephaven.proto.backp" - "lane.grpc.AggSpec.AggSpecApproximatePerc" - "entileH\000\022D\n\003avg\030\003 \001(\01325.io.deephaven.pro" - "to.backplane.grpc.AggSpec.AggSpecAvgH\000\022Y" - "\n\016count_distinct\030\004 \001(\0132\?.io.deephaven.pr" - "oto.backplane.grpc.AggSpec.AggSpecCountD" - "istinctH\000\022N\n\010distinct\030\005 \001(\0132:.io.deephav" - "en.proto.backplane.grpc.AggSpec.AggSpecD" - "istinctH\000\022H\n\005first\030\006 \001(\01327.io.deephaven." - "proto.backplane.grpc.AggSpec.AggSpecFirs" - "tH\000\022L\n\007formula\030\007 \001(\01329.io.deephaven.prot" - "o.backplane.grpc.AggSpec.AggSpecFormulaH" - "\000\022J\n\006freeze\030\010 \001(\01328.io.deephaven.proto.b" - "ackplane.grpc.AggSpec.AggSpecFreezeH\000\022H\n" - "\005group\030\t \001(\01327.io.deephaven.proto.backpl" - "ane.grpc.AggSpec.AggSpecGroupH\000\022F\n\004last\030" - "\n \001(\01326.io.deephaven.proto.backplane.grp" - "c.AggSpec.AggSpecLastH\000\022D\n\003max\030\013 \001(\01325.i" - "o.deephaven.proto.backplane.grpc.AggSpec" - ".AggSpecMaxH\000\022J\n\006median\030\014 \001(\01328.io.deeph" - "aven.proto.backplane.grpc.AggSpec.AggSpe" - "cMedianH\000\022D\n\003min\030\r \001(\01325.io.deephaven.pr" - "oto.backplane.grpc.AggSpec.AggSpecMinH\000\022" - "R\n\npercentile\030\016 \001(\0132<.io.deephaven.proto" - ".backplane.grpc.AggSpec.AggSpecPercentil" - "eH\000\022P\n\014sorted_first\030\017 \001(\01328.io.deephaven" - ".proto.backplane.grpc.AggSpec.AggSpecSor" - "tedH\000\022O\n\013sorted_last\030\020 \001(\01328.io.deephave" - "n.proto.backplane.grpc.AggSpec.AggSpecSo" - "rtedH\000\022D\n\003std\030\021 \001(\01325.io.deephaven.proto" - ".backplane.grpc.AggSpec.AggSpecStdH\000\022D\n\003" - "sum\030\022 \001(\01325.io.deephaven.proto.backplane" - ".grpc.AggSpec.AggSpecSumH\000\022M\n\010t_digest\030\023" - " \001(\01329.io.deephaven.proto.backplane.grpc" - ".AggSpec.AggSpecTDigestH\000\022J\n\006unique\030\024 \001(" - "\01328.io.deephaven.proto.backplane.grpc.Ag" - "gSpec.AggSpecUniqueH\000\022R\n\014weighted_avg\030\025 " - "\001(\0132:.io.deephaven.proto.backplane.grpc." - "AggSpec.AggSpecWeightedH\000\022R\n\014weighted_su" - "m\030\026 \001(\0132:.io.deephaven.proto.backplane.g" - "rpc.AggSpec.AggSpecWeightedH\000\022D\n\003var\030\027 \001" - "(\01325.io.deephaven.proto.backplane.grpc.A" - "ggSpec.AggSpecVarH\000\032\\\n\034AggSpecApproximat" - "ePercentile\022\022\n\npercentile\030\001 \001(\001\022\030\n\013compr" - "ession\030\002 \001(\001H\000\210\001\001B\016\n\014_compression\032+\n\024Agg" - "SpecCountDistinct\022\023\n\013count_nulls\030\001 \001(\010\032(" - "\n\017AggSpecDistinct\022\025\n\rinclude_nulls\030\001 \001(\010" - "\0326\n\016AggSpecFormula\022\017\n\007formula\030\001 \001(\t\022\023\n\013p" - "aram_token\030\002 \001(\t\032/\n\rAggSpecMedian\022\036\n\026ave" - "rage_evenly_divided\030\001 \001(\010\032G\n\021AggSpecPerc" - "entile\022\022\n\npercentile\030\001 \001(\001\022\036\n\026average_ev" - "enly_divided\030\002 \001(\010\032`\n\rAggSpecSorted\022O\n\007c" - "olumns\030\001 \003(\0132>.io.deephaven.proto.backpl" - "ane.grpc.AggSpec.AggSpecSortedColumn\032*\n\023" - "AggSpecSortedColumn\022\023\n\013column_name\030\001 \001(\t" - "\032:\n\016AggSpecTDigest\022\030\n\013compression\030\001 \001(\001H" - "\000\210\001\001B\016\n\014_compression\032\210\001\n\rAggSpecUnique\022\025" - "\n\rinclude_nulls\030\001 \001(\010\022`\n\023non_unique_sent" - "inel\030\002 \001(\0132C.io.deephaven.proto.backplan" - "e.grpc.AggSpec.AggSpecNonUniqueSentinel\032" - "\265\002\n\030AggSpecNonUniqueSentinel\022B\n\nnull_val" - "ue\030\001 \001(\0162,.io.deephaven.proto.backplane." - "grpc.NullValueH\000\022\026\n\014string_value\030\002 \001(\tH\000" - "\022\023\n\tint_value\030\003 \001(\021H\000\022\030\n\nlong_value\030\004 \001(" - "\022B\0020\001H\000\022\025\n\013float_value\030\005 \001(\002H\000\022\026\n\014double" - "_value\030\006 \001(\001H\000\022\024\n\nbool_value\030\007 \001(\010H\000\022\024\n\n" - "byte_value\030\010 \001(\021H\000\022\025\n\013short_value\030\t \001(\021H" - "\000\022\024\n\nchar_value\030\n \001(\021H\000B\006\n\004type\032(\n\017AggSp" - "ecWeighted\022\025\n\rweight_column\030\001 \001(\t\032\017\n\rAgg" - "SpecAbsSum\032\014\n\nAggSpecAvg\032\016\n\014AggSpecFirst" - "\032\017\n\rAggSpecFreeze\032\016\n\014AggSpecGroup\032\r\n\013Agg" - "SpecLast\032\014\n\nAggSpecMax\032\014\n\nAggSpecMin\032\014\n\n" - "AggSpecStd\032\014\n\nAggSpecSum\032\014\n\nAggSpecVarB\006" - "\n\004type\"\334\002\n\020AggregateRequest\022<\n\tresult_id" - "\030\001 \001(\0132).io.deephaven.proto.backplane.gr" - "pc.Ticket\022D\n\tsource_id\030\002 \001(\01321.io.deepha" - "ven.proto.backplane.grpc.TableReference\022" - "L\n\021initial_groups_id\030\003 \001(\01321.io.deephave" - "n.proto.backplane.grpc.TableReference\022\026\n" - "\016preserve_empty\030\004 \001(\010\022D\n\014aggregations\030\005 " - "\003(\0132..io.deephaven.proto.backplane.grpc." - "Aggregation\022\030\n\020group_by_columns\030\006 \003(\t\"\323\005" - "\n\013Aggregation\022T\n\007columns\030\001 \001(\0132A.io.deep" - "haven.proto.backplane.grpc.Aggregation.A" - "ggregationColumnsH\000\022P\n\005count\030\002 \001(\0132\?.io." - "deephaven.proto.backplane.grpc.Aggregati" - "on.AggregationCountH\000\022Y\n\rfirst_row_key\030\003" - " \001(\0132@.io.deephaven.proto.backplane.grpc" - ".Aggregation.AggregationRowKeyH\000\022X\n\014last" - "_row_key\030\004 \001(\0132@.io.deephaven.proto.back" - "plane.grpc.Aggregation.AggregationRowKey" - "H\000\022X\n\tpartition\030\005 \001(\0132C.io.deephaven.pro" - "to.backplane.grpc.Aggregation.Aggregatio" - "nPartitionH\000\032c\n\022AggregationColumns\0228\n\004sp" - "ec\030\001 \001(\0132*.io.deephaven.proto.backplane." - "grpc.AggSpec\022\023\n\013match_pairs\030\002 \003(\t\032\'\n\020Agg" - "regationCount\022\023\n\013column_name\030\001 \001(\t\032(\n\021Ag" - "gregationRowKey\022\023\n\013column_name\030\001 \001(\t\032M\n\024" - "AggregationPartition\022\023\n\013column_name\030\001 \001(" - "\t\022 \n\030include_group_by_columns\030\002 \001(\010B\006\n\004t" - "ype\"\341\001\n\016SortDescriptor\022\023\n\013column_name\030\001 " - "\001(\t\022\023\n\013is_absolute\030\002 \001(\010\022R\n\tdirection\030\003 " - "\001(\0162\?.io.deephaven.proto.backplane.grpc." - "SortDescriptor.SortDirection\"Q\n\rSortDire" - "ction\022\013\n\007UNKNOWN\020\000\022\027\n\nDESCENDING\020\377\377\377\377\377\377\377" - "\377\377\001\022\r\n\tASCENDING\020\001\022\013\n\007REVERSE\020\002\"\330\001\n\020Sort" - "TableRequest\022<\n\tresult_id\030\001 \001(\0132).io.dee" - "phaven.proto.backplane.grpc.Ticket\022D\n\tso" - "urce_id\030\002 \001(\01321.io.deephaven.proto.backp" - "lane.grpc.TableReference\022@\n\005sorts\030\003 \003(\0132" - "1.io.deephaven.proto.backplane.grpc.Sort" - "Descriptor\"\327\001\n\022FilterTableRequest\022<\n\tres" - "ult_id\030\001 \001(\0132).io.deephaven.proto.backpl" - "ane.grpc.Ticket\022D\n\tsource_id\030\002 \001(\01321.io." - "deephaven.proto.backplane.grpc.TableRefe" - "rence\022=\n\007filters\030\003 \003(\0132,.io.deephaven.pr" - "oto.backplane.grpc.Condition\"\371\001\n\016SeekRow" - "Request\022<\n\tsource_id\030\001 \001(\0132).io.deephave" - "n.proto.backplane.grpc.Ticket\022\030\n\014startin" - "g_row\030\002 \001(\022B\0020\001\022\023\n\013column_name\030\003 \001(\t\022>\n\n" - "seek_value\030\004 \001(\0132*.io.deephaven.proto.ba" - "ckplane.grpc.Literal\022\023\n\013insensitive\030\005 \001(" - "\010\022\020\n\010contains\030\006 \001(\010\022\023\n\013is_backward\030\007 \001(\010" - "\")\n\017SeekRowResponse\022\026\n\nresult_row\030\001 \001(\022B" - "\0020\001\" \n\tReference\022\023\n\013column_name\030\001 \001(\t\"\221\001" - "\n\007Literal\022\026\n\014string_value\030\001 \001(\tH\000\022\026\n\014dou" - "ble_value\030\002 \001(\001H\000\022\024\n\nbool_value\030\003 \001(\010H\000\022" - "\030\n\nlong_value\030\004 \001(\022B\0020\001H\000\022\035\n\017nano_time_v" - "alue\030\005 \001(\022B\0020\001H\000B\007\n\005value\"\221\001\n\005Value\022A\n\tr" - "eference\030\001 \001(\0132,.io.deephaven.proto.back" - "plane.grpc.ReferenceH\000\022=\n\007literal\030\002 \001(\0132" - "*.io.deephaven.proto.backplane.grpc.Lite" - "ralH\000B\006\n\004data\"\274\005\n\tCondition\022>\n\003and\030\001 \001(\013" - "2/.io.deephaven.proto.backplane.grpc.And" - "ConditionH\000\022<\n\002or\030\002 \001(\0132..io.deephaven.p" - "roto.backplane.grpc.OrConditionH\000\022>\n\003not" - "\030\003 \001(\0132/.io.deephaven.proto.backplane.gr" - "pc.NotConditionH\000\022F\n\007compare\030\004 \001(\01323.io." - "deephaven.proto.backplane.grpc.CompareCo" - "nditionH\000\022<\n\002in\030\005 \001(\0132..io.deephaven.pro" - "to.backplane.grpc.InConditionH\000\022D\n\006invok" - "e\030\006 \001(\01322.io.deephaven.proto.backplane.g" - "rpc.InvokeConditionH\000\022E\n\007is_null\030\007 \001(\01322" - ".io.deephaven.proto.backplane.grpc.IsNul" - "lConditionH\000\022F\n\007matches\030\010 \001(\01323.io.deeph" - "aven.proto.backplane.grpc.MatchesConditi" - "onH\000\022H\n\010contains\030\t \001(\01324.io.deephaven.pr" - "oto.backplane.grpc.ContainsConditionH\000\022D" - "\n\006search\030\n \001(\01322.io.deephaven.proto.back" - "plane.grpc.SearchConditionH\000B\006\n\004data\"M\n\014" - "AndCondition\022=\n\007filters\030\001 \003(\0132,.io.deeph" - "aven.proto.backplane.grpc.Condition\"L\n\013O" - "rCondition\022=\n\007filters\030\001 \003(\0132,.io.deephav" - "en.proto.backplane.grpc.Condition\"L\n\014Not" - "Condition\022<\n\006filter\030\001 \001(\0132,.io.deephaven" - ".proto.backplane.grpc.Condition\"\254\003\n\020Comp" - "areCondition\022W\n\toperation\030\001 \001(\0162D.io.dee" - "phaven.proto.backplane.grpc.CompareCondi" - "tion.CompareOperation\022L\n\020case_sensitivit" - "y\030\002 \001(\01622.io.deephaven.proto.backplane.g" - "rpc.CaseSensitivity\0225\n\003lhs\030\003 \001(\0132(.io.de" - "ephaven.proto.backplane.grpc.Value\0225\n\003rh" - "s\030\004 \001(\0132(.io.deephaven.proto.backplane.g" - "rpc.Value\"\202\001\n\020CompareOperation\022\r\n\tLESS_T" - "HAN\020\000\022\026\n\022LESS_THAN_OR_EQUAL\020\001\022\020\n\014GREATER" - "_THAN\020\002\022\031\n\025GREATER_THAN_OR_EQUAL\020\003\022\n\n\006EQ" - "UALS\020\004\022\016\n\nNOT_EQUALS\020\005\"\225\002\n\013InCondition\0228" - "\n\006target\030\001 \001(\0132(.io.deephaven.proto.back" - "plane.grpc.Value\022<\n\ncandidates\030\002 \003(\0132(.i" - "o.deephaven.proto.backplane.grpc.Value\022L" - "\n\020case_sensitivity\030\003 \001(\01622.io.deephaven." - "proto.backplane.grpc.CaseSensitivity\022@\n\n" - "match_type\030\004 \001(\0162,.io.deephaven.proto.ba" - "ckplane.grpc.MatchType\"\230\001\n\017InvokeConditi" - "on\022\016\n\006method\030\001 \001(\t\0228\n\006target\030\002 \001(\0132(.io." - "deephaven.proto.backplane.grpc.Value\022;\n\t" - "arguments\030\003 \003(\0132(.io.deephaven.proto.bac" - "kplane.grpc.Value\"R\n\017IsNullCondition\022\?\n\t" - "reference\030\001 \001(\0132,.io.deephaven.proto.bac" - "kplane.grpc.Reference\"\362\001\n\020MatchesConditi" - "on\022\?\n\treference\030\001 \001(\0132,.io.deephaven.pro" - "to.backplane.grpc.Reference\022\r\n\005regex\030\002 \001" - "(\t\022L\n\020case_sensitivity\030\003 \001(\01622.io.deepha" + "Reference\022=\n\007filters\030\003 \003(\0132,.io.deephave" + "n.proto.backplane.grpc.Condition\"\371\001\n\016See" + "kRowRequest\022<\n\tsource_id\030\001 \001(\0132).io.deep" + "haven.proto.backplane.grpc.Ticket\022\030\n\014sta" + "rting_row\030\002 \001(\022B\0020\001\022\023\n\013column_name\030\003 \001(\t" + "\022>\n\nseek_value\030\004 \001(\0132*.io.deephaven.prot" + "o.backplane.grpc.Literal\022\023\n\013insensitive\030" + "\005 \001(\010\022\020\n\010contains\030\006 \001(\010\022\023\n\013is_backward\030\007" + " \001(\010\")\n\017SeekRowResponse\022\026\n\nresult_row\030\001 " + "\001(\022B\0020\001\" \n\tReference\022\023\n\013column_name\030\001 \001(" + "\t\"\221\001\n\007Literal\022\026\n\014string_value\030\001 \001(\tH\000\022\026\n" + "\014double_value\030\002 \001(\001H\000\022\024\n\nbool_value\030\003 \001(" + "\010H\000\022\030\n\nlong_value\030\004 \001(\022B\0020\001H\000\022\035\n\017nano_ti" + "me_value\030\005 \001(\022B\0020\001H\000B\007\n\005value\"\221\001\n\005Value\022" + "A\n\treference\030\001 \001(\0132,.io.deephaven.proto." + "backplane.grpc.ReferenceH\000\022=\n\007literal\030\002 " + "\001(\0132*.io.deephaven.proto.backplane.grpc." + "LiteralH\000B\006\n\004data\"\274\005\n\tCondition\022>\n\003and\030\001" + " \001(\0132/.io.deephaven.proto.backplane.grpc" + ".AndConditionH\000\022<\n\002or\030\002 \001(\0132..io.deephav" + "en.proto.backplane.grpc.OrConditionH\000\022>\n" + "\003not\030\003 \001(\0132/.io.deephaven.proto.backplan" + "e.grpc.NotConditionH\000\022F\n\007compare\030\004 \001(\01323" + ".io.deephaven.proto.backplane.grpc.Compa" + "reConditionH\000\022<\n\002in\030\005 \001(\0132..io.deephaven" + ".proto.backplane.grpc.InConditionH\000\022D\n\006i" + "nvoke\030\006 \001(\01322.io.deephaven.proto.backpla" + "ne.grpc.InvokeConditionH\000\022E\n\007is_null\030\007 \001" + "(\01322.io.deephaven.proto.backplane.grpc.I" + "sNullConditionH\000\022F\n\007matches\030\010 \001(\01323.io.d" + "eephaven.proto.backplane.grpc.MatchesCon" + "ditionH\000\022H\n\010contains\030\t \001(\01324.io.deephave" + "n.proto.backplane.grpc.ContainsCondition" + "H\000\022D\n\006search\030\n \001(\01322.io.deephaven.proto." + "backplane.grpc.SearchConditionH\000B\006\n\004data" + "\"M\n\014AndCondition\022=\n\007filters\030\001 \003(\0132,.io.d" + "eephaven.proto.backplane.grpc.Condition\"" + "L\n\013OrCondition\022=\n\007filters\030\001 \003(\0132,.io.dee" + "phaven.proto.backplane.grpc.Condition\"L\n" + "\014NotCondition\022<\n\006filter\030\001 \001(\0132,.io.deeph" + "aven.proto.backplane.grpc.Condition\"\254\003\n\020" + "CompareCondition\022W\n\toperation\030\001 \001(\0162D.io" + ".deephaven.proto.backplane.grpc.CompareC" + "ondition.CompareOperation\022L\n\020case_sensit" + "ivity\030\002 \001(\01622.io.deephaven.proto.backpla" + "ne.grpc.CaseSensitivity\0225\n\003lhs\030\003 \001(\0132(.i" + "o.deephaven.proto.backplane.grpc.Value\0225" + "\n\003rhs\030\004 \001(\0132(.io.deephaven.proto.backpla" + "ne.grpc.Value\"\202\001\n\020CompareOperation\022\r\n\tLE" + "SS_THAN\020\000\022\026\n\022LESS_THAN_OR_EQUAL\020\001\022\020\n\014GRE" + "ATER_THAN\020\002\022\031\n\025GREATER_THAN_OR_EQUAL\020\003\022\n" + "\n\006EQUALS\020\004\022\016\n\nNOT_EQUALS\020\005\"\225\002\n\013InConditi" + "on\0228\n\006target\030\001 \001(\0132(.io.deephaven.proto." + "backplane.grpc.Value\022<\n\ncandidates\030\002 \003(\013" + "2(.io.deephaven.proto.backplane.grpc.Val" + "ue\022L\n\020case_sensitivity\030\003 \001(\01622.io.deepha" "ven.proto.backplane.grpc.CaseSensitivity" "\022@\n\nmatch_type\030\004 \001(\0162,.io.deephaven.prot" - "o.backplane.grpc.MatchType\"\373\001\n\021ContainsC" - "ondition\022\?\n\treference\030\001 \001(\0132,.io.deephav" - "en.proto.backplane.grpc.Reference\022\025\n\rsea" - "rch_string\030\002 \001(\t\022L\n\020case_sensitivity\030\003 \001" - "(\01622.io.deephaven.proto.backplane.grpc.C" - "aseSensitivity\022@\n\nmatch_type\030\004 \001(\0162,.io." - "deephaven.proto.backplane.grpc.MatchType" - "\"s\n\017SearchCondition\022\025\n\rsearch_string\030\001 \001" - "(\t\022I\n\023optional_references\030\002 \003(\0132,.io.dee" - "phaven.proto.backplane.grpc.Reference\"\224\001" - "\n\016FlattenRequest\022<\n\tresult_id\030\001 \001(\0132).io" - ".deephaven.proto.backplane.grpc.Ticket\022D" - "\n\tsource_id\030\002 \001(\01321.io.deephaven.proto.b" - "ackplane.grpc.TableReference\"\226\001\n\020MetaTab" - "leRequest\022<\n\tresult_id\030\001 \001(\0132).io.deepha" - "ven.proto.backplane.grpc.Ticket\022D\n\tsourc" - "e_id\030\002 \001(\01321.io.deephaven.proto.backplan" - "e.grpc.TableReference\"\264\003\n\031RunChartDownsa" - "mpleRequest\022<\n\tresult_id\030\001 \001(\0132).io.deep" - "haven.proto.backplane.grpc.Ticket\022D\n\tsou" - "rce_id\030\002 \001(\01321.io.deephaven.proto.backpl" - "ane.grpc.TableReference\022\023\n\013pixel_count\030\003" - " \001(\005\022Z\n\nzoom_range\030\004 \001(\0132F.io.deephaven." - "proto.backplane.grpc.RunChartDownsampleR" - "equest.ZoomRange\022\025\n\rx_column_name\030\005 \001(\t\022" - "\026\n\016y_column_names\030\006 \003(\t\032s\n\tZoomRange\022\037\n\016" - "min_date_nanos\030\001 \001(\003B\0020\001H\000\210\001\001\022\037\n\016max_dat" - "e_nanos\030\002 \001(\003B\0020\001H\001\210\001\001B\021\n\017_min_date_nano" - "sB\021\n\017_max_date_nanos\"\365\004\n\027CreateInputTabl" - "eRequest\022<\n\tresult_id\030\001 \001(\0132).io.deephav" - "en.proto.backplane.grpc.Ticket\022L\n\017source" - "_table_id\030\002 \001(\01321.io.deephaven.proto.bac" - "kplane.grpc.TableReferenceH\000\022\020\n\006schema\030\003" - " \001(\014H\000\022W\n\004kind\030\004 \001(\0132I.io.deephaven.prot" - "o.backplane.grpc.CreateInputTableRequest" - ".InputTableKind\032\324\002\n\016InputTableKind\022}\n\025in" - "_memory_append_only\030\001 \001(\0132\\.io.deephaven" - ".proto.backplane.grpc.CreateInputTableRe" - "quest.InputTableKind.InMemoryAppendOnlyH" - "\000\022{\n\024in_memory_key_backed\030\002 \001(\0132[.io.dee" - "phaven.proto.backplane.grpc.CreateInputT" - "ableRequest.InputTableKind.InMemoryKeyBa" - "ckedH\000\032\024\n\022InMemoryAppendOnly\032(\n\021InMemory" - "KeyBacked\022\023\n\013key_columns\030\001 \003(\tB\006\n\004kindB\014" - "\n\ndefinition\"\203\002\n\016WhereInRequest\022<\n\tresul" - "t_id\030\001 \001(\0132).io.deephaven.proto.backplan" - "e.grpc.Ticket\022B\n\007left_id\030\002 \001(\01321.io.deep" - "haven.proto.backplane.grpc.TableReferenc" - "e\022C\n\010right_id\030\003 \001(\01321.io.deephaven.proto" - ".backplane.grpc.TableReference\022\020\n\010invert" - "ed\030\004 \001(\010\022\030\n\020columns_to_match\030\005 \003(\t\"\340\027\n\021B" - "atchTableRequest\022K\n\003ops\030\001 \003(\0132>.io.deeph" - "aven.proto.backplane.grpc.BatchTableRequ" - "est.Operation\032\375\026\n\tOperation\022K\n\013empty_tab" - "le\030\001 \001(\01324.io.deephaven.proto.backplane." - "grpc.EmptyTableRequestH\000\022I\n\ntime_table\030\002" - " \001(\01323.io.deephaven.proto.backplane.grpc" - ".TimeTableRequestH\000\022M\n\014drop_columns\030\003 \001(" - "\01325.io.deephaven.proto.backplane.grpc.Dr" - "opColumnsRequestH\000\022J\n\006update\030\004 \001(\01328.io." + "o.backplane.grpc.MatchType\"\230\001\n\017InvokeCon" + "dition\022\016\n\006method\030\001 \001(\t\0228\n\006target\030\002 \001(\0132(" + ".io.deephaven.proto.backplane.grpc.Value" + "\022;\n\targuments\030\003 \003(\0132(.io.deephaven.proto" + ".backplane.grpc.Value\"R\n\017IsNullCondition" + "\022\?\n\treference\030\001 \001(\0132,.io.deephaven.proto" + ".backplane.grpc.Reference\"\362\001\n\020MatchesCon" + "dition\022\?\n\treference\030\001 \001(\0132,.io.deephaven" + ".proto.backplane.grpc.Reference\022\r\n\005regex" + "\030\002 \001(\t\022L\n\020case_sensitivity\030\003 \001(\01622.io.de" + "ephaven.proto.backplane.grpc.CaseSensiti" + "vity\022@\n\nmatch_type\030\004 \001(\0162,.io.deephaven." + "proto.backplane.grpc.MatchType\"\373\001\n\021Conta" + "insCondition\022\?\n\treference\030\001 \001(\0132,.io.dee" + "phaven.proto.backplane.grpc.Reference\022\025\n" + "\rsearch_string\030\002 \001(\t\022L\n\020case_sensitivity" + "\030\003 \001(\01622.io.deephaven.proto.backplane.gr" + "pc.CaseSensitivity\022@\n\nmatch_type\030\004 \001(\0162," + ".io.deephaven.proto.backplane.grpc.Match" + "Type\"s\n\017SearchCondition\022\025\n\rsearch_string" + "\030\001 \001(\t\022I\n\023optional_references\030\002 \003(\0132,.io" + ".deephaven.proto.backplane.grpc.Referenc" + "e\"\224\001\n\016FlattenRequest\022<\n\tresult_id\030\001 \001(\0132" + ").io.deephaven.proto.backplane.grpc.Tick" + "et\022D\n\tsource_id\030\002 \001(\01321.io.deephaven.pro" + "to.backplane.grpc.TableReference\"\226\001\n\020Met" + "aTableRequest\022<\n\tresult_id\030\001 \001(\0132).io.de" + "ephaven.proto.backplane.grpc.Ticket\022D\n\ts" + "ource_id\030\002 \001(\01321.io.deephaven.proto.back" + "plane.grpc.TableReference\"\264\003\n\031RunChartDo" + "wnsampleRequest\022<\n\tresult_id\030\001 \001(\0132).io." + "deephaven.proto.backplane.grpc.Ticket\022D\n" + "\tsource_id\030\002 \001(\01321.io.deephaven.proto.ba" + "ckplane.grpc.TableReference\022\023\n\013pixel_cou" + "nt\030\003 \001(\005\022Z\n\nzoom_range\030\004 \001(\0132F.io.deepha" + "ven.proto.backplane.grpc.RunChartDownsam" + "pleRequest.ZoomRange\022\025\n\rx_column_name\030\005 " + "\001(\t\022\026\n\016y_column_names\030\006 \003(\t\032s\n\tZoomRange" + "\022\037\n\016min_date_nanos\030\001 \001(\003B\0020\001H\000\210\001\001\022\037\n\016max" + "_date_nanos\030\002 \001(\003B\0020\001H\001\210\001\001B\021\n\017_min_date_" + "nanosB\021\n\017_max_date_nanos\"\365\004\n\027CreateInput" + "TableRequest\022<\n\tresult_id\030\001 \001(\0132).io.dee" + "phaven.proto.backplane.grpc.Ticket\022L\n\017so" + "urce_table_id\030\002 \001(\01321.io.deephaven.proto" + ".backplane.grpc.TableReferenceH\000\022\020\n\006sche" + "ma\030\003 \001(\014H\000\022W\n\004kind\030\004 \001(\0132I.io.deephaven." + "proto.backplane.grpc.CreateInputTableReq" + "uest.InputTableKind\032\324\002\n\016InputTableKind\022}" + "\n\025in_memory_append_only\030\001 \001(\0132\\.io.deeph" + "aven.proto.backplane.grpc.CreateInputTab" + "leRequest.InputTableKind.InMemoryAppendO" + "nlyH\000\022{\n\024in_memory_key_backed\030\002 \001(\0132[.io" + ".deephaven.proto.backplane.grpc.CreateIn" + "putTableRequest.InputTableKind.InMemoryK" + "eyBackedH\000\032\024\n\022InMemoryAppendOnly\032(\n\021InMe" + "moryKeyBacked\022\023\n\013key_columns\030\001 \003(\tB\006\n\004ki" + "ndB\014\n\ndefinition\"\203\002\n\016WhereInRequest\022<\n\tr" + "esult_id\030\001 \001(\0132).io.deephaven.proto.back" + "plane.grpc.Ticket\022B\n\007left_id\030\002 \001(\01321.io." + "deephaven.proto.backplane.grpc.TableRefe" + "rence\022C\n\010right_id\030\003 \001(\01321.io.deephaven.p" + "roto.backplane.grpc.TableReference\022\020\n\010in" + "verted\030\004 \001(\010\022\030\n\020columns_to_match\030\005 \003(\t\"\340" + "\027\n\021BatchTableRequest\022K\n\003ops\030\001 \003(\0132>.io.d" + "eephaven.proto.backplane.grpc.BatchTable" + "Request.Operation\032\375\026\n\tOperation\022K\n\013empty" + "_table\030\001 \001(\01324.io.deephaven.proto.backpl" + "ane.grpc.EmptyTableRequestH\000\022I\n\ntime_tab" + "le\030\002 \001(\01323.io.deephaven.proto.backplane." + "grpc.TimeTableRequestH\000\022M\n\014drop_columns\030" + "\003 \001(\01325.io.deephaven.proto.backplane.grp" + "c.DropColumnsRequestH\000\022J\n\006update\030\004 \001(\01328" + ".io.deephaven.proto.backplane.grpc.Selec" + "tOrUpdateRequestH\000\022O\n\013lazy_update\030\005 \001(\0132" + "8.io.deephaven.proto.backplane.grpc.Sele" + "ctOrUpdateRequestH\000\022H\n\004view\030\006 \001(\01328.io.d" + "eephaven.proto.backplane.grpc.SelectOrUp" + "dateRequestH\000\022O\n\013update_view\030\007 \001(\01328.io." "deephaven.proto.backplane.grpc.SelectOrU" - "pdateRequestH\000\022O\n\013lazy_update\030\005 \001(\01328.io" - ".deephaven.proto.backplane.grpc.SelectOr" - "UpdateRequestH\000\022H\n\004view\030\006 \001(\01328.io.deeph" - "aven.proto.backplane.grpc.SelectOrUpdate" - "RequestH\000\022O\n\013update_view\030\007 \001(\01328.io.deep" + "pdateRequestH\000\022J\n\006select\030\010 \001(\01328.io.deep" "haven.proto.backplane.grpc.SelectOrUpdat" - "eRequestH\000\022J\n\006select\030\010 \001(\01328.io.deephave" - "n.proto.backplane.grpc.SelectOrUpdateReq" - "uestH\000\022S\n\017select_distinct\030\t \001(\01328.io.dee" - "phaven.proto.backplane.grpc.SelectDistin" - "ctRequestH\000\022G\n\006filter\030\n \001(\01325.io.deephav" - "en.proto.backplane.grpc.FilterTableReque" - "stH\000\022`\n\023unstructured_filter\030\013 \001(\0132A.io.d" - "eephaven.proto.backplane.grpc.Unstructur" - "edFilterTableRequestH\000\022C\n\004sort\030\014 \001(\01323.i" - "o.deephaven.proto.backplane.grpc.SortTab" - "leRequestH\000\022D\n\004head\030\r \001(\01324.io.deephaven" - ".proto.backplane.grpc.HeadOrTailRequestH" - "\000\022D\n\004tail\030\016 \001(\01324.io.deephaven.proto.bac" - "kplane.grpc.HeadOrTailRequestH\000\022I\n\007head_" - "by\030\017 \001(\01326.io.deephaven.proto.backplane." - "grpc.HeadOrTailByRequestH\000\022I\n\007tail_by\030\020 " - "\001(\01326.io.deephaven.proto.backplane.grpc." - "HeadOrTailByRequestH\000\022D\n\007ungroup\030\021 \001(\01321" - ".io.deephaven.proto.backplane.grpc.Ungro" - "upRequestH\000\022F\n\005merge\030\022 \001(\01325.io.deephave" - "n.proto.backplane.grpc.MergeTablesReques" - "tH\000\022S\n\017combo_aggregate\030\023 \001(\01328.io.deepha" - "ven.proto.backplane.grpc.ComboAggregateR" - "equestH\000\022D\n\007flatten\030\025 \001(\01321.io.deephaven" - ".proto.backplane.grpc.FlattenRequestH\000\022\\" - "\n\024run_chart_downsample\030\026 \001(\0132<.io.deepha" - "ven.proto.backplane.grpc.RunChartDownsam" - "pleRequestH\000\022O\n\ncross_join\030\027 \001(\01329.io.de" - "ephaven.proto.backplane.grpc.CrossJoinTa" - "blesRequestH\000\022S\n\014natural_join\030\030 \001(\0132;.io" - ".deephaven.proto.backplane.grpc.NaturalJ" - "oinTablesRequestH\000\022O\n\nexact_join\030\031 \001(\01329" - ".io.deephaven.proto.backplane.grpc.Exact" - "JoinTablesRequestH\000\022M\n\tleft_join\030\032 \001(\01328" - ".io.deephaven.proto.backplane.grpc.LeftJ" - "oinTablesRequestH\000\022N\n\nas_of_join\030\033 \001(\01328" - ".io.deephaven.proto.backplane.grpc.AsOfJ" - "oinTablesRequestH\000\022K\n\013fetch_table\030\034 \001(\0132" - "4.io.deephaven.proto.backplane.grpc.Fetc" - "hTableRequestH\000\022^\n\025apply_preview_columns" - "\030\036 \001(\0132=.io.deephaven.proto.backplane.gr" - "pc.ApplyPreviewColumnsRequestH\000\022X\n\022creat" - "e_input_table\030\037 \001(\0132:.io.deephaven.proto" - ".backplane.grpc.CreateInputTableRequestH" - "\000\022G\n\tupdate_by\030 \001(\01322.io.deephaven.prot" - "o.backplane.grpc.UpdateByRequestH\000\022E\n\010wh" - "ere_in\030! \001(\01321.io.deephaven.proto.backpl" - "ane.grpc.WhereInRequestH\000\022O\n\raggregate_a" - "ll\030\" \001(\01326.io.deephaven.proto.backplane." - "grpc.AggregateAllRequestH\000\022H\n\taggregate\030" - "# \001(\01323.io.deephaven.proto.backplane.grp" - "c.AggregateRequestH\000\022K\n\010snapshot\030$ \001(\01327" - ".io.deephaven.proto.backplane.grpc.Snaps" - "hotTableRequestH\000\022T\n\rsnapshot_when\030% \001(\013" - "2;.io.deephaven.proto.backplane.grpc.Sna" - "pshotWhenTableRequestH\000\022I\n\nmeta_table\030& " - "\001(\01323.io.deephaven.proto.backplane.grpc." - "MetaTableRequestH\000\022O\n\nrange_join\030\' \001(\01329" - ".io.deephaven.proto.backplane.grpc.Range" - "JoinTablesRequestH\000B\004\n\002opJ\004\010\024\020\025J\004\010\035\020\036*b\n" - "\017BadDataBehavior\022#\n\037BAD_DATA_BEHAVIOR_NO" - "T_SPECIFIED\020\000\022\t\n\005THROW\020\001\022\t\n\005RESET\020\002\022\010\n\004S" - "KIP\020\003\022\n\n\006POISON\020\004*t\n\024UpdateByNullBehavio" - "r\022\037\n\033NULL_BEHAVIOR_NOT_SPECIFIED\020\000\022\022\n\016NU" - "LL_DOMINATES\020\001\022\023\n\017VALUE_DOMINATES\020\002\022\022\n\016Z" - "ERO_DOMINATES\020\003*\033\n\tNullValue\022\016\n\nNULL_VAL" - "UE\020\000*2\n\017CaseSensitivity\022\016\n\nMATCH_CASE\020\000\022" - "\017\n\013IGNORE_CASE\020\001*&\n\tMatchType\022\013\n\007REGULAR" - "\020\000\022\014\n\010INVERTED\020\0012\370,\n\014TableService\022\221\001\n Ge" - "tExportedTableCreationResponse\022).io.deep" - "haven.proto.backplane.grpc.Ticket\032@.io.d" - "eephaven.proto.backplane.grpc.ExportedTa" - "bleCreationResponse\"\000\022\206\001\n\nFetchTable\0224.i" - "o.deephaven.proto.backplane.grpc.FetchTa" - "bleRequest\032@.io.deephaven.proto.backplan" - "e.grpc.ExportedTableCreationResponse\"\000\022\230" - "\001\n\023ApplyPreviewColumns\022=.io.deephaven.pr" - "oto.backplane.grpc.ApplyPreviewColumnsRe" - "quest\032@.io.deephaven.proto.backplane.grp" - "c.ExportedTableCreationResponse\"\000\022\206\001\n\nEm" - "ptyTable\0224.io.deephaven.proto.backplane." - "grpc.EmptyTableRequest\032@.io.deephaven.pr" - "oto.backplane.grpc.ExportedTableCreation" - "Response\"\000\022\204\001\n\tTimeTable\0223.io.deephaven." - "proto.backplane.grpc.TimeTableRequest\032@." + "eRequestH\000\022S\n\017select_distinct\030\t \001(\01328.io" + ".deephaven.proto.backplane.grpc.SelectDi" + "stinctRequestH\000\022G\n\006filter\030\n \001(\01325.io.dee" + "phaven.proto.backplane.grpc.FilterTableR" + "equestH\000\022`\n\023unstructured_filter\030\013 \001(\0132A." + "io.deephaven.proto.backplane.grpc.Unstru" + "cturedFilterTableRequestH\000\022C\n\004sort\030\014 \001(\013" + "23.io.deephaven.proto.backplane.grpc.Sor" + "tTableRequestH\000\022D\n\004head\030\r \001(\01324.io.deeph" + "aven.proto.backplane.grpc.HeadOrTailRequ" + "estH\000\022D\n\004tail\030\016 \001(\01324.io.deephaven.proto" + ".backplane.grpc.HeadOrTailRequestH\000\022I\n\007h" + "ead_by\030\017 \001(\01326.io.deephaven.proto.backpl" + "ane.grpc.HeadOrTailByRequestH\000\022I\n\007tail_b" + "y\030\020 \001(\01326.io.deephaven.proto.backplane.g" + "rpc.HeadOrTailByRequestH\000\022D\n\007ungroup\030\021 \001" + "(\01321.io.deephaven.proto.backplane.grpc.U" + "ngroupRequestH\000\022F\n\005merge\030\022 \001(\01325.io.deep" + "haven.proto.backplane.grpc.MergeTablesRe" + "questH\000\022S\n\017combo_aggregate\030\023 \001(\01328.io.de" + "ephaven.proto.backplane.grpc.ComboAggreg" + "ateRequestH\000\022D\n\007flatten\030\025 \001(\01321.io.deeph" + "aven.proto.backplane.grpc.FlattenRequest" + "H\000\022\\\n\024run_chart_downsample\030\026 \001(\0132<.io.de" + "ephaven.proto.backplane.grpc.RunChartDow" + "nsampleRequestH\000\022O\n\ncross_join\030\027 \001(\01329.i" + "o.deephaven.proto.backplane.grpc.CrossJo" + "inTablesRequestH\000\022S\n\014natural_join\030\030 \001(\0132" + ";.io.deephaven.proto.backplane.grpc.Natu" + "ralJoinTablesRequestH\000\022O\n\nexact_join\030\031 \001" + "(\01329.io.deephaven.proto.backplane.grpc.E" + "xactJoinTablesRequestH\000\022M\n\tleft_join\030\032 \001" + "(\01328.io.deephaven.proto.backplane.grpc.L" + "eftJoinTablesRequestH\000\022N\n\nas_of_join\030\033 \001" + "(\01328.io.deephaven.proto.backplane.grpc.A" + "sOfJoinTablesRequestH\000\022K\n\013fetch_table\030\034 " + "\001(\01324.io.deephaven.proto.backplane.grpc." + "FetchTableRequestH\000\022^\n\025apply_preview_col" + "umns\030\036 \001(\0132=.io.deephaven.proto.backplan" + "e.grpc.ApplyPreviewColumnsRequestH\000\022X\n\022c" + "reate_input_table\030\037 \001(\0132:.io.deephaven.p" + "roto.backplane.grpc.CreateInputTableRequ" + "estH\000\022G\n\tupdate_by\030 \001(\01322.io.deephaven." + "proto.backplane.grpc.UpdateByRequestH\000\022E" + "\n\010where_in\030! \001(\01321.io.deephaven.proto.ba" + "ckplane.grpc.WhereInRequestH\000\022O\n\raggrega" + "te_all\030\" \001(\01326.io.deephaven.proto.backpl" + "ane.grpc.AggregateAllRequestH\000\022H\n\taggreg" + "ate\030# \001(\01323.io.deephaven.proto.backplane" + ".grpc.AggregateRequestH\000\022K\n\010snapshot\030$ \001" + "(\01327.io.deephaven.proto.backplane.grpc.S" + "napshotTableRequestH\000\022T\n\rsnapshot_when\030%" + " \001(\0132;.io.deephaven.proto.backplane.grpc" + ".SnapshotWhenTableRequestH\000\022I\n\nmeta_tabl" + "e\030& \001(\01323.io.deephaven.proto.backplane.g" + "rpc.MetaTableRequestH\000\022O\n\nrange_join\030\' \001" + "(\01329.io.deephaven.proto.backplane.grpc.R" + "angeJoinTablesRequestH\000B\004\n\002opJ\004\010\024\020\025J\004\010\035\020" + "\036*b\n\017BadDataBehavior\022#\n\037BAD_DATA_BEHAVIO" + "R_NOT_SPECIFIED\020\000\022\t\n\005THROW\020\001\022\t\n\005RESET\020\002\022" + "\010\n\004SKIP\020\003\022\n\n\006POISON\020\004*t\n\024UpdateByNullBeh" + "avior\022\037\n\033NULL_BEHAVIOR_NOT_SPECIFIED\020\000\022\022" + "\n\016NULL_DOMINATES\020\001\022\023\n\017VALUE_DOMINATES\020\002\022" + "\022\n\016ZERO_DOMINATES\020\003*\033\n\tNullValue\022\016\n\nNULL" + "_VALUE\020\000*2\n\017CaseSensitivity\022\016\n\nMATCH_CAS" + "E\020\000\022\017\n\013IGNORE_CASE\020\001*&\n\tMatchType\022\013\n\007REG" + "ULAR\020\000\022\014\n\010INVERTED\020\0012\370,\n\014TableService\022\221\001" + "\n GetExportedTableCreationResponse\022).io." + "deephaven.proto.backplane.grpc.Ticket\032@." "io.deephaven.proto.backplane.grpc.Export" - "edTableCreationResponse\"\000\022\210\001\n\013DropColumn" - "s\0225.io.deephaven.proto.backplane.grpc.Dr" - "opColumnsRequest\032@.io.deephaven.proto.ba" - "ckplane.grpc.ExportedTableCreationRespon" - "se\"\000\022\206\001\n\006Update\0228.io.deephaven.proto.bac" + "edTableCreationResponse\"\000\022\206\001\n\nFetchTable" + "\0224.io.deephaven.proto.backplane.grpc.Fet" + "chTableRequest\032@.io.deephaven.proto.back" + "plane.grpc.ExportedTableCreationResponse" + "\"\000\022\230\001\n\023ApplyPreviewColumns\022=.io.deephave" + "n.proto.backplane.grpc.ApplyPreviewColum" + "nsRequest\032@.io.deephaven.proto.backplane" + ".grpc.ExportedTableCreationResponse\"\000\022\206\001" + "\n\nEmptyTable\0224.io.deephaven.proto.backpl" + "ane.grpc.EmptyTableRequest\032@.io.deephave" + "n.proto.backplane.grpc.ExportedTableCrea" + "tionResponse\"\000\022\204\001\n\tTimeTable\0223.io.deepha" + "ven.proto.backplane.grpc.TimeTableReques" + "t\032@.io.deephaven.proto.backplane.grpc.Ex" + "portedTableCreationResponse\"\000\022\210\001\n\013DropCo" + "lumns\0225.io.deephaven.proto.backplane.grp" + "c.DropColumnsRequest\032@.io.deephaven.prot" + "o.backplane.grpc.ExportedTableCreationRe" + "sponse\"\000\022\206\001\n\006Update\0228.io.deephaven.proto" + ".backplane.grpc.SelectOrUpdateRequest\032@." + "io.deephaven.proto.backplane.grpc.Export" + "edTableCreationResponse\"\000\022\212\001\n\nLazyUpdate" + "\0228.io.deephaven.proto.backplane.grpc.Sel" + "ectOrUpdateRequest\032@.io.deephaven.proto." + "backplane.grpc.ExportedTableCreationResp" + "onse\"\000\022\204\001\n\004View\0228.io.deephaven.proto.bac" "kplane.grpc.SelectOrUpdateRequest\032@.io.d" "eephaven.proto.backplane.grpc.ExportedTa" - "bleCreationResponse\"\000\022\212\001\n\nLazyUpdate\0228.i" + "bleCreationResponse\"\000\022\212\001\n\nUpdateView\0228.i" "o.deephaven.proto.backplane.grpc.SelectO" "rUpdateRequest\032@.io.deephaven.proto.back" "plane.grpc.ExportedTableCreationResponse" - "\"\000\022\204\001\n\004View\0228.io.deephaven.proto.backpla" - "ne.grpc.SelectOrUpdateRequest\032@.io.deeph" + "\"\000\022\206\001\n\006Select\0228.io.deephaven.proto.backp" + "lane.grpc.SelectOrUpdateRequest\032@.io.dee" + "phaven.proto.backplane.grpc.ExportedTabl" + "eCreationResponse\"\000\022\202\001\n\010UpdateBy\0222.io.de" + "ephaven.proto.backplane.grpc.UpdateByReq" + "uest\032@.io.deephaven.proto.backplane.grpc" + ".ExportedTableCreationResponse\"\000\022\216\001\n\016Sel" + "ectDistinct\0228.io.deephaven.proto.backpla" + "ne.grpc.SelectDistinctRequest\032@.io.deeph" "aven.proto.backplane.grpc.ExportedTableC" - "reationResponse\"\000\022\212\001\n\nUpdateView\0228.io.de" - "ephaven.proto.backplane.grpc.SelectOrUpd" - "ateRequest\032@.io.deephaven.proto.backplan" - "e.grpc.ExportedTableCreationResponse\"\000\022\206" - "\001\n\006Select\0228.io.deephaven.proto.backplane" - ".grpc.SelectOrUpdateRequest\032@.io.deephav" - "en.proto.backplane.grpc.ExportedTableCre" - "ationResponse\"\000\022\202\001\n\010UpdateBy\0222.io.deepha" - "ven.proto.backplane.grpc.UpdateByRequest" - "\032@.io.deephaven.proto.backplane.grpc.Exp" - "ortedTableCreationResponse\"\000\022\216\001\n\016SelectD" - "istinct\0228.io.deephaven.proto.backplane.g" - "rpc.SelectDistinctRequest\032@.io.deephaven" - ".proto.backplane.grpc.ExportedTableCreat" - "ionResponse\"\000\022\203\001\n\006Filter\0225.io.deephaven." - "proto.backplane.grpc.FilterTableRequest\032" - "@.io.deephaven.proto.backplane.grpc.Expo" - "rtedTableCreationResponse\"\000\022\233\001\n\022Unstruct" - "uredFilter\022A.io.deephaven.proto.backplan" - "e.grpc.UnstructuredFilterTableRequest\032@." - "io.deephaven.proto.backplane.grpc.Export" - "edTableCreationResponse\"\000\022\177\n\004Sort\0223.io.d" - "eephaven.proto.backplane.grpc.SortTableR" - "equest\032@.io.deephaven.proto.backplane.gr" - "pc.ExportedTableCreationResponse\"\000\022\200\001\n\004H" - "ead\0224.io.deephaven.proto.backplane.grpc." - "HeadOrTailRequest\032@.io.deephaven.proto.b" - "ackplane.grpc.ExportedTableCreationRespo" - "nse\"\000\022\200\001\n\004Tail\0224.io.deephaven.proto.back" - "plane.grpc.HeadOrTailRequest\032@.io.deepha" - "ven.proto.backplane.grpc.ExportedTableCr" - "eationResponse\"\000\022\204\001\n\006HeadBy\0226.io.deephav" - "en.proto.backplane.grpc.HeadOrTailByRequ" + "reationResponse\"\000\022\203\001\n\006Filter\0225.io.deepha" + "ven.proto.backplane.grpc.FilterTableRequ" "est\032@.io.deephaven.proto.backplane.grpc." - "ExportedTableCreationResponse\"\000\022\204\001\n\006Tail" - "By\0226.io.deephaven.proto.backplane.grpc.H" - "eadOrTailByRequest\032@.io.deephaven.proto." - "backplane.grpc.ExportedTableCreationResp" - "onse\"\000\022\200\001\n\007Ungroup\0221.io.deephaven.proto." - "backplane.grpc.UngroupRequest\032@.io.deeph" - "aven.proto.backplane.grpc.ExportedTableC" - "reationResponse\"\000\022\210\001\n\013MergeTables\0225.io.d" - "eephaven.proto.backplane.grpc.MergeTable" - "sRequest\032@.io.deephaven.proto.backplane." - "grpc.ExportedTableCreationResponse\"\000\022\220\001\n" - "\017CrossJoinTables\0229.io.deephaven.proto.ba" - "ckplane.grpc.CrossJoinTablesRequest\032@.io" - ".deephaven.proto.backplane.grpc.Exported" - "TableCreationResponse\"\000\022\224\001\n\021NaturalJoinT" - "ables\022;.io.deephaven.proto.backplane.grp" - "c.NaturalJoinTablesRequest\032@.io.deephave" - "n.proto.backplane.grpc.ExportedTableCrea" - "tionResponse\"\000\022\220\001\n\017ExactJoinTables\0229.io." - "deephaven.proto.backplane.grpc.ExactJoin" - "TablesRequest\032@.io.deephaven.proto.backp" - "lane.grpc.ExportedTableCreationResponse\"" - "\000\022\216\001\n\016LeftJoinTables\0228.io.deephaven.prot" - "o.backplane.grpc.LeftJoinTablesRequest\032@" - ".io.deephaven.proto.backplane.grpc.Expor" - "tedTableCreationResponse\"\000\022\216\001\n\016AsOfJoinT" - "ables\0228.io.deephaven.proto.backplane.grp" - "c.AsOfJoinTablesRequest\032@.io.deephaven.p" - "roto.backplane.grpc.ExportedTableCreatio" - "nResponse\"\000\022\220\001\n\017RangeJoinTables\0229.io.dee" - "phaven.proto.backplane.grpc.RangeJoinTab" - "lesRequest\032@.io.deephaven.proto.backplan" - "e.grpc.ExportedTableCreationResponse\"\000\022\221" - "\001\n\016ComboAggregate\0228.io.deephaven.proto.b" - "ackplane.grpc.ComboAggregateRequest\032@.io" - ".deephaven.proto.backplane.grpc.Exported" - "TableCreationResponse\"\003\210\002\001\022\212\001\n\014Aggregate" - "All\0226.io.deephaven.proto.backplane.grpc." - "AggregateAllRequest\032@.io.deephaven.proto" - ".backplane.grpc.ExportedTableCreationRes" - "ponse\"\000\022\204\001\n\tAggregate\0223.io.deephaven.pro" - "to.backplane.grpc.AggregateRequest\032@.io." - "deephaven.proto.backplane.grpc.ExportedT" - "ableCreationResponse\"\000\022\207\001\n\010Snapshot\0227.io" - ".deephaven.proto.backplane.grpc.Snapshot" - "TableRequest\032@.io.deephaven.proto.backpl" + "ExportedTableCreationResponse\"\000\022\233\001\n\022Unst" + "ructuredFilter\022A.io.deephaven.proto.back" + "plane.grpc.UnstructuredFilterTableReques" + "t\032@.io.deephaven.proto.backplane.grpc.Ex" + "portedTableCreationResponse\"\000\022\177\n\004Sort\0223." + "io.deephaven.proto.backplane.grpc.SortTa" + "bleRequest\032@.io.deephaven.proto.backplan" + "e.grpc.ExportedTableCreationResponse\"\000\022\200" + "\001\n\004Head\0224.io.deephaven.proto.backplane.g" + "rpc.HeadOrTailRequest\032@.io.deephaven.pro" + "to.backplane.grpc.ExportedTableCreationR" + "esponse\"\000\022\200\001\n\004Tail\0224.io.deephaven.proto." + "backplane.grpc.HeadOrTailRequest\032@.io.de" + "ephaven.proto.backplane.grpc.ExportedTab" + "leCreationResponse\"\000\022\204\001\n\006HeadBy\0226.io.dee" + "phaven.proto.backplane.grpc.HeadOrTailBy" + "Request\032@.io.deephaven.proto.backplane.g" + "rpc.ExportedTableCreationResponse\"\000\022\204\001\n\006" + "TailBy\0226.io.deephaven.proto.backplane.gr" + "pc.HeadOrTailByRequest\032@.io.deephaven.pr" + "oto.backplane.grpc.ExportedTableCreation" + "Response\"\000\022\200\001\n\007Ungroup\0221.io.deephaven.pr" + "oto.backplane.grpc.UngroupRequest\032@.io.d" + "eephaven.proto.backplane.grpc.ExportedTa" + "bleCreationResponse\"\000\022\210\001\n\013MergeTables\0225." + "io.deephaven.proto.backplane.grpc.MergeT" + "ablesRequest\032@.io.deephaven.proto.backpl" "ane.grpc.ExportedTableCreationResponse\"\000" - "\022\217\001\n\014SnapshotWhen\022;.io.deephaven.proto.b" - "ackplane.grpc.SnapshotWhenTableRequest\032@" - ".io.deephaven.proto.backplane.grpc.Expor" - "tedTableCreationResponse\"\000\022\200\001\n\007Flatten\0221" - ".io.deephaven.proto.backplane.grpc.Flatt" - "enRequest\032@.io.deephaven.proto.backplane" - ".grpc.ExportedTableCreationResponse\"\000\022\226\001" - "\n\022RunChartDownsample\022<.io.deephaven.prot" - "o.backplane.grpc.RunChartDownsampleReque" - "st\032@.io.deephaven.proto.backplane.grpc.E" - "xportedTableCreationResponse\"\000\022\222\001\n\020Creat" - "eInputTable\022:.io.deephaven.proto.backpla" - "ne.grpc.CreateInputTableRequest\032@.io.dee" - "phaven.proto.backplane.grpc.ExportedTabl" - "eCreationResponse\"\000\022\200\001\n\007WhereIn\0221.io.dee" - "phaven.proto.backplane.grpc.WhereInReque" + "\022\220\001\n\017CrossJoinTables\0229.io.deephaven.prot" + "o.backplane.grpc.CrossJoinTablesRequest\032" + "@.io.deephaven.proto.backplane.grpc.Expo" + "rtedTableCreationResponse\"\000\022\224\001\n\021NaturalJ" + "oinTables\022;.io.deephaven.proto.backplane" + ".grpc.NaturalJoinTablesRequest\032@.io.deep" + "haven.proto.backplane.grpc.ExportedTable" + "CreationResponse\"\000\022\220\001\n\017ExactJoinTables\0229" + ".io.deephaven.proto.backplane.grpc.Exact" + "JoinTablesRequest\032@.io.deephaven.proto.b" + "ackplane.grpc.ExportedTableCreationRespo" + "nse\"\000\022\216\001\n\016LeftJoinTables\0228.io.deephaven." + "proto.backplane.grpc.LeftJoinTablesReque" "st\032@.io.deephaven.proto.backplane.grpc.E" - "xportedTableCreationResponse\"\000\022\203\001\n\005Batch" - "\0224.io.deephaven.proto.backplane.grpc.Bat" - "chTableRequest\032@.io.deephaven.proto.back" + "xportedTableCreationResponse\"\000\022\216\001\n\016AsOfJ" + "oinTables\0228.io.deephaven.proto.backplane" + ".grpc.AsOfJoinTablesRequest\032@.io.deephav" + "en.proto.backplane.grpc.ExportedTableCre" + "ationResponse\"\000\022\220\001\n\017RangeJoinTables\0229.io" + ".deephaven.proto.backplane.grpc.RangeJoi" + "nTablesRequest\032@.io.deephaven.proto.back" "plane.grpc.ExportedTableCreationResponse" - "\"\0000\001\022\231\001\n\024ExportedTableUpdates\022>.io.deeph" - "aven.proto.backplane.grpc.ExportedTableU" - "pdatesRequest\032=.io.deephaven.proto.backp" - "lane.grpc.ExportedTableUpdateMessage\"\0000\001" - "\022r\n\007SeekRow\0221.io.deephaven.proto.backpla" - "ne.grpc.SeekRowRequest\0322.io.deephaven.pr" - "oto.backplane.grpc.SeekRowResponse\"\000\022\204\001\n" - "\tMetaTable\0223.io.deephaven.proto.backplan" - "e.grpc.MetaTableRequest\032@.io.deephaven.p" + "\"\000\022\221\001\n\016ComboAggregate\0228.io.deephaven.pro" + "to.backplane.grpc.ComboAggregateRequest\032" + "@.io.deephaven.proto.backplane.grpc.Expo" + "rtedTableCreationResponse\"\003\210\002\001\022\212\001\n\014Aggre" + "gateAll\0226.io.deephaven.proto.backplane.g" + "rpc.AggregateAllRequest\032@.io.deephaven.p" "roto.backplane.grpc.ExportedTableCreatio" - "nResponse\"\000BAH\001P\001Z;github.com/deephaven/" - "deephaven-core/go/internal/proto/tableb\006" - "proto3" + "nResponse\"\000\022\204\001\n\tAggregate\0223.io.deephaven" + ".proto.backplane.grpc.AggregateRequest\032@" + ".io.deephaven.proto.backplane.grpc.Expor" + "tedTableCreationResponse\"\000\022\207\001\n\010Snapshot\022" + "7.io.deephaven.proto.backplane.grpc.Snap" + "shotTableRequest\032@.io.deephaven.proto.ba" + "ckplane.grpc.ExportedTableCreationRespon" + "se\"\000\022\217\001\n\014SnapshotWhen\022;.io.deephaven.pro" + "to.backplane.grpc.SnapshotWhenTableReque" + "st\032@.io.deephaven.proto.backplane.grpc.E" + "xportedTableCreationResponse\"\000\022\200\001\n\007Flatt" + "en\0221.io.deephaven.proto.backplane.grpc.F" + "lattenRequest\032@.io.deephaven.proto.backp" + "lane.grpc.ExportedTableCreationResponse\"" + "\000\022\226\001\n\022RunChartDownsample\022<.io.deephaven." + "proto.backplane.grpc.RunChartDownsampleR" + "equest\032@.io.deephaven.proto.backplane.gr" + "pc.ExportedTableCreationResponse\"\000\022\222\001\n\020C" + "reateInputTable\022:.io.deephaven.proto.bac" + "kplane.grpc.CreateInputTableRequest\032@.io" + ".deephaven.proto.backplane.grpc.Exported" + "TableCreationResponse\"\000\022\200\001\n\007WhereIn\0221.io" + ".deephaven.proto.backplane.grpc.WhereInR" + "equest\032@.io.deephaven.proto.backplane.gr" + "pc.ExportedTableCreationResponse\"\000\022\203\001\n\005B" + "atch\0224.io.deephaven.proto.backplane.grpc" + ".BatchTableRequest\032@.io.deephaven.proto." + "backplane.grpc.ExportedTableCreationResp" + "onse\"\0000\001\022\231\001\n\024ExportedTableUpdates\022>.io.d" + "eephaven.proto.backplane.grpc.ExportedTa" + "bleUpdatesRequest\032=.io.deephaven.proto.b" + "ackplane.grpc.ExportedTableUpdateMessage" + "\"\0000\001\022r\n\007SeekRow\0221.io.deephaven.proto.bac" + "kplane.grpc.SeekRowRequest\0322.io.deephave" + "n.proto.backplane.grpc.SeekRowResponse\"\000" + "\022\204\001\n\tMetaTable\0223.io.deephaven.proto.back" + "plane.grpc.MetaTableRequest\032@.io.deephav" + "en.proto.backplane.grpc.ExportedTableCre" + "ationResponse\"\000BAH\001P\001Z;github.com/deepha" + "ven/deephaven-core/go/internal/proto/tab" + "leb\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_deephaven_2fproto_2ftable_2eproto_deps[1] = { &::descriptor_table_deephaven_2fproto_2fticket_2eproto, }; static ::_pbi::once_flag descriptor_table_deephaven_2fproto_2ftable_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_deephaven_2fproto_2ftable_2eproto = { - false, false, 32966, descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto, + false, false, 33010, descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto, "deephaven/proto/table.proto", &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, descriptor_table_deephaven_2fproto_2ftable_2eproto_deps, 1, 118, schemas, file_default_instances, TableStruct_deephaven_2fproto_2ftable_2eproto::offsets, @@ -3884,6 +3885,7 @@ bool RangeJoinTablesRequest_RangeStartRule_IsValid(int value) { case 0: case 1: case 2: + case 3: return true; default: return false; @@ -3891,6 +3893,7 @@ bool RangeJoinTablesRequest_RangeStartRule_IsValid(int value) { } #if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +constexpr RangeJoinTablesRequest_RangeStartRule RangeJoinTablesRequest::START_UNSPECIFIED; constexpr RangeJoinTablesRequest_RangeStartRule RangeJoinTablesRequest::LESS_THAN; constexpr RangeJoinTablesRequest_RangeStartRule RangeJoinTablesRequest::LESS_THAN_OR_EQUAL; constexpr RangeJoinTablesRequest_RangeStartRule RangeJoinTablesRequest::LESS_THAN_OR_EQUAL_ALLOW_PRECEDING; @@ -3907,6 +3910,7 @@ bool RangeJoinTablesRequest_RangeEndRule_IsValid(int value) { case 0: case 1: case 2: + case 3: return true; default: return false; @@ -3914,6 +3918,7 @@ bool RangeJoinTablesRequest_RangeEndRule_IsValid(int value) { } #if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +constexpr RangeJoinTablesRequest_RangeEndRule RangeJoinTablesRequest::END_UNSPECIFIED; constexpr RangeJoinTablesRequest_RangeEndRule RangeJoinTablesRequest::GREATER_THAN; constexpr RangeJoinTablesRequest_RangeEndRule RangeJoinTablesRequest::GREATER_THAN_OR_EQUAL; constexpr RangeJoinTablesRequest_RangeEndRule RangeJoinTablesRequest::GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING; diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h index 16261fd292b..0752a674640 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h +++ b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h @@ -597,14 +597,15 @@ inline bool AsOfJoinTablesRequest_MatchRule_Parse( AsOfJoinTablesRequest_MatchRule_descriptor(), name, value); } enum RangeJoinTablesRequest_RangeStartRule : int { - RangeJoinTablesRequest_RangeStartRule_LESS_THAN = 0, - RangeJoinTablesRequest_RangeStartRule_LESS_THAN_OR_EQUAL = 1, - RangeJoinTablesRequest_RangeStartRule_LESS_THAN_OR_EQUAL_ALLOW_PRECEDING = 2, + RangeJoinTablesRequest_RangeStartRule_START_UNSPECIFIED = 0, + RangeJoinTablesRequest_RangeStartRule_LESS_THAN = 1, + RangeJoinTablesRequest_RangeStartRule_LESS_THAN_OR_EQUAL = 2, + RangeJoinTablesRequest_RangeStartRule_LESS_THAN_OR_EQUAL_ALLOW_PRECEDING = 3, RangeJoinTablesRequest_RangeStartRule_RangeJoinTablesRequest_RangeStartRule_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), RangeJoinTablesRequest_RangeStartRule_RangeJoinTablesRequest_RangeStartRule_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() }; bool RangeJoinTablesRequest_RangeStartRule_IsValid(int value); -constexpr RangeJoinTablesRequest_RangeStartRule RangeJoinTablesRequest_RangeStartRule_RangeStartRule_MIN = RangeJoinTablesRequest_RangeStartRule_LESS_THAN; +constexpr RangeJoinTablesRequest_RangeStartRule RangeJoinTablesRequest_RangeStartRule_RangeStartRule_MIN = RangeJoinTablesRequest_RangeStartRule_START_UNSPECIFIED; constexpr RangeJoinTablesRequest_RangeStartRule RangeJoinTablesRequest_RangeStartRule_RangeStartRule_MAX = RangeJoinTablesRequest_RangeStartRule_LESS_THAN_OR_EQUAL_ALLOW_PRECEDING; constexpr int RangeJoinTablesRequest_RangeStartRule_RangeStartRule_ARRAYSIZE = RangeJoinTablesRequest_RangeStartRule_RangeStartRule_MAX + 1; @@ -623,14 +624,15 @@ inline bool RangeJoinTablesRequest_RangeStartRule_Parse( RangeJoinTablesRequest_RangeStartRule_descriptor(), name, value); } enum RangeJoinTablesRequest_RangeEndRule : int { - RangeJoinTablesRequest_RangeEndRule_GREATER_THAN = 0, - RangeJoinTablesRequest_RangeEndRule_GREATER_THAN_OR_EQUAL = 1, - RangeJoinTablesRequest_RangeEndRule_GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING = 2, + RangeJoinTablesRequest_RangeEndRule_END_UNSPECIFIED = 0, + RangeJoinTablesRequest_RangeEndRule_GREATER_THAN = 1, + RangeJoinTablesRequest_RangeEndRule_GREATER_THAN_OR_EQUAL = 2, + RangeJoinTablesRequest_RangeEndRule_GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING = 3, RangeJoinTablesRequest_RangeEndRule_RangeJoinTablesRequest_RangeEndRule_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), RangeJoinTablesRequest_RangeEndRule_RangeJoinTablesRequest_RangeEndRule_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() }; bool RangeJoinTablesRequest_RangeEndRule_IsValid(int value); -constexpr RangeJoinTablesRequest_RangeEndRule RangeJoinTablesRequest_RangeEndRule_RangeEndRule_MIN = RangeJoinTablesRequest_RangeEndRule_GREATER_THAN; +constexpr RangeJoinTablesRequest_RangeEndRule RangeJoinTablesRequest_RangeEndRule_RangeEndRule_MIN = RangeJoinTablesRequest_RangeEndRule_END_UNSPECIFIED; constexpr RangeJoinTablesRequest_RangeEndRule RangeJoinTablesRequest_RangeEndRule_RangeEndRule_MAX = RangeJoinTablesRequest_RangeEndRule_GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING; constexpr int RangeJoinTablesRequest_RangeEndRule_RangeEndRule_ARRAYSIZE = RangeJoinTablesRequest_RangeEndRule_RangeEndRule_MAX + 1; @@ -11291,6 +11293,8 @@ class RangeJoinTablesRequest final : // nested types ---------------------------------------------------- typedef RangeJoinTablesRequest_RangeStartRule RangeStartRule; + static constexpr RangeStartRule START_UNSPECIFIED = + RangeJoinTablesRequest_RangeStartRule_START_UNSPECIFIED; static constexpr RangeStartRule LESS_THAN = RangeJoinTablesRequest_RangeStartRule_LESS_THAN; static constexpr RangeStartRule LESS_THAN_OR_EQUAL = @@ -11323,6 +11327,8 @@ class RangeJoinTablesRequest final : } typedef RangeJoinTablesRequest_RangeEndRule RangeEndRule; + static constexpr RangeEndRule END_UNSPECIFIED = + RangeJoinTablesRequest_RangeEndRule_END_UNSPECIFIED; static constexpr RangeEndRule GREATER_THAN = RangeJoinTablesRequest_RangeEndRule_GREATER_THAN; static constexpr RangeEndRule GREATER_THAN_OR_EQUAL = diff --git a/go/internal/proto/table/table.pb.go b/go/internal/proto/table/table.pb.go index 2cc24756bcd..a2eec5fc97c 100644 --- a/go/internal/proto/table/table.pb.go +++ b/go/internal/proto/table/table.pb.go @@ -399,22 +399,25 @@ func (AsOfJoinTablesRequest_MatchRule) EnumDescriptor() ([]byte, []int) { type RangeJoinTablesRequest_RangeStartRule int32 const ( - RangeJoinTablesRequest_LESS_THAN RangeJoinTablesRequest_RangeStartRule = 0 - RangeJoinTablesRequest_LESS_THAN_OR_EQUAL RangeJoinTablesRequest_RangeStartRule = 1 - RangeJoinTablesRequest_LESS_THAN_OR_EQUAL_ALLOW_PRECEDING RangeJoinTablesRequest_RangeStartRule = 2 + RangeJoinTablesRequest_START_UNSPECIFIED RangeJoinTablesRequest_RangeStartRule = 0 + RangeJoinTablesRequest_LESS_THAN RangeJoinTablesRequest_RangeStartRule = 1 + RangeJoinTablesRequest_LESS_THAN_OR_EQUAL RangeJoinTablesRequest_RangeStartRule = 2 + RangeJoinTablesRequest_LESS_THAN_OR_EQUAL_ALLOW_PRECEDING RangeJoinTablesRequest_RangeStartRule = 3 ) // Enum value maps for RangeJoinTablesRequest_RangeStartRule. var ( RangeJoinTablesRequest_RangeStartRule_name = map[int32]string{ - 0: "LESS_THAN", - 1: "LESS_THAN_OR_EQUAL", - 2: "LESS_THAN_OR_EQUAL_ALLOW_PRECEDING", + 0: "START_UNSPECIFIED", + 1: "LESS_THAN", + 2: "LESS_THAN_OR_EQUAL", + 3: "LESS_THAN_OR_EQUAL_ALLOW_PRECEDING", } RangeJoinTablesRequest_RangeStartRule_value = map[string]int32{ - "LESS_THAN": 0, - "LESS_THAN_OR_EQUAL": 1, - "LESS_THAN_OR_EQUAL_ALLOW_PRECEDING": 2, + "START_UNSPECIFIED": 0, + "LESS_THAN": 1, + "LESS_THAN_OR_EQUAL": 2, + "LESS_THAN_OR_EQUAL_ALLOW_PRECEDING": 3, } ) @@ -448,22 +451,25 @@ func (RangeJoinTablesRequest_RangeStartRule) EnumDescriptor() ([]byte, []int) { type RangeJoinTablesRequest_RangeEndRule int32 const ( - RangeJoinTablesRequest_GREATER_THAN RangeJoinTablesRequest_RangeEndRule = 0 - RangeJoinTablesRequest_GREATER_THAN_OR_EQUAL RangeJoinTablesRequest_RangeEndRule = 1 - RangeJoinTablesRequest_GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING RangeJoinTablesRequest_RangeEndRule = 2 + RangeJoinTablesRequest_END_UNSPECIFIED RangeJoinTablesRequest_RangeEndRule = 0 + RangeJoinTablesRequest_GREATER_THAN RangeJoinTablesRequest_RangeEndRule = 1 + RangeJoinTablesRequest_GREATER_THAN_OR_EQUAL RangeJoinTablesRequest_RangeEndRule = 2 + RangeJoinTablesRequest_GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING RangeJoinTablesRequest_RangeEndRule = 3 ) // Enum value maps for RangeJoinTablesRequest_RangeEndRule. var ( RangeJoinTablesRequest_RangeEndRule_name = map[int32]string{ - 0: "GREATER_THAN", - 1: "GREATER_THAN_OR_EQUAL", - 2: "GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING", + 0: "END_UNSPECIFIED", + 1: "GREATER_THAN", + 2: "GREATER_THAN_OR_EQUAL", + 3: "GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING", } RangeJoinTablesRequest_RangeEndRule_value = map[string]int32{ - "GREATER_THAN": 0, - "GREATER_THAN_OR_EQUAL": 1, - "GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING": 2, + "END_UNSPECIFIED": 0, + "GREATER_THAN": 1, + "GREATER_THAN_OR_EQUAL": 2, + "GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING": 3, } ) @@ -2726,7 +2732,7 @@ func (x *RangeJoinTablesRequest) GetRangeStartRule() RangeJoinTablesRequest_Rang if x != nil { return x.RangeStartRule } - return RangeJoinTablesRequest_LESS_THAN + return RangeJoinTablesRequest_START_UNSPECIFIED } func (x *RangeJoinTablesRequest) GetRightRangeColumn() string { @@ -2740,7 +2746,7 @@ func (x *RangeJoinTablesRequest) GetRangeEndRule() RangeJoinTablesRequest_RangeE if x != nil { return x.RangeEndRule } - return RangeJoinTablesRequest_GREATER_THAN + return RangeJoinTablesRequest_END_UNSPECIFIED } func (x *RangeJoinTablesRequest) GetLeftEndColumn() string { @@ -10181,7 +10187,7 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x4c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, 0x22, 0xab, 0x07, 0x0a, + 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, 0x22, 0xd7, 0x07, 0x0a, 0x16, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, @@ -10228,405 +10234,690 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x5f, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, - 0x75, 0x6c, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, - 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, - 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x4c, 0x45, - 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, - 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x45, 0x44, 0x49, 0x4e, 0x47, - 0x10, 0x02, 0x22, 0x66, 0x0a, 0x0c, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x52, 0x75, - 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, - 0x41, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, - 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x01, 0x12, - 0x29, 0x0a, 0x25, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, - 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x46, - 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0xef, 0x05, 0x0a, 0x15, 0x43, - 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x62, 0x0a, 0x0a, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x42, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x73, - 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x42, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x1a, 0xe2, 0x01, 0x0a, 0x09, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, - 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x41, 0x67, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x69, 0x72, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x67, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x76, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, - 0x22, 0xa5, 0x01, 0x0a, 0x07, 0x41, 0x67, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, - 0x53, 0x55, 0x4d, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x53, 0x5f, 0x53, 0x55, 0x4d, - 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x02, 0x12, 0x07, 0x0a, - 0x03, 0x41, 0x56, 0x47, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, - 0x04, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, - 0x4c, 0x41, 0x53, 0x54, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x49, 0x4e, 0x10, 0x07, 0x12, - 0x07, 0x0a, 0x03, 0x4d, 0x41, 0x58, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, - 0x41, 0x4e, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, - 0x4c, 0x45, 0x10, 0x0a, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x54, 0x44, 0x10, 0x0b, 0x12, 0x07, 0x0a, - 0x03, 0x56, 0x41, 0x52, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, - 0x45, 0x44, 0x5f, 0x41, 0x56, 0x47, 0x10, 0x0d, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x97, 0x02, 0x0a, - 0x13, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x04, - 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x10, + 0x73, 0x22, 0x76, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, + 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, + 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, + 0x02, 0x12, 0x26, 0x0a, 0x22, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, + 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, + 0x45, 0x43, 0x45, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x22, 0x7b, 0x0a, 0x0c, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x45, 0x6e, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x44, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, + 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, + 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, + 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x47, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, + 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, + 0x57, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x22, 0xef, 0x05, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x62, 0x6f, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x62, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xef, 0x1b, 0x0a, 0x07, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x12, 0x53, 0x0a, 0x07, 0x61, 0x62, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, + 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x1a, 0xe2, 0x01, 0x0a, 0x09, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x67, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x76, 0x67, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x61, 0x76, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x22, 0xa5, 0x01, 0x0a, + 0x07, 0x41, 0x67, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x55, 0x4d, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x53, 0x5f, 0x53, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x09, + 0x0a, 0x05, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x56, 0x47, + 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x09, 0x0a, + 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x53, 0x54, + 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x49, 0x4e, 0x10, 0x07, 0x12, 0x07, 0x0a, 0x03, 0x4d, + 0x41, 0x58, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x4e, 0x10, 0x09, + 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x10, 0x0a, + 0x12, 0x07, 0x0a, 0x03, 0x53, 0x54, 0x44, 0x10, 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x41, 0x52, + 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x45, 0x44, 0x5f, 0x41, + 0x56, 0x47, 0x10, 0x0d, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x97, 0x02, 0x0a, 0x13, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x22, 0xef, 0x1b, 0x0a, 0x07, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, + 0x0a, 0x07, 0x61, 0x62, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x41, 0x62, 0x73, 0x53, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x61, 0x62, 0x73, + 0x53, 0x75, 0x6d, 0x12, 0x80, 0x01, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, + 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, + 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, + 0x15, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x03, 0x61, 0x76, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, - 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x62, 0x73, 0x53, 0x75, 0x6d, 0x48, 0x00, 0x52, - 0x06, 0x61, 0x62, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x80, 0x01, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x72, - 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, - 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x70, 0x70, 0x72, - 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, - 0x65, 0x48, 0x00, 0x52, 0x15, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, - 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x03, 0x61, 0x76, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x76, 0x67, 0x48, 0x00, 0x52, 0x03, 0x61, 0x76, + 0x67, 0x12, 0x68, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x58, 0x0a, 0x08, 0x64, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, + 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, - 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x76, 0x67, 0x48, 0x00, - 0x52, 0x03, 0x61, 0x76, 0x67, 0x12, 0x68, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, + 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x6f, 0x72, 0x6d, 0x75, + 0x6c, 0x61, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, 0x52, 0x0a, + 0x06, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, - 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x48, 0x00, - 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, - 0x58, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, - 0x67, 0x53, 0x70, 0x65, 0x63, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x48, 0x00, 0x52, - 0x08, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x05, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x69, 0x72, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x07, 0x66, 0x6f, - 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, + 0x63, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x06, 0x66, 0x72, 0x65, 0x65, 0x7a, + 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x4c, 0x0a, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x61, 0x73, 0x74, + 0x12, 0x49, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x4d, 0x61, 0x78, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x52, 0x0a, 0x06, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, - 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, - 0x61, 0x12, 0x52, 0x0a, 0x06, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, - 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x06, 0x66, - 0x72, 0x65, 0x65, 0x7a, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, - 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4c, 0x0a, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, - 0x6c, 0x61, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, - 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x61, 0x78, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, - 0x52, 0x0a, 0x06, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, - 0x70, 0x65, 0x63, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x6e, 0x12, 0x49, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, + 0x65, 0x64, 0x69, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x12, + 0x49, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x4d, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x5e, 0x0a, 0x0a, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0a, + 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x0c, 0x73, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x4d, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x5e, - 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, - 0x48, 0x00, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x5d, - 0x0a, 0x0c, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x0f, + 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x0b, 0x73, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x03, 0x73, 0x74, 0x64, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x74, 0x64, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, + 0x64, 0x12, 0x49, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x53, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x03, 0x73, 0x75, 0x6d, 0x12, 0x56, 0x0a, 0x08, + 0x74, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x54, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x74, 0x44, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, - 0x52, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x5b, 0x0a, - 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, - 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x03, 0x73, 0x74, - 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x48, 0x00, + 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x5f, 0x0a, 0x0c, 0x77, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x76, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x41, 0x76, 0x67, 0x12, 0x5f, 0x0a, 0x0c, 0x77, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x77, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x12, 0x49, 0x0a, 0x03, 0x76, 0x61, + 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, - 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x74, 0x64, 0x48, 0x00, - 0x52, 0x03, 0x73, 0x74, 0x64, 0x12, 0x49, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x03, 0x73, 0x75, 0x6d, - 0x12, 0x56, 0x0a, 0x08, 0x74, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x54, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x07, 0x74, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, - 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x55, 0x6e, 0x69, 0x71, - 0x75, 0x65, 0x48, 0x00, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x5f, 0x0a, 0x0c, - 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x76, 0x67, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x48, 0x00, - 0x52, 0x0b, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x41, 0x76, 0x67, 0x12, 0x5f, 0x0a, - 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x56, 0x61, 0x72, 0x48, 0x00, + 0x52, 0x03, 0x76, 0x61, 0x72, 0x1a, 0x75, 0x0a, 0x1c, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, + 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x0a, 0x14, + 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, + 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x1a, 0x36, 0x0a, 0x0f, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x1a, 0x4b, 0x0a, + 0x0e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, + 0x18, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x45, 0x0a, 0x0d, 0x41, 0x67, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x5f, 0x64, 0x69, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x76, 0x65, + 0x72, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x1a, 0x69, 0x0a, 0x11, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x50, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x1a, 0x69, 0x0a, 0x0d, + 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x58, 0x0a, + 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x36, 0x0a, 0x13, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, + 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, + 0x47, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x54, 0x44, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xa9, 0x01, 0x0a, 0x0d, 0x41, 0x67, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x12, + 0x73, 0x0a, 0x13, 0x6e, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x73, 0x65, + 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x4e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, + 0x6c, 0x52, 0x11, 0x6e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x53, 0x65, 0x6e, 0x74, + 0x69, 0x6e, 0x65, 0x6c, 0x1a, 0xa8, 0x03, 0x0a, 0x18, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x4e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, + 0x6c, 0x12, 0x4d, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x09, + 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, + 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, + 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, + 0x36, 0x0a, 0x0f, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x1a, 0x0f, 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x41, 0x62, 0x73, 0x53, 0x75, 0x6d, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x41, 0x76, 0x67, 0x1a, 0x0e, 0x0a, 0x0c, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x46, 0x69, 0x72, 0x73, 0x74, 0x1a, 0x0f, 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x1a, 0x0e, 0x0a, 0x0c, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x0d, 0x0a, 0x0b, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x4d, 0x61, 0x78, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, + 0x69, 0x6e, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x74, 0x64, + 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x75, 0x6d, 0x1a, 0x0c, + 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x56, 0x61, 0x72, 0x42, 0x06, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x22, 0xae, 0x03, 0x0a, 0x10, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, + 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x5d, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x64, + 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x52, 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xd4, 0x06, 0x0a, 0x0b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, - 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x48, - 0x00, 0x52, 0x0b, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x12, 0x49, - 0x0a, 0x03, 0x76, 0x61, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x66, 0x0a, + 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x52, + 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x64, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x6f, + 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x56, - 0x61, 0x72, 0x48, 0x00, 0x52, 0x03, 0x76, 0x61, 0x72, 0x1a, 0x75, 0x0a, 0x1c, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x50, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, - 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x1a, 0x37, 0x0a, 0x14, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x1a, 0x36, 0x0a, 0x0f, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x75, 0x6c, 0x6c, - 0x73, 0x1a, 0x4b, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x6f, 0x72, 0x6d, - 0x75, 0x6c, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x45, - 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x12, - 0x34, 0x0a, 0x16, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x6c, - 0x79, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x14, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x44, 0x69, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x1a, 0x69, 0x0a, 0x11, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, - 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x5f, 0x64, 0x69, 0x76, - 0x69, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x76, 0x65, 0x72, - 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x1a, 0x69, 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x12, 0x58, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x36, 0x0a, 0x13, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x1a, 0x47, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x54, 0x44, - 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, - 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xa9, 0x01, 0x0a, - 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x75, - 0x6c, 0x6c, 0x73, 0x12, 0x73, 0x0a, 0x13, 0x6e, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x43, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x4e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x53, 0x65, 0x6e, - 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x52, 0x11, 0x6e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, - 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x1a, 0xa8, 0x03, 0x0a, 0x18, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x4e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x53, 0x65, 0x6e, - 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x12, 0x4d, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, + 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x63, 0x0a, 0x09, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x1a, 0x75, 0x0a, 0x12, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x61, 0x69, 0x72, 0x73, 0x1a, 0x33, 0x0a, 0x10, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x34, 0x0a, 0x11, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x4b, 0x65, + 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x1a, 0x70, 0x0a, 0x14, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x84, 0x02, 0x0a, + 0x0e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, + 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x65, 0x12, 0x5d, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x51, 0x0a, 0x0d, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x17, + 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, + 0x45, 0x10, 0x02, 0x22, 0xf3, 0x01, 0x0a, 0x10, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, + 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x47, 0x0a, 0x05, 0x73, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x6f, 0x72, 0x52, 0x05, 0x73, 0x6f, 0x72, 0x74, 0x73, 0x22, 0xf4, 0x01, 0x0a, 0x12, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x75, - 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x08, - 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x22, 0xca, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x12, 0x42, 0x02, 0x30, 0x01, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x6f, 0x77, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x74, 0x65, + 0x72, 0x61, 0x6c, 0x52, 0x09, 0x73, 0x65, 0x65, 0x6b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x69, 0x73, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x22, 0x34, 0x0a, + 0x0f, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x21, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x52, 0x6f, 0x77, 0x22, 0x2c, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x07, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x23, 0x0a, + 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, + 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, - 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, - 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, - 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x09, 0x62, 0x79, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x0a, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x68, - 0x61, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, - 0x52, 0x09, 0x63, 0x68, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x1a, 0x36, 0x0a, 0x0f, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x57, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x1a, 0x0f, 0x0a, 0x0d, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x62, 0x73, 0x53, 0x75, 0x6d, 0x1a, 0x0c, 0x0a, 0x0a, - 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x76, 0x67, 0x1a, 0x0e, 0x0a, 0x0c, 0x41, 0x67, - 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x69, 0x72, 0x73, 0x74, 0x1a, 0x0f, 0x0a, 0x0d, 0x41, 0x67, - 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x1a, 0x0e, 0x0a, 0x0c, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x0d, 0x0a, 0x0b, 0x41, - 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, - 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x61, 0x78, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, - 0x70, 0x65, 0x63, 0x4d, 0x69, 0x6e, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, - 0x63, 0x53, 0x74, 0x64, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, - 0x75, 0x6d, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x56, 0x61, 0x72, - 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xae, 0x03, 0x0a, 0x10, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, - 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, + 0x0f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x61, + 0x6e, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4c, + 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x07, + 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x82, 0x06, 0x0a, + 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x03, 0x61, 0x6e, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6e, 0x64, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x64, 0x12, + 0x40, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x4f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x02, 0x6f, + 0x72, 0x12, 0x43, 0x0a, 0x03, 0x6e, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x03, 0x6e, 0x6f, 0x74, 0x12, 0x4f, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x4c, 0x0a, 0x06, 0x69, 0x6e, 0x76, + 0x6f, 0x6b, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, + 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x06, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6e, 0x75, + 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x5d, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x4e, + 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, + 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x4f, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x06, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x56, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x55, 0x0a, 0x0b, 0x4f, 0x72, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x22, 0x54, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x44, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x52, 0x0a, 0x0c, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xd2, 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x61, + 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x09, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, + 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, + 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x3a, + 0x0a, 0x03, 0x6c, 0x68, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6c, 0x68, 0x73, 0x12, 0x3a, 0x0a, 0x03, 0x72, 0x68, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x03, 0x72, 0x68, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x61, + 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x4c, + 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, + 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, + 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, + 0x41, 0x4e, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, + 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x03, 0x12, + 0x0a, 0x0a, 0x06, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, + 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x05, 0x22, 0xc5, 0x02, 0x0a, 0x0b, + 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x48, 0x0a, + 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x28, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x42, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xd4, 0x06, 0x0a, 0x0b, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x07, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x6f, 0x2e, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x61, 0x6e, + 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, + 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, - 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x66, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x64, 0x0a, 0x0c, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, + 0x79, 0x70, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, + 0x40, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x4b, 0x65, - 0x79, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, - 0x63, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, + 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x0f, 0x49, 0x73, 0x4e, + 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x09, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xa0, 0x02, 0x0a, 0x10, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, + 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, + 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, + 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, + 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, + 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x4b, + 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x75, 0x0a, 0x12, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x70, - 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x69, 0x72, 0x73, 0x1a, 0x33, 0x0a, 0x10, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x1a, 0x34, 0x0a, 0x11, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x70, 0x0a, 0x14, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, - 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, - 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x84, 0x02, 0x0a, 0x0e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, - 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x62, 0x73, - 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, - 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x6f, 0x72, 0x74, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x0d, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x00, 0x12, 0x17, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, - 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x41, - 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, - 0x56, 0x45, 0x52, 0x53, 0x45, 0x10, 0x02, 0x22, 0xf3, 0x01, 0x0a, 0x10, 0x53, 0x6f, 0x72, 0x74, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x11, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, + 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x5d, 0x0a, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x0e, 0x46, 0x6c, 0x61, 0x74, 0x74, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, + 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, + 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x97, + 0x04, 0x0a, 0x19, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, @@ -10636,669 +10927,404 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x73, 0x6f, 0x72, 0x74, 0x73, 0x22, 0xf4, 0x01, - 0x0a, 0x12, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x65, 0x0a, 0x0a, 0x7a, 0x6f, 0x6f, 0x6d, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, + 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x5a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x52, 0x09, 0x7a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0d, + 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x78, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x24, 0x0a, 0x0e, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x8f, 0x01, 0x0a, 0x09, 0x5a, 0x6f, 0x6f, 0x6d, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, + 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x48, + 0x01, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x88, + 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x22, 0xd1, 0x05, 0x0a, 0x17, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x07, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x73, 0x22, 0xca, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, - 0x25, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x77, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x77, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x6b, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x09, 0x73, 0x65, 0x65, 0x6b, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, - 0x74, 0x69, 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, - 0x64, 0x22, 0x34, 0x0a, 0x0f, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x72, - 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x52, 0x09, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x77, 0x22, 0x2c, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x07, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, - 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, - 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0a, - 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, - 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, - 0x52, 0x0d, 0x6e, 0x61, 0x6e, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x05, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x0f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x12, 0x46, 0x0a, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x12, 0x5d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, - 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x82, 0x06, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, - 0x0a, 0x03, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, - 0x61, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x02, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x03, 0x6e, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x1a, 0x89, 0x03, 0x0a, 0x0e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x91, 0x01, 0x0a, 0x15, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, + 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, + 0x2e, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, + 0x6e, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x12, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, + 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x8e, 0x01, 0x0a, 0x14, 0x69, 0x6e, + 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, + 0x69, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x1a, 0x14, 0x0a, 0x12, 0x49, 0x6e, + 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, + 0x1a, 0x34, 0x0a, 0x11, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x65, 0x79, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0c, + 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x02, 0x0a, + 0x0e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x6e, 0x6f, 0x74, 0x12, 0x4f, 0x0a, 0x07, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x02, 0x69, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x6c, 0x65, 0x66, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, 0x65, 0x66, + 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, + 0x10, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x54, 0x6f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x86, 0x1b, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, + 0x03, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x1a, + 0x9e, 0x1a, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, + 0x0b, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x74, + 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0c, + 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x6f, + 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x0b, + 0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6c, + 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x04, 0x76, 0x69, 0x65, + 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x4c, 0x0a, - 0x06, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x69, - 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x49, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x00, 0x52, 0x06, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x4f, 0x0a, 0x07, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x08, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, - 0x4c, 0x0a, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x06, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x56, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x5b, 0x0a, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x52, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x55, 0x0a, - 0x0b, 0x4f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x07, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x63, 0x0a, 0x0f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, + 0x4f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x74, 0x0a, 0x13, 0x75, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x73, 0x22, 0x54, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x63, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x12, 0x75, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xd2, 0x03, 0x0a, 0x10, 0x43, - 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x62, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, - 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x03, 0x6c, 0x68, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x73, 0x6f, 0x72, + 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6c, 0x68, 0x73, 0x12, 0x3a, - 0x0a, 0x03, 0x72, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, + 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x4a, 0x0a, + 0x04, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x72, 0x68, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x43, - 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x00, 0x12, 0x16, - 0x0a, 0x12, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, - 0x51, 0x55, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, - 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, - 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, - 0x4c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x04, 0x12, - 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x05, 0x22, - 0xc5, 0x02, 0x0a, 0x0b, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x40, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x10, 0x63, - 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, - 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x6f, - 0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x12, 0x40, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5d, 0x0a, - 0x0f, 0x49, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xa0, 0x02, 0x0a, - 0x10, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, - 0x67, 0x65, 0x78, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, + 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x51, 0x0a, 0x07, 0x68, 0x65, 0x61, + 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, + 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x42, 0x79, 0x12, 0x51, 0x0a, 0x07, + 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x62, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, - 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, - 0xb0, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, - 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, - 0x70, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x5d, 0x0a, 0x13, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x0e, 0x46, - 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, - 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x12, + 0x4d, 0x0a, 0x07, 0x75, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x75, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4d, + 0x0a, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x49, 0x64, 0x22, 0x97, 0x04, 0x0a, 0x19, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, - 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x63, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x12, 0x63, 0x0a, + 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x78, 0x65, - 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, - 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x65, 0x0a, 0x0a, 0x7a, 0x6f, 0x6f, - 0x6d, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x5a, 0x6f, 0x6f, 0x6d, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x7a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x22, 0x0a, 0x0d, 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x78, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x79, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x8f, 0x01, 0x0a, 0x09, 0x5a, - 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x4e, - 0x61, 0x6e, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, - 0x02, 0x30, 0x01, 0x48, 0x01, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x61, - 0x6e, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x22, 0xd1, 0x05, 0x0a, - 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, - 0x12, 0x5b, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0d, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, - 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x5d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, + 0x6e, 0x12, 0x70, 0x0a, 0x14, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x5f, 0x64, + 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x12, 0x72, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x6a, 0x6f, 0x69, + 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x6f, 0x73, + 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x12, + 0x60, 0x0a, 0x0c, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0x89, 0x03, 0x0a, 0x0e, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x91, 0x01, 0x0a, 0x15, 0x69, 0x6e, - 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, - 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x12, 0x69, 0x6e, 0x4d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x8e, 0x01, - 0x0a, 0x14, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x69, 0x6e, 0x4d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x1a, 0x14, - 0x0a, 0x12, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, - 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0x34, 0x0a, 0x11, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6b, 0x65, 0x79, - 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, - 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xb8, 0x02, 0x0a, 0x0e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x6c, - 0x65, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, - 0x06, 0x6c, 0x65, 0x66, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, - 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x5f, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x86, 0x1b, 0x0a, 0x11, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x50, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, - 0x6f, 0x70, 0x73, 0x1a, 0x9e, 0x1a, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x5a, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x06, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x5b, 0x0a, 0x0b, 0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, + 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, + 0x6e, 0x12, 0x5a, 0x0a, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x0a, 0x6c, 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, - 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x5b, 0x0a, - 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x52, 0x0a, 0x06, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x57, 0x0a, + 0x09, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x65, + 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x0a, 0x61, 0x73, 0x5f, 0x6f, 0x66, 0x5f, + 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x63, - 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x74, 0x0a, 0x13, 0x75, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x75, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, + 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, + 0x12, 0x57, 0x0a, 0x0b, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, + 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x73, 0x0a, 0x15, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, - 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, - 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x68, 0x65, 0x61, - 0x64, 0x12, 0x4a, 0x0a, 0x04, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x51, 0x0a, - 0x07, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x42, 0x79, - 0x12, 0x51, 0x0a, 0x07, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x62, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, - 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x69, - 0x6c, 0x42, 0x79, 0x12, 0x4d, 0x0a, 0x07, 0x75, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x75, 0x6e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x4d, 0x0a, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x6d, 0x65, 0x72, 0x67, - 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, + 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x6a, + 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, - 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6c, 0x61, 0x74, - 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6c, - 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x70, 0x0a, 0x14, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x68, 0x61, - 0x72, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, - 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x12, 0x72, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, - 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x63, 0x72, 0x6f, 0x73, 0x73, - 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x4a, - 0x6f, 0x69, 0x6e, 0x12, 0x60, 0x0a, 0x0c, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x6a, - 0x6f, 0x69, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x61, - 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, - 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x5a, 0x0a, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6a, - 0x6f, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, - 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, - 0x6e, 0x12, 0x57, 0x0a, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x1a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x4e, 0x0a, + 0x08, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x77, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x5d, 0x0a, + 0x0d, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x22, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, - 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, - 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x0a, 0x61, 0x73, - 0x5f, 0x6f, 0x66, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x73, 0x4f, 0x66, - 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, - 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x0a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x73, 0x0a, - 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x61, - 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x73, 0x12, 0x6a, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x51, - 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, - 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x21, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x77, 0x68, 0x65, 0x72, 0x65, 0x49, - 0x6e, 0x12, 0x5d, 0x0a, 0x0d, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, - 0x12, 0x53, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x23, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x62, 0x0a, 0x0d, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x25, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x53, 0x0a, 0x09, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x12, 0x55, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x24, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x57, 0x68, 0x65, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, - 0x12, 0x54, 0x0a, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x26, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x62, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x54, 0x0a, 0x0a, + 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, + 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x04, + 0x0a, 0x02, 0x6f, 0x70, 0x4a, 0x04, 0x08, 0x14, 0x10, 0x15, 0x4a, 0x04, 0x08, 0x1d, 0x10, 0x1e, + 0x2a, 0x62, 0x0a, 0x0f, 0x42, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x42, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x41, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x48, 0x52, 0x4f, + 0x57, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x02, 0x12, 0x08, + 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x4f, 0x49, 0x53, + 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x74, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, + 0x4e, 0x75, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x1b, + 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, + 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, + 0x0e, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x44, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x53, 0x10, + 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x44, 0x4f, 0x4d, 0x49, 0x4e, + 0x41, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x5a, 0x45, 0x52, 0x4f, 0x5f, 0x44, + 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x53, 0x10, 0x03, 0x2a, 0x1b, 0x0a, 0x09, 0x4e, 0x75, + 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, + 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x2a, 0x32, 0x0a, 0x0f, 0x43, 0x61, 0x73, 0x65, 0x53, + 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, + 0x54, 0x43, 0x48, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x47, + 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x01, 0x2a, 0x26, 0x0a, 0x09, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x47, 0x55, + 0x4c, 0x41, 0x52, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, + 0x44, 0x10, 0x01, 0x32, 0xf8, 0x2c, 0x0a, 0x0c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x65, 0x74, - 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, - 0x69, 0x6e, 0x42, 0x04, 0x0a, 0x02, 0x6f, 0x70, 0x4a, 0x04, 0x08, 0x14, 0x10, 0x15, 0x4a, 0x04, - 0x08, 0x1d, 0x10, 0x1e, 0x2a, 0x62, 0x0a, 0x0f, 0x42, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x42, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x41, 0x44, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, - 0x54, 0x48, 0x52, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, - 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, - 0x50, 0x4f, 0x49, 0x53, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x74, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x12, 0x1f, 0x0a, 0x1b, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, - 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x44, 0x4f, 0x4d, 0x49, 0x4e, 0x41, - 0x54, 0x45, 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x44, - 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x5a, 0x45, - 0x52, 0x4f, 0x5f, 0x44, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x53, 0x10, 0x03, 0x2a, 0x1b, - 0x0a, 0x09, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, - 0x55, 0x4c, 0x4c, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x2a, 0x32, 0x0a, 0x0f, 0x43, - 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, - 0x0a, 0x0a, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0f, - 0x0a, 0x0b, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x01, 0x2a, - 0x26, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, - 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x56, - 0x45, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x32, 0xf8, 0x2c, 0x0a, 0x0c, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x2e, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x0a, 0x46, 0x65, 0x74, + 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, + 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, + 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, - 0x0a, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, 0x6f, + 0x0a, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, - 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, + 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x86, 0x01, 0x0a, 0x0a, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, - 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x54, 0x69, - 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, + 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x88, 0x01, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x4c, 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, + 0x0a, 0x04, 0x56, 0x69, 0x65, 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, @@ -11306,8 +11332,8 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x4c, 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, + 0x69, 0x65, 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, @@ -11315,299 +11341,282 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x84, 0x01, 0x0a, 0x04, 0x56, 0x69, 0x65, 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x38, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x08, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, - 0x01, 0x0a, 0x08, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x32, 0x2e, 0x69, 0x6f, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x8e, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x63, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x83, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x12, 0x55, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x41, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, - 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x12, 0x55, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x12, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x34, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, - 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x54, 0x61, 0x69, + 0x6c, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x06, + 0x48, 0x65, 0x61, 0x64, 0x42, 0x79, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, + 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x06, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x12, 0x36, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x48, 0x65, - 0x61, 0x64, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x55, 0x6e, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, - 0x04, 0x54, 0x61, 0x69, 0x6c, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, - 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x84, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x42, 0x79, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, - 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x06, 0x54, 0x61, 0x69, 0x6c, 0x42, - 0x79, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, - 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, - 0x0a, 0x07, 0x55, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, + 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x88, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x6f, 0x73, + 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x94, 0x01, 0x0a, 0x11, 0x4e, + 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x12, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, - 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, - 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x94, - 0x01, 0x0a, 0x11, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, - 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x4c, 0x65, 0x66, - 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x41, 0x73, 0x4f, 0x66, 0x4a, 0x6f, + 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, 0x4f, + 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x41, 0x73, - 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x0e, 0x43, 0x6f, + 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x41, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, + 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x8a, 0x01, + 0x0a, 0x0c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x87, 0x01, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x37, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x0c, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x3b, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, - 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, + 0x0a, 0x07, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6c, + 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x96, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, + 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, + 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x10, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3a, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, - 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, - 0x6c, 0x6c, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, + 0x01, 0x0a, 0x07, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, - 0x01, 0x0a, 0x09, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x12, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x8f, 0x01, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, - 0x12, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, - 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, + 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x31, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, - 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x69, 0x6f, + 0x00, 0x12, 0x83, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, - 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x31, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x99, 0x01, 0x0a, 0x14, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x07, 0x53, 0x65, 0x65, 0x6b, 0x52, - 0x6f, 0x77, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, - 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, - 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x99, 0x01, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x12, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x07, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x42, 0x41, 0x48, 0x01, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2f, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x6f, - 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x63, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x41, + 0x48, 0x01, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto b/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto index 988c3cd20d6..4ba438372fb 100644 --- a/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto +++ b/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto @@ -696,14 +696,16 @@ message AsOfJoinTablesRequest { message RangeJoinTablesRequest { enum RangeStartRule { - LESS_THAN = 0; - LESS_THAN_OR_EQUAL = 1; - LESS_THAN_OR_EQUAL_ALLOW_PRECEDING = 2; + START_UNSPECIFIED = 0; + LESS_THAN = 1; + LESS_THAN_OR_EQUAL = 2; + LESS_THAN_OR_EQUAL_ALLOW_PRECEDING = 3; } enum RangeEndRule { - GREATER_THAN = 0; - GREATER_THAN_OR_EQUAL = 1; - GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING = 2; + END_UNSPECIFIED = 0; + GREATER_THAN = 1; + GREATER_THAN_OR_EQUAL = 2; + GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING = 3; } Ticket result_id = 1; TableReference left_id = 2; diff --git a/py/client/pydeephaven/proto/table_pb2.py b/py/client/pydeephaven/proto/table_pb2.py index ae8b9141dac..538128f15b0 100644 --- a/py/client/pydeephaven/proto/table_pb2.py +++ b/py/client/pydeephaven/proto/table_pb2.py @@ -14,7 +14,7 @@ from pydeephaven.proto import ticket_pb2 as deephaven_dot_proto_dot_ticket__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x64\x65\x65phaven/proto/table.proto\x12!io.deephaven.proto.backplane.grpc\x1a\x1c\x64\x65\x65phaven/proto/ticket.proto\"l\n\x0eTableReference\x12;\n\x06ticket\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketH\x00\x12\x16\n\x0c\x62\x61tch_offset\x18\x02 \x01(\x11H\x00\x42\x05\n\x03ref\"\xc6\x01\n\x1d\x45xportedTableCreationResponse\x12\x44\n\tresult_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x12\n\nerror_info\x18\x03 \x01(\t\x12\x15\n\rschema_header\x18\x04 \x01(\x0c\x12\x11\n\tis_static\x18\x05 \x01(\x08\x12\x10\n\x04size\x18\x06 \x01(\x12\x42\x02\x30\x01\"\x97\x01\n\x11\x46\x65tchTableRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\xa0\x01\n\x1a\x41pplyPreviewColumnsRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x1d\n\x1b\x45xportedTableUpdatesRequest\"\x8c\x01\n\x1a\x45xportedTableUpdateMessage\x12<\n\texport_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x1e\n\x16update_failure_message\x18\x03 \x01(\t\"c\n\x11\x45mptyTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\"\x88\x01\n\x10TimeTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x1c\n\x10start_time_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x18\n\x0cperiod_nanos\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xb1\x01\n\x15SelectOrUpdateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_specs\x18\x03 \x03(\t\"\x8c\x02\n\x0bMathContext\x12\x11\n\tprecision\x18\x01 \x01(\x11\x12R\n\rrounding_mode\x18\x02 \x01(\x0e\x32;.io.deephaven.proto.backplane.grpc.MathContext.RoundingMode\"\x95\x01\n\x0cRoundingMode\x12\x1f\n\x1bROUNDING_MODE_NOT_SPECIFIED\x10\x00\x12\x06\n\x02UP\x10\x01\x12\x08\n\x04\x44OWN\x10\x02\x12\x0b\n\x07\x43\x45ILING\x10\x03\x12\t\n\x05\x46LOOR\x10\x04\x12\x0b\n\x07HALF_UP\x10\x05\x12\r\n\tHALF_DOWN\x10\x06\x12\r\n\tHALF_EVEN\x10\x07\x12\x0f\n\x0bUNNECESSARY\x10\x08\"\xbb\x02\n\x13UpdateByWindowScale\x12[\n\x05ticks\x18\x01 \x01(\x0b\x32J.io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTicksH\x00\x12Y\n\x04time\x18\x02 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTimeH\x00\x1a$\n\x13UpdateByWindowTicks\x12\r\n\x05ticks\x18\x01 \x01(\x01\x1a>\n\x12UpdateByWindowTime\x12\x0e\n\x06\x63olumn\x18\x01 \x01(\t\x12\x18\n\x0cperiod_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x42\x06\n\x04type\"\xe1\x03\n\x11UpdateByEmOptions\x12I\n\ron_null_value\x18\x01 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12H\n\x0con_nan_value\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12H\n\x0con_null_time\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12R\n\x16on_negative_delta_time\x18\x04 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12N\n\x12on_zero_delta_time\x18\x05 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12I\n\x11\x62ig_value_context\x18\x06 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContext\"f\n\x14UpdateByDeltaOptions\x12N\n\rnull_behavior\x18\x01 \x01(\x0e\x32\x37.io.deephaven.proto.backplane.grpc.UpdateByNullBehavior\"\x99\x34\n\x0fUpdateByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12S\n\x07options\x18\x03 \x01(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions\x12X\n\noperations\x18\x04 \x03(\x0b\x32\x44.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation\x12\x18\n\x10group_by_columns\x18\x05 \x03(\t\x1a\xc3\x03\n\x0fUpdateByOptions\x12\x1c\n\x0fuse_redirection\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0e\x63hunk_capacity\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12.\n!max_static_sparse_memory_overhead\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12$\n\x17initial_hash_table_size\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12 \n\x13maximum_load_factor\x18\x05 \x01(\x01H\x04\x88\x01\x01\x12\x1f\n\x12target_load_factor\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12\x44\n\x0cmath_context\x18\x07 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContextB\x12\n\x10_use_redirectionB\x11\n\x0f_chunk_capacityB$\n\"_max_static_sparse_memory_overheadB\x1a\n\x18_initial_hash_table_sizeB\x16\n\x14_maximum_load_factorB\x15\n\x13_target_load_factor\x1a\xf2-\n\x11UpdateByOperation\x12\x65\n\x06\x63olumn\x18\x01 \x01(\x0b\x32S.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumnH\x00\x1a\xed,\n\x0eUpdateByColumn\x12n\n\x04spec\x18\x01 \x01(\x0b\x32`.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\xd5+\n\x0cUpdateBySpec\x12\x85\x01\n\x03sum\x18\x01 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSumH\x00\x12\x85\x01\n\x03min\x18\x02 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMinH\x00\x12\x85\x01\n\x03max\x18\x03 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMaxH\x00\x12\x8d\x01\n\x07product\x18\x04 \x01(\x0b\x32z.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProductH\x00\x12}\n\x04\x66ill\x18\x05 \x01(\x0b\x32m.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFillH\x00\x12{\n\x03\x65ma\x18\x06 \x01(\x0b\x32l.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmaH\x00\x12\x8a\x01\n\x0brolling_sum\x18\x07 \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSumH\x00\x12\x8e\x01\n\rrolling_group\x18\x08 \x01(\x0b\x32u.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroupH\x00\x12\x8a\x01\n\x0brolling_avg\x18\t \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvgH\x00\x12\x8a\x01\n\x0brolling_min\x18\n \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMinH\x00\x12\x8a\x01\n\x0brolling_max\x18\x0b \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMaxH\x00\x12\x92\x01\n\x0frolling_product\x18\x0c \x01(\x0b\x32w.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProductH\x00\x12\x7f\n\x05\x64\x65lta\x18\r \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByDeltaH\x00\x12{\n\x03\x65ms\x18\x0e \x01(\x0b\x32l.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmsH\x00\x12\x80\x01\n\x06\x65m_min\x18\x0f \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMinH\x00\x12\x80\x01\n\x06\x65m_max\x18\x10 \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMaxH\x00\x12\x80\x01\n\x06\x65m_std\x18\x11 \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStdH\x00\x12\x8e\x01\n\rrolling_count\x18\x12 \x01(\x0b\x32u.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCountH\x00\x12\x8a\x01\n\x0brolling_std\x18\x13 \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStdH\x00\x12\x8c\x01\n\x0crolling_wavg\x18\x14 \x01(\x0b\x32t.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvgH\x00\x1a\x17\n\x15UpdateByCumulativeSum\x1a\x17\n\x15UpdateByCumulativeMin\x1a\x17\n\x15UpdateByCumulativeMax\x1a\x1b\n\x19UpdateByCumulativeProduct\x1a\x0e\n\x0cUpdateByFill\x1a\xa2\x01\n\x0bUpdateByEma\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa2\x01\n\x0bUpdateByEms\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmMin\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmMax\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmStd\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1aY\n\rUpdateByDelta\x12H\n\x07options\x18\x01 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.UpdateByDeltaOptions\x1a\xc0\x01\n\x12UpdateByRollingSum\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc2\x01\n\x14UpdateByRollingGroup\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingAvg\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingMin\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingMax\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc4\x01\n\x16UpdateByRollingProduct\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc2\x01\n\x14UpdateByRollingCount\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingStd\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xd8\x01\n\x13UpdateByRollingWAvg\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12\x15\n\rweight_column\x18\x03 \x01(\tB\x06\n\x04typeB\x06\n\x04type\"\xb1\x01\n\x15SelectDistinctRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xae\x01\n\x12\x44ropColumnsRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xb5\x01\n\x1eUnstructuredFilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07\x66ilters\x18\x03 \x03(\t\"\xad\x01\n\x11HeadOrTailRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xce\x01\n\x13HeadOrTailByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\x12\x1d\n\x15group_by_column_specs\x18\x04 \x03(\t\"\xc3\x01\n\x0eUngroupRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x11\n\tnull_fill\x18\x03 \x01(\x08\x12\x1a\n\x12\x63olumns_to_ungroup\x18\x04 \x03(\t\"\xad\x01\n\x12MergeTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x45\n\nsource_ids\x18\x02 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x12\n\nkey_column\x18\x03 \x01(\t\"\x9a\x01\n\x14SnapshotTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb1\x02\n\x18SnapshotWhenTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07\x62\x61se_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x45\n\ntrigger_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07initial\x18\x04 \x01(\x08\x12\x13\n\x0bincremental\x18\x05 \x01(\x08\x12\x0f\n\x07history\x18\x06 \x01(\x08\x12\x15\n\rstamp_columns\x18\x07 \x03(\t\"\xa7\x02\n\x16\x43rossJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\x14\n\x0creserve_bits\x18\x06 \x01(\x05\"\x93\x02\n\x18NaturalJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x91\x02\n\x16\x45xactJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x90\x02\n\x15LeftJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\xc9\x03\n\x15\x41sOfJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\\\n\x10\x61s_of_match_rule\x18\x07 \x01(\x0e\x32\x42.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule\"Y\n\tMatchRule\x12\x13\n\x0fLESS_THAN_EQUAL\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12GREATER_THAN_EQUAL\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\"\x9f\x06\n\x16RangeJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x1b\n\x13\x65xact_match_columns\x18\x04 \x03(\t\x12\x19\n\x11left_start_column\x18\x05 \x01(\t\x12\x62\n\x10range_start_rule\x18\x06 \x01(\x0e\x32H.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeStartRule\x12\x1a\n\x12right_range_column\x18\x07 \x01(\t\x12^\n\x0erange_end_rule\x18\x08 \x01(\x0e\x32\x46.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeEndRule\x12\x17\n\x0fleft_end_column\x18\t \x01(\t\x12\x44\n\x0c\x61ggregations\x18\n \x03(\x0b\x32..io.deephaven.proto.backplane.grpc.Aggregation\"_\n\x0eRangeStartRule\x12\r\n\tLESS_THAN\x10\x00\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x01\x12&\n\"LESS_THAN_OR_EQUAL_ALLOW_PRECEDING\x10\x02\"f\n\x0cRangeEndRule\x12\x10\n\x0cGREATER_THAN\x10\x00\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x01\x12)\n%GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING\x10\x02\"\xfe\x04\n\x15\x43omboAggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12V\n\naggregates\x18\x03 \x03(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\x12\x13\n\x0b\x66orce_combo\x18\x05 \x01(\x08\x1a\xad\x01\n\tAggregate\x12N\n\x04type\x18\x01 \x01(\x0e\x32@.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12\x12\n\npercentile\x18\x04 \x01(\x01\x12\x12\n\navg_median\x18\x05 \x01(\x08\"\xa5\x01\n\x07\x41ggType\x12\x07\n\x03SUM\x10\x00\x12\x0b\n\x07\x41\x42S_SUM\x10\x01\x12\t\n\x05GROUP\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\t\n\x05\x43OUNT\x10\x04\x12\t\n\x05\x46IRST\x10\x05\x12\x08\n\x04LAST\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x07\n\x03MAX\x10\x08\x12\n\n\x06MEDIAN\x10\t\x12\x0e\n\nPERCENTILE\x10\n\x12\x07\n\x03STD\x10\x0b\x12\x07\n\x03VAR\x10\x0c\x12\x10\n\x0cWEIGHTED_AVG\x10\r:\x02\x18\x01\"\xed\x01\n\x13\x41ggregateAllRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x38\n\x04spec\x18\x03 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\"\xd7\x17\n\x07\x41ggSpec\x12K\n\x07\x61\x62s_sum\x18\x01 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSumH\x00\x12i\n\x16\x61pproximate_percentile\x18\x02 \x01(\x0b\x32G.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentileH\x00\x12\x44\n\x03\x61vg\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvgH\x00\x12Y\n\x0e\x63ount_distinct\x18\x04 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinctH\x00\x12N\n\x08\x64istinct\x18\x05 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinctH\x00\x12H\n\x05\x66irst\x18\x06 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirstH\x00\x12L\n\x07\x66ormula\x18\x07 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormulaH\x00\x12J\n\x06\x66reeze\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreezeH\x00\x12H\n\x05group\x18\t \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroupH\x00\x12\x46\n\x04last\x18\n \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLastH\x00\x12\x44\n\x03max\x18\x0b \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMaxH\x00\x12J\n\x06median\x18\x0c \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedianH\x00\x12\x44\n\x03min\x18\r \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMinH\x00\x12R\n\npercentile\x18\x0e \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentileH\x00\x12P\n\x0csorted_first\x18\x0f \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12O\n\x0bsorted_last\x18\x10 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12\x44\n\x03std\x18\x11 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStdH\x00\x12\x44\n\x03sum\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSumH\x00\x12M\n\x08t_digest\x18\x13 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigestH\x00\x12J\n\x06unique\x18\x14 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUniqueH\x00\x12R\n\x0cweighted_avg\x18\x15 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12R\n\x0cweighted_sum\x18\x16 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12\x44\n\x03var\x18\x17 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVarH\x00\x1a\\\n\x1c\x41ggSpecApproximatePercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x18\n\x0b\x63ompression\x18\x02 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a+\n\x14\x41ggSpecCountDistinct\x12\x13\n\x0b\x63ount_nulls\x18\x01 \x01(\x08\x1a(\n\x0f\x41ggSpecDistinct\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x1a\x36\n\x0e\x41ggSpecFormula\x12\x0f\n\x07\x66ormula\x18\x01 \x01(\t\x12\x13\n\x0bparam_token\x18\x02 \x01(\t\x1a/\n\rAggSpecMedian\x12\x1e\n\x16\x61verage_evenly_divided\x18\x01 \x01(\x08\x1aG\n\x11\x41ggSpecPercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x1e\n\x16\x61verage_evenly_divided\x18\x02 \x01(\x08\x1a`\n\rAggSpecSorted\x12O\n\x07\x63olumns\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn\x1a*\n\x13\x41ggSpecSortedColumn\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a:\n\x0e\x41ggSpecTDigest\x12\x18\n\x0b\x63ompression\x18\x01 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a\x88\x01\n\rAggSpecUnique\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x12`\n\x13non_unique_sentinel\x18\x02 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel\x1a\xb5\x02\n\x18\x41ggSpecNonUniqueSentinel\x12\x42\n\nnull_value\x18\x01 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.NullValueH\x00\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x13\n\tint_value\x18\x03 \x01(\x11H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x15\n\x0b\x66loat_value\x18\x05 \x01(\x02H\x00\x12\x16\n\x0c\x64ouble_value\x18\x06 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x07 \x01(\x08H\x00\x12\x14\n\nbyte_value\x18\x08 \x01(\x11H\x00\x12\x15\n\x0bshort_value\x18\t \x01(\x11H\x00\x12\x14\n\nchar_value\x18\n \x01(\x11H\x00\x42\x06\n\x04type\x1a(\n\x0f\x41ggSpecWeighted\x12\x15\n\rweight_column\x18\x01 \x01(\t\x1a\x0f\n\rAggSpecAbsSum\x1a\x0c\n\nAggSpecAvg\x1a\x0e\n\x0c\x41ggSpecFirst\x1a\x0f\n\rAggSpecFreeze\x1a\x0e\n\x0c\x41ggSpecGroup\x1a\r\n\x0b\x41ggSpecLast\x1a\x0c\n\nAggSpecMax\x1a\x0c\n\nAggSpecMin\x1a\x0c\n\nAggSpecStd\x1a\x0c\n\nAggSpecSum\x1a\x0c\n\nAggSpecVarB\x06\n\x04type\"\xdc\x02\n\x10\x41ggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12L\n\x11initial_groups_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x16\n\x0epreserve_empty\x18\x04 \x01(\x08\x12\x44\n\x0c\x61ggregations\x18\x05 \x03(\x0b\x32..io.deephaven.proto.backplane.grpc.Aggregation\x12\x18\n\x10group_by_columns\x18\x06 \x03(\t\"\xd3\x05\n\x0b\x41ggregation\x12T\n\x07\x63olumns\x18\x01 \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumnsH\x00\x12P\n\x05\x63ount\x18\x02 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.Aggregation.AggregationCountH\x00\x12Y\n\rfirst_row_key\x18\x03 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\x0clast_row_key\x18\x04 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\tpartition\x18\x05 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartitionH\x00\x1a\x63\n\x12\x41ggregationColumns\x12\x38\n\x04spec\x18\x01 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\'\n\x10\x41ggregationCount\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a(\n\x11\x41ggregationRowKey\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1aM\n\x14\x41ggregationPartition\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12 \n\x18include_group_by_columns\x18\x02 \x01(\x08\x42\x06\n\x04type\"\xe1\x01\n\x0eSortDescriptor\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x13\n\x0bis_absolute\x18\x02 \x01(\x08\x12R\n\tdirection\x18\x03 \x01(\x0e\x32?.io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection\"Q\n\rSortDirection\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\nDESCENDING\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\r\n\tASCENDING\x10\x01\x12\x0b\n\x07REVERSE\x10\x02\"\xd8\x01\n\x10SortTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12@\n\x05sorts\x18\x03 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.SortDescriptor\"\xd7\x01\n\x12\x46ilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xf9\x01\n\x0eSeekRowRequest\x12<\n\tsource_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x18\n\x0cstarting_row\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12>\n\nseek_value\x18\x04 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.Literal\x12\x13\n\x0binsensitive\x18\x05 \x01(\x08\x12\x10\n\x08\x63ontains\x18\x06 \x01(\x08\x12\x13\n\x0bis_backward\x18\x07 \x01(\x08\")\n\x0fSeekRowResponse\x12\x16\n\nresult_row\x18\x01 \x01(\x12\x42\x02\x30\x01\" \n\tReference\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\"\x91\x01\n\x07Literal\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1d\n\x0fnano_time_value\x18\x05 \x01(\x12\x42\x02\x30\x01H\x00\x42\x07\n\x05value\"\x91\x01\n\x05Value\x12\x41\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.ReferenceH\x00\x12=\n\x07literal\x18\x02 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.LiteralH\x00\x42\x06\n\x04\x64\x61ta\"\xbc\x05\n\tCondition\x12>\n\x03\x61nd\x18\x01 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.AndConditionH\x00\x12<\n\x02or\x18\x02 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.OrConditionH\x00\x12>\n\x03not\x18\x03 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.NotConditionH\x00\x12\x46\n\x07\x63ompare\x18\x04 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.CompareConditionH\x00\x12<\n\x02in\x18\x05 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.InConditionH\x00\x12\x44\n\x06invoke\x18\x06 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.InvokeConditionH\x00\x12\x45\n\x07is_null\x18\x07 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.IsNullConditionH\x00\x12\x46\n\x07matches\x18\x08 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MatchesConditionH\x00\x12H\n\x08\x63ontains\x18\t \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.ContainsConditionH\x00\x12\x44\n\x06search\x18\n \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.SearchConditionH\x00\x42\x06\n\x04\x64\x61ta\"M\n\x0c\x41ndCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0bOrCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0cNotCondition\x12<\n\x06\x66ilter\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xac\x03\n\x10\x43ompareCondition\x12W\n\toperation\x18\x01 \x01(\x0e\x32\x44.io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation\x12L\n\x10\x63\x61se_sensitivity\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12\x35\n\x03lhs\x18\x03 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12\x35\n\x03rhs\x18\x04 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"\x82\x01\n\x10\x43ompareOperation\x12\r\n\tLESS_THAN\x10\x00\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x03\x12\n\n\x06\x45QUALS\x10\x04\x12\x0e\n\nNOT_EQUALS\x10\x05\"\x95\x02\n\x0bInCondition\x12\x38\n\x06target\x18\x01 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12<\n\ncandidates\x18\x02 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\x98\x01\n\x0fInvokeCondition\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x38\n\x06target\x18\x02 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12;\n\targuments\x18\x03 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"R\n\x0fIsNullCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\xf2\x01\n\x10MatchesCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\r\n\x05regex\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\xfb\x01\n\x11\x43ontainsCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\x15\n\rsearch_string\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"s\n\x0fSearchCondition\x12\x15\n\rsearch_string\x18\x01 \x01(\t\x12I\n\x13optional_references\x18\x02 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\x94\x01\n\x0e\x46lattenRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\x96\x01\n\x10MetaTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb4\x03\n\x19RunChartDownsampleRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x13\n\x0bpixel_count\x18\x03 \x01(\x05\x12Z\n\nzoom_range\x18\x04 \x01(\x0b\x32\x46.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange\x12\x15\n\rx_column_name\x18\x05 \x01(\t\x12\x16\n\x0ey_column_names\x18\x06 \x03(\t\x1as\n\tZoomRange\x12\x1f\n\x0emin_date_nanos\x18\x01 \x01(\x03\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x1f\n\x0emax_date_nanos\x18\x02 \x01(\x03\x42\x02\x30\x01H\x01\x88\x01\x01\x42\x11\n\x0f_min_date_nanosB\x11\n\x0f_max_date_nanos\"\xf5\x04\n\x17\x43reateInputTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12L\n\x0fsource_table_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReferenceH\x00\x12\x10\n\x06schema\x18\x03 \x01(\x0cH\x00\x12W\n\x04kind\x18\x04 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind\x1a\xd4\x02\n\x0eInputTableKind\x12}\n\x15in_memory_append_only\x18\x01 \x01(\x0b\x32\\.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnlyH\x00\x12{\n\x14in_memory_key_backed\x18\x02 \x01(\x0b\x32[.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBackedH\x00\x1a\x14\n\x12InMemoryAppendOnly\x1a(\n\x11InMemoryKeyBacked\x12\x13\n\x0bkey_columns\x18\x01 \x03(\tB\x06\n\x04kindB\x0c\n\ndefinition\"\x83\x02\n\x0eWhereInRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x10\n\x08inverted\x18\x04 \x01(\x08\x12\x18\n\x10\x63olumns_to_match\x18\x05 \x03(\t\"\xe0\x17\n\x11\x42\x61tchTableRequest\x12K\n\x03ops\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation\x1a\xfd\x16\n\tOperation\x12K\n\x0b\x65mpty_table\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequestH\x00\x12I\n\ntime_table\x18\x02 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.TimeTableRequestH\x00\x12M\n\x0c\x64rop_columns\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequestH\x00\x12J\n\x06update\x18\x04 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0blazy_update\x18\x05 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12H\n\x04view\x18\x06 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0bupdate_view\x18\x07 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12J\n\x06select\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12S\n\x0fselect_distinct\x18\t \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequestH\x00\x12G\n\x06\x66ilter\x18\n \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.FilterTableRequestH\x00\x12`\n\x13unstructured_filter\x18\x0b \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequestH\x00\x12\x43\n\x04sort\x18\x0c \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.SortTableRequestH\x00\x12\x44\n\x04head\x18\r \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12\x44\n\x04tail\x18\x0e \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12I\n\x07head_by\x18\x0f \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12I\n\x07tail_by\x18\x10 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12\x44\n\x07ungroup\x18\x11 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.UngroupRequestH\x00\x12\x46\n\x05merge\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequestH\x00\x12S\n\x0f\x63ombo_aggregate\x18\x13 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequestH\x00\x12\x44\n\x07\x66latten\x18\x15 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.FlattenRequestH\x00\x12\\\n\x14run_chart_downsample\x18\x16 \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequestH\x00\x12O\n\ncross_join\x18\x17 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequestH\x00\x12S\n\x0cnatural_join\x18\x18 \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequestH\x00\x12O\n\nexact_join\x18\x19 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequestH\x00\x12M\n\tleft_join\x18\x1a \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequestH\x00\x12N\n\nas_of_join\x18\x1b \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequestH\x00\x12K\n\x0b\x66\x65tch_table\x18\x1c \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.FetchTableRequestH\x00\x12^\n\x15\x61pply_preview_columns\x18\x1e \x01(\x0b\x32=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequestH\x00\x12X\n\x12\x63reate_input_table\x18\x1f \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.CreateInputTableRequestH\x00\x12G\n\tupdate_by\x18 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.UpdateByRequestH\x00\x12\x45\n\x08where_in\x18! \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.WhereInRequestH\x00\x12O\n\raggregate_all\x18\" \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequestH\x00\x12H\n\taggregate\x18# \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.AggregateRequestH\x00\x12K\n\x08snapshot\x18$ \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequestH\x00\x12T\n\rsnapshot_when\x18% \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequestH\x00\x12I\n\nmeta_table\x18& \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MetaTableRequestH\x00\x12O\n\nrange_join\x18\' \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequestH\x00\x42\x04\n\x02opJ\x04\x08\x14\x10\x15J\x04\x08\x1d\x10\x1e*b\n\x0f\x42\x61\x64\x44\x61taBehavior\x12#\n\x1f\x42\x41\x44_DATA_BEHAVIOR_NOT_SPECIFIED\x10\x00\x12\t\n\x05THROW\x10\x01\x12\t\n\x05RESET\x10\x02\x12\x08\n\x04SKIP\x10\x03\x12\n\n\x06POISON\x10\x04*t\n\x14UpdateByNullBehavior\x12\x1f\n\x1bNULL_BEHAVIOR_NOT_SPECIFIED\x10\x00\x12\x12\n\x0eNULL_DOMINATES\x10\x01\x12\x13\n\x0fVALUE_DOMINATES\x10\x02\x12\x12\n\x0eZERO_DOMINATES\x10\x03*\x1b\n\tNullValue\x12\x0e\n\nNULL_VALUE\x10\x00*2\n\x0f\x43\x61seSensitivity\x12\x0e\n\nMATCH_CASE\x10\x00\x12\x0f\n\x0bIGNORE_CASE\x10\x01*&\n\tMatchType\x12\x0b\n\x07REGULAR\x10\x00\x12\x0c\n\x08INVERTED\x10\x01\x32\xf8,\n\x0cTableService\x12\x91\x01\n GetExportedTableCreationResponse\x12).io.deephaven.proto.backplane.grpc.Ticket\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nFetchTable\x12\x34.io.deephaven.proto.backplane.grpc.FetchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x98\x01\n\x13\x41pplyPreviewColumns\x12=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nEmptyTable\x12\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tTimeTable\x12\x33.io.deephaven.proto.backplane.grpc.TimeTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0b\x44ropColumns\x12\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Update\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nLazyUpdate\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x04View\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nUpdateView\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Select\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x82\x01\n\x08UpdateBy\x12\x32.io.deephaven.proto.backplane.grpc.UpdateByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eSelectDistinct\x12\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x06\x46ilter\x12\x35.io.deephaven.proto.backplane.grpc.FilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x9b\x01\n\x12UnstructuredFilter\x12\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x7f\n\x04Sort\x12\x33.io.deephaven.proto.backplane.grpc.SortTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Head\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Tail\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06HeadBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06TailBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07Ungroup\x12\x31.io.deephaven.proto.backplane.grpc.UngroupRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0bMergeTables\x12\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x43rossJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x94\x01\n\x11NaturalJoinTables\x12;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x45xactJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eLeftJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0e\x41sOfJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0fRangeJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x91\x01\n\x0e\x43omboAggregate\x12\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x03\x88\x02\x01\x12\x8a\x01\n\x0c\x41ggregateAll\x12\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tAggregate\x12\x33.io.deephaven.proto.backplane.grpc.AggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x87\x01\n\x08Snapshot\x12\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8f\x01\n\x0cSnapshotWhen\x12;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07\x46latten\x12\x31.io.deephaven.proto.backplane.grpc.FlattenRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x96\x01\n\x12RunChartDownsample\x12<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x92\x01\n\x10\x43reateInputTable\x12:.io.deephaven.proto.backplane.grpc.CreateInputTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07WhereIn\x12\x31.io.deephaven.proto.backplane.grpc.WhereInRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x05\x42\x61tch\x12\x34.io.deephaven.proto.backplane.grpc.BatchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x30\x01\x12\x99\x01\n\x14\x45xportedTableUpdates\x12>.io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest\x1a=.io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage\"\x00\x30\x01\x12r\n\x07SeekRow\x12\x31.io.deephaven.proto.backplane.grpc.SeekRowRequest\x1a\x32.io.deephaven.proto.backplane.grpc.SeekRowResponse\"\x00\x12\x84\x01\n\tMetaTable\x12\x33.io.deephaven.proto.backplane.grpc.MetaTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x42\x41H\x01P\x01Z;github.com/deephaven/deephaven-core/go/internal/proto/tableb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x64\x65\x65phaven/proto/table.proto\x12!io.deephaven.proto.backplane.grpc\x1a\x1c\x64\x65\x65phaven/proto/ticket.proto\"l\n\x0eTableReference\x12;\n\x06ticket\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketH\x00\x12\x16\n\x0c\x62\x61tch_offset\x18\x02 \x01(\x11H\x00\x42\x05\n\x03ref\"\xc6\x01\n\x1d\x45xportedTableCreationResponse\x12\x44\n\tresult_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x12\n\nerror_info\x18\x03 \x01(\t\x12\x15\n\rschema_header\x18\x04 \x01(\x0c\x12\x11\n\tis_static\x18\x05 \x01(\x08\x12\x10\n\x04size\x18\x06 \x01(\x12\x42\x02\x30\x01\"\x97\x01\n\x11\x46\x65tchTableRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\xa0\x01\n\x1a\x41pplyPreviewColumnsRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x1d\n\x1b\x45xportedTableUpdatesRequest\"\x8c\x01\n\x1a\x45xportedTableUpdateMessage\x12<\n\texport_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x1e\n\x16update_failure_message\x18\x03 \x01(\t\"c\n\x11\x45mptyTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\"\x88\x01\n\x10TimeTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x1c\n\x10start_time_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x18\n\x0cperiod_nanos\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xb1\x01\n\x15SelectOrUpdateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_specs\x18\x03 \x03(\t\"\x8c\x02\n\x0bMathContext\x12\x11\n\tprecision\x18\x01 \x01(\x11\x12R\n\rrounding_mode\x18\x02 \x01(\x0e\x32;.io.deephaven.proto.backplane.grpc.MathContext.RoundingMode\"\x95\x01\n\x0cRoundingMode\x12\x1f\n\x1bROUNDING_MODE_NOT_SPECIFIED\x10\x00\x12\x06\n\x02UP\x10\x01\x12\x08\n\x04\x44OWN\x10\x02\x12\x0b\n\x07\x43\x45ILING\x10\x03\x12\t\n\x05\x46LOOR\x10\x04\x12\x0b\n\x07HALF_UP\x10\x05\x12\r\n\tHALF_DOWN\x10\x06\x12\r\n\tHALF_EVEN\x10\x07\x12\x0f\n\x0bUNNECESSARY\x10\x08\"\xbb\x02\n\x13UpdateByWindowScale\x12[\n\x05ticks\x18\x01 \x01(\x0b\x32J.io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTicksH\x00\x12Y\n\x04time\x18\x02 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTimeH\x00\x1a$\n\x13UpdateByWindowTicks\x12\r\n\x05ticks\x18\x01 \x01(\x01\x1a>\n\x12UpdateByWindowTime\x12\x0e\n\x06\x63olumn\x18\x01 \x01(\t\x12\x18\n\x0cperiod_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x42\x06\n\x04type\"\xe1\x03\n\x11UpdateByEmOptions\x12I\n\ron_null_value\x18\x01 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12H\n\x0con_nan_value\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12H\n\x0con_null_time\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12R\n\x16on_negative_delta_time\x18\x04 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12N\n\x12on_zero_delta_time\x18\x05 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12I\n\x11\x62ig_value_context\x18\x06 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContext\"f\n\x14UpdateByDeltaOptions\x12N\n\rnull_behavior\x18\x01 \x01(\x0e\x32\x37.io.deephaven.proto.backplane.grpc.UpdateByNullBehavior\"\x99\x34\n\x0fUpdateByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12S\n\x07options\x18\x03 \x01(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions\x12X\n\noperations\x18\x04 \x03(\x0b\x32\x44.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation\x12\x18\n\x10group_by_columns\x18\x05 \x03(\t\x1a\xc3\x03\n\x0fUpdateByOptions\x12\x1c\n\x0fuse_redirection\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0e\x63hunk_capacity\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12.\n!max_static_sparse_memory_overhead\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12$\n\x17initial_hash_table_size\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12 \n\x13maximum_load_factor\x18\x05 \x01(\x01H\x04\x88\x01\x01\x12\x1f\n\x12target_load_factor\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12\x44\n\x0cmath_context\x18\x07 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContextB\x12\n\x10_use_redirectionB\x11\n\x0f_chunk_capacityB$\n\"_max_static_sparse_memory_overheadB\x1a\n\x18_initial_hash_table_sizeB\x16\n\x14_maximum_load_factorB\x15\n\x13_target_load_factor\x1a\xf2-\n\x11UpdateByOperation\x12\x65\n\x06\x63olumn\x18\x01 \x01(\x0b\x32S.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumnH\x00\x1a\xed,\n\x0eUpdateByColumn\x12n\n\x04spec\x18\x01 \x01(\x0b\x32`.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\xd5+\n\x0cUpdateBySpec\x12\x85\x01\n\x03sum\x18\x01 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSumH\x00\x12\x85\x01\n\x03min\x18\x02 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMinH\x00\x12\x85\x01\n\x03max\x18\x03 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMaxH\x00\x12\x8d\x01\n\x07product\x18\x04 \x01(\x0b\x32z.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProductH\x00\x12}\n\x04\x66ill\x18\x05 \x01(\x0b\x32m.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFillH\x00\x12{\n\x03\x65ma\x18\x06 \x01(\x0b\x32l.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmaH\x00\x12\x8a\x01\n\x0brolling_sum\x18\x07 \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSumH\x00\x12\x8e\x01\n\rrolling_group\x18\x08 \x01(\x0b\x32u.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroupH\x00\x12\x8a\x01\n\x0brolling_avg\x18\t \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvgH\x00\x12\x8a\x01\n\x0brolling_min\x18\n \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMinH\x00\x12\x8a\x01\n\x0brolling_max\x18\x0b \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMaxH\x00\x12\x92\x01\n\x0frolling_product\x18\x0c \x01(\x0b\x32w.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProductH\x00\x12\x7f\n\x05\x64\x65lta\x18\r \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByDeltaH\x00\x12{\n\x03\x65ms\x18\x0e \x01(\x0b\x32l.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmsH\x00\x12\x80\x01\n\x06\x65m_min\x18\x0f \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMinH\x00\x12\x80\x01\n\x06\x65m_max\x18\x10 \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMaxH\x00\x12\x80\x01\n\x06\x65m_std\x18\x11 \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStdH\x00\x12\x8e\x01\n\rrolling_count\x18\x12 \x01(\x0b\x32u.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCountH\x00\x12\x8a\x01\n\x0brolling_std\x18\x13 \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStdH\x00\x12\x8c\x01\n\x0crolling_wavg\x18\x14 \x01(\x0b\x32t.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvgH\x00\x1a\x17\n\x15UpdateByCumulativeSum\x1a\x17\n\x15UpdateByCumulativeMin\x1a\x17\n\x15UpdateByCumulativeMax\x1a\x1b\n\x19UpdateByCumulativeProduct\x1a\x0e\n\x0cUpdateByFill\x1a\xa2\x01\n\x0bUpdateByEma\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa2\x01\n\x0bUpdateByEms\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmMin\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmMax\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmStd\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1aY\n\rUpdateByDelta\x12H\n\x07options\x18\x01 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.UpdateByDeltaOptions\x1a\xc0\x01\n\x12UpdateByRollingSum\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc2\x01\n\x14UpdateByRollingGroup\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingAvg\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingMin\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingMax\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc4\x01\n\x16UpdateByRollingProduct\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc2\x01\n\x14UpdateByRollingCount\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingStd\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xd8\x01\n\x13UpdateByRollingWAvg\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12\x15\n\rweight_column\x18\x03 \x01(\tB\x06\n\x04typeB\x06\n\x04type\"\xb1\x01\n\x15SelectDistinctRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xae\x01\n\x12\x44ropColumnsRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xb5\x01\n\x1eUnstructuredFilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07\x66ilters\x18\x03 \x03(\t\"\xad\x01\n\x11HeadOrTailRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xce\x01\n\x13HeadOrTailByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\x12\x1d\n\x15group_by_column_specs\x18\x04 \x03(\t\"\xc3\x01\n\x0eUngroupRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x11\n\tnull_fill\x18\x03 \x01(\x08\x12\x1a\n\x12\x63olumns_to_ungroup\x18\x04 \x03(\t\"\xad\x01\n\x12MergeTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x45\n\nsource_ids\x18\x02 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x12\n\nkey_column\x18\x03 \x01(\t\"\x9a\x01\n\x14SnapshotTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb1\x02\n\x18SnapshotWhenTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07\x62\x61se_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x45\n\ntrigger_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07initial\x18\x04 \x01(\x08\x12\x13\n\x0bincremental\x18\x05 \x01(\x08\x12\x0f\n\x07history\x18\x06 \x01(\x08\x12\x15\n\rstamp_columns\x18\x07 \x03(\t\"\xa7\x02\n\x16\x43rossJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\x14\n\x0creserve_bits\x18\x06 \x01(\x05\"\x93\x02\n\x18NaturalJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x91\x02\n\x16\x45xactJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x90\x02\n\x15LeftJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\xc9\x03\n\x15\x41sOfJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\\\n\x10\x61s_of_match_rule\x18\x07 \x01(\x0e\x32\x42.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule\"Y\n\tMatchRule\x12\x13\n\x0fLESS_THAN_EQUAL\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12GREATER_THAN_EQUAL\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\"\xcb\x06\n\x16RangeJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x1b\n\x13\x65xact_match_columns\x18\x04 \x03(\t\x12\x19\n\x11left_start_column\x18\x05 \x01(\t\x12\x62\n\x10range_start_rule\x18\x06 \x01(\x0e\x32H.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeStartRule\x12\x1a\n\x12right_range_column\x18\x07 \x01(\t\x12^\n\x0erange_end_rule\x18\x08 \x01(\x0e\x32\x46.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeEndRule\x12\x17\n\x0fleft_end_column\x18\t \x01(\t\x12\x44\n\x0c\x61ggregations\x18\n \x03(\x0b\x32..io.deephaven.proto.backplane.grpc.Aggregation\"v\n\x0eRangeStartRule\x12\x15\n\x11START_UNSPECIFIED\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x02\x12&\n\"LESS_THAN_OR_EQUAL_ALLOW_PRECEDING\x10\x03\"{\n\x0cRangeEndRule\x12\x13\n\x0f\x45ND_UNSPECIFIED\x10\x00\x12\x10\n\x0cGREATER_THAN\x10\x01\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x02\x12)\n%GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING\x10\x03\"\xfe\x04\n\x15\x43omboAggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12V\n\naggregates\x18\x03 \x03(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\x12\x13\n\x0b\x66orce_combo\x18\x05 \x01(\x08\x1a\xad\x01\n\tAggregate\x12N\n\x04type\x18\x01 \x01(\x0e\x32@.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12\x12\n\npercentile\x18\x04 \x01(\x01\x12\x12\n\navg_median\x18\x05 \x01(\x08\"\xa5\x01\n\x07\x41ggType\x12\x07\n\x03SUM\x10\x00\x12\x0b\n\x07\x41\x42S_SUM\x10\x01\x12\t\n\x05GROUP\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\t\n\x05\x43OUNT\x10\x04\x12\t\n\x05\x46IRST\x10\x05\x12\x08\n\x04LAST\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x07\n\x03MAX\x10\x08\x12\n\n\x06MEDIAN\x10\t\x12\x0e\n\nPERCENTILE\x10\n\x12\x07\n\x03STD\x10\x0b\x12\x07\n\x03VAR\x10\x0c\x12\x10\n\x0cWEIGHTED_AVG\x10\r:\x02\x18\x01\"\xed\x01\n\x13\x41ggregateAllRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x38\n\x04spec\x18\x03 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\"\xd7\x17\n\x07\x41ggSpec\x12K\n\x07\x61\x62s_sum\x18\x01 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSumH\x00\x12i\n\x16\x61pproximate_percentile\x18\x02 \x01(\x0b\x32G.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentileH\x00\x12\x44\n\x03\x61vg\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvgH\x00\x12Y\n\x0e\x63ount_distinct\x18\x04 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinctH\x00\x12N\n\x08\x64istinct\x18\x05 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinctH\x00\x12H\n\x05\x66irst\x18\x06 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirstH\x00\x12L\n\x07\x66ormula\x18\x07 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormulaH\x00\x12J\n\x06\x66reeze\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreezeH\x00\x12H\n\x05group\x18\t \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroupH\x00\x12\x46\n\x04last\x18\n \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLastH\x00\x12\x44\n\x03max\x18\x0b \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMaxH\x00\x12J\n\x06median\x18\x0c \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedianH\x00\x12\x44\n\x03min\x18\r \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMinH\x00\x12R\n\npercentile\x18\x0e \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentileH\x00\x12P\n\x0csorted_first\x18\x0f \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12O\n\x0bsorted_last\x18\x10 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12\x44\n\x03std\x18\x11 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStdH\x00\x12\x44\n\x03sum\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSumH\x00\x12M\n\x08t_digest\x18\x13 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigestH\x00\x12J\n\x06unique\x18\x14 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUniqueH\x00\x12R\n\x0cweighted_avg\x18\x15 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12R\n\x0cweighted_sum\x18\x16 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12\x44\n\x03var\x18\x17 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVarH\x00\x1a\\\n\x1c\x41ggSpecApproximatePercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x18\n\x0b\x63ompression\x18\x02 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a+\n\x14\x41ggSpecCountDistinct\x12\x13\n\x0b\x63ount_nulls\x18\x01 \x01(\x08\x1a(\n\x0f\x41ggSpecDistinct\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x1a\x36\n\x0e\x41ggSpecFormula\x12\x0f\n\x07\x66ormula\x18\x01 \x01(\t\x12\x13\n\x0bparam_token\x18\x02 \x01(\t\x1a/\n\rAggSpecMedian\x12\x1e\n\x16\x61verage_evenly_divided\x18\x01 \x01(\x08\x1aG\n\x11\x41ggSpecPercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x1e\n\x16\x61verage_evenly_divided\x18\x02 \x01(\x08\x1a`\n\rAggSpecSorted\x12O\n\x07\x63olumns\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn\x1a*\n\x13\x41ggSpecSortedColumn\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a:\n\x0e\x41ggSpecTDigest\x12\x18\n\x0b\x63ompression\x18\x01 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a\x88\x01\n\rAggSpecUnique\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x12`\n\x13non_unique_sentinel\x18\x02 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel\x1a\xb5\x02\n\x18\x41ggSpecNonUniqueSentinel\x12\x42\n\nnull_value\x18\x01 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.NullValueH\x00\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x13\n\tint_value\x18\x03 \x01(\x11H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x15\n\x0b\x66loat_value\x18\x05 \x01(\x02H\x00\x12\x16\n\x0c\x64ouble_value\x18\x06 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x07 \x01(\x08H\x00\x12\x14\n\nbyte_value\x18\x08 \x01(\x11H\x00\x12\x15\n\x0bshort_value\x18\t \x01(\x11H\x00\x12\x14\n\nchar_value\x18\n \x01(\x11H\x00\x42\x06\n\x04type\x1a(\n\x0f\x41ggSpecWeighted\x12\x15\n\rweight_column\x18\x01 \x01(\t\x1a\x0f\n\rAggSpecAbsSum\x1a\x0c\n\nAggSpecAvg\x1a\x0e\n\x0c\x41ggSpecFirst\x1a\x0f\n\rAggSpecFreeze\x1a\x0e\n\x0c\x41ggSpecGroup\x1a\r\n\x0b\x41ggSpecLast\x1a\x0c\n\nAggSpecMax\x1a\x0c\n\nAggSpecMin\x1a\x0c\n\nAggSpecStd\x1a\x0c\n\nAggSpecSum\x1a\x0c\n\nAggSpecVarB\x06\n\x04type\"\xdc\x02\n\x10\x41ggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12L\n\x11initial_groups_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x16\n\x0epreserve_empty\x18\x04 \x01(\x08\x12\x44\n\x0c\x61ggregations\x18\x05 \x03(\x0b\x32..io.deephaven.proto.backplane.grpc.Aggregation\x12\x18\n\x10group_by_columns\x18\x06 \x03(\t\"\xd3\x05\n\x0b\x41ggregation\x12T\n\x07\x63olumns\x18\x01 \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumnsH\x00\x12P\n\x05\x63ount\x18\x02 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.Aggregation.AggregationCountH\x00\x12Y\n\rfirst_row_key\x18\x03 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\x0clast_row_key\x18\x04 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\tpartition\x18\x05 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartitionH\x00\x1a\x63\n\x12\x41ggregationColumns\x12\x38\n\x04spec\x18\x01 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\'\n\x10\x41ggregationCount\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a(\n\x11\x41ggregationRowKey\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1aM\n\x14\x41ggregationPartition\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12 \n\x18include_group_by_columns\x18\x02 \x01(\x08\x42\x06\n\x04type\"\xe1\x01\n\x0eSortDescriptor\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x13\n\x0bis_absolute\x18\x02 \x01(\x08\x12R\n\tdirection\x18\x03 \x01(\x0e\x32?.io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection\"Q\n\rSortDirection\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\nDESCENDING\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\r\n\tASCENDING\x10\x01\x12\x0b\n\x07REVERSE\x10\x02\"\xd8\x01\n\x10SortTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12@\n\x05sorts\x18\x03 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.SortDescriptor\"\xd7\x01\n\x12\x46ilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xf9\x01\n\x0eSeekRowRequest\x12<\n\tsource_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x18\n\x0cstarting_row\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12>\n\nseek_value\x18\x04 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.Literal\x12\x13\n\x0binsensitive\x18\x05 \x01(\x08\x12\x10\n\x08\x63ontains\x18\x06 \x01(\x08\x12\x13\n\x0bis_backward\x18\x07 \x01(\x08\")\n\x0fSeekRowResponse\x12\x16\n\nresult_row\x18\x01 \x01(\x12\x42\x02\x30\x01\" \n\tReference\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\"\x91\x01\n\x07Literal\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1d\n\x0fnano_time_value\x18\x05 \x01(\x12\x42\x02\x30\x01H\x00\x42\x07\n\x05value\"\x91\x01\n\x05Value\x12\x41\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.ReferenceH\x00\x12=\n\x07literal\x18\x02 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.LiteralH\x00\x42\x06\n\x04\x64\x61ta\"\xbc\x05\n\tCondition\x12>\n\x03\x61nd\x18\x01 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.AndConditionH\x00\x12<\n\x02or\x18\x02 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.OrConditionH\x00\x12>\n\x03not\x18\x03 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.NotConditionH\x00\x12\x46\n\x07\x63ompare\x18\x04 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.CompareConditionH\x00\x12<\n\x02in\x18\x05 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.InConditionH\x00\x12\x44\n\x06invoke\x18\x06 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.InvokeConditionH\x00\x12\x45\n\x07is_null\x18\x07 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.IsNullConditionH\x00\x12\x46\n\x07matches\x18\x08 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MatchesConditionH\x00\x12H\n\x08\x63ontains\x18\t \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.ContainsConditionH\x00\x12\x44\n\x06search\x18\n \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.SearchConditionH\x00\x42\x06\n\x04\x64\x61ta\"M\n\x0c\x41ndCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0bOrCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0cNotCondition\x12<\n\x06\x66ilter\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xac\x03\n\x10\x43ompareCondition\x12W\n\toperation\x18\x01 \x01(\x0e\x32\x44.io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation\x12L\n\x10\x63\x61se_sensitivity\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12\x35\n\x03lhs\x18\x03 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12\x35\n\x03rhs\x18\x04 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"\x82\x01\n\x10\x43ompareOperation\x12\r\n\tLESS_THAN\x10\x00\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x03\x12\n\n\x06\x45QUALS\x10\x04\x12\x0e\n\nNOT_EQUALS\x10\x05\"\x95\x02\n\x0bInCondition\x12\x38\n\x06target\x18\x01 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12<\n\ncandidates\x18\x02 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\x98\x01\n\x0fInvokeCondition\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x38\n\x06target\x18\x02 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12;\n\targuments\x18\x03 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"R\n\x0fIsNullCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\xf2\x01\n\x10MatchesCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\r\n\x05regex\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\xfb\x01\n\x11\x43ontainsCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\x15\n\rsearch_string\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"s\n\x0fSearchCondition\x12\x15\n\rsearch_string\x18\x01 \x01(\t\x12I\n\x13optional_references\x18\x02 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\x94\x01\n\x0e\x46lattenRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\x96\x01\n\x10MetaTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb4\x03\n\x19RunChartDownsampleRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x13\n\x0bpixel_count\x18\x03 \x01(\x05\x12Z\n\nzoom_range\x18\x04 \x01(\x0b\x32\x46.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange\x12\x15\n\rx_column_name\x18\x05 \x01(\t\x12\x16\n\x0ey_column_names\x18\x06 \x03(\t\x1as\n\tZoomRange\x12\x1f\n\x0emin_date_nanos\x18\x01 \x01(\x03\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x1f\n\x0emax_date_nanos\x18\x02 \x01(\x03\x42\x02\x30\x01H\x01\x88\x01\x01\x42\x11\n\x0f_min_date_nanosB\x11\n\x0f_max_date_nanos\"\xf5\x04\n\x17\x43reateInputTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12L\n\x0fsource_table_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReferenceH\x00\x12\x10\n\x06schema\x18\x03 \x01(\x0cH\x00\x12W\n\x04kind\x18\x04 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind\x1a\xd4\x02\n\x0eInputTableKind\x12}\n\x15in_memory_append_only\x18\x01 \x01(\x0b\x32\\.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnlyH\x00\x12{\n\x14in_memory_key_backed\x18\x02 \x01(\x0b\x32[.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBackedH\x00\x1a\x14\n\x12InMemoryAppendOnly\x1a(\n\x11InMemoryKeyBacked\x12\x13\n\x0bkey_columns\x18\x01 \x03(\tB\x06\n\x04kindB\x0c\n\ndefinition\"\x83\x02\n\x0eWhereInRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x10\n\x08inverted\x18\x04 \x01(\x08\x12\x18\n\x10\x63olumns_to_match\x18\x05 \x03(\t\"\xe0\x17\n\x11\x42\x61tchTableRequest\x12K\n\x03ops\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation\x1a\xfd\x16\n\tOperation\x12K\n\x0b\x65mpty_table\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequestH\x00\x12I\n\ntime_table\x18\x02 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.TimeTableRequestH\x00\x12M\n\x0c\x64rop_columns\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequestH\x00\x12J\n\x06update\x18\x04 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0blazy_update\x18\x05 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12H\n\x04view\x18\x06 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0bupdate_view\x18\x07 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12J\n\x06select\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12S\n\x0fselect_distinct\x18\t \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequestH\x00\x12G\n\x06\x66ilter\x18\n \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.FilterTableRequestH\x00\x12`\n\x13unstructured_filter\x18\x0b \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequestH\x00\x12\x43\n\x04sort\x18\x0c \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.SortTableRequestH\x00\x12\x44\n\x04head\x18\r \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12\x44\n\x04tail\x18\x0e \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12I\n\x07head_by\x18\x0f \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12I\n\x07tail_by\x18\x10 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12\x44\n\x07ungroup\x18\x11 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.UngroupRequestH\x00\x12\x46\n\x05merge\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequestH\x00\x12S\n\x0f\x63ombo_aggregate\x18\x13 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequestH\x00\x12\x44\n\x07\x66latten\x18\x15 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.FlattenRequestH\x00\x12\\\n\x14run_chart_downsample\x18\x16 \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequestH\x00\x12O\n\ncross_join\x18\x17 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequestH\x00\x12S\n\x0cnatural_join\x18\x18 \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequestH\x00\x12O\n\nexact_join\x18\x19 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequestH\x00\x12M\n\tleft_join\x18\x1a \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequestH\x00\x12N\n\nas_of_join\x18\x1b \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequestH\x00\x12K\n\x0b\x66\x65tch_table\x18\x1c \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.FetchTableRequestH\x00\x12^\n\x15\x61pply_preview_columns\x18\x1e \x01(\x0b\x32=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequestH\x00\x12X\n\x12\x63reate_input_table\x18\x1f \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.CreateInputTableRequestH\x00\x12G\n\tupdate_by\x18 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.UpdateByRequestH\x00\x12\x45\n\x08where_in\x18! \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.WhereInRequestH\x00\x12O\n\raggregate_all\x18\" \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequestH\x00\x12H\n\taggregate\x18# \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.AggregateRequestH\x00\x12K\n\x08snapshot\x18$ \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequestH\x00\x12T\n\rsnapshot_when\x18% \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequestH\x00\x12I\n\nmeta_table\x18& \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MetaTableRequestH\x00\x12O\n\nrange_join\x18\' \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequestH\x00\x42\x04\n\x02opJ\x04\x08\x14\x10\x15J\x04\x08\x1d\x10\x1e*b\n\x0f\x42\x61\x64\x44\x61taBehavior\x12#\n\x1f\x42\x41\x44_DATA_BEHAVIOR_NOT_SPECIFIED\x10\x00\x12\t\n\x05THROW\x10\x01\x12\t\n\x05RESET\x10\x02\x12\x08\n\x04SKIP\x10\x03\x12\n\n\x06POISON\x10\x04*t\n\x14UpdateByNullBehavior\x12\x1f\n\x1bNULL_BEHAVIOR_NOT_SPECIFIED\x10\x00\x12\x12\n\x0eNULL_DOMINATES\x10\x01\x12\x13\n\x0fVALUE_DOMINATES\x10\x02\x12\x12\n\x0eZERO_DOMINATES\x10\x03*\x1b\n\tNullValue\x12\x0e\n\nNULL_VALUE\x10\x00*2\n\x0f\x43\x61seSensitivity\x12\x0e\n\nMATCH_CASE\x10\x00\x12\x0f\n\x0bIGNORE_CASE\x10\x01*&\n\tMatchType\x12\x0b\n\x07REGULAR\x10\x00\x12\x0c\n\x08INVERTED\x10\x01\x32\xf8,\n\x0cTableService\x12\x91\x01\n GetExportedTableCreationResponse\x12).io.deephaven.proto.backplane.grpc.Ticket\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nFetchTable\x12\x34.io.deephaven.proto.backplane.grpc.FetchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x98\x01\n\x13\x41pplyPreviewColumns\x12=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nEmptyTable\x12\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tTimeTable\x12\x33.io.deephaven.proto.backplane.grpc.TimeTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0b\x44ropColumns\x12\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Update\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nLazyUpdate\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x04View\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nUpdateView\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Select\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x82\x01\n\x08UpdateBy\x12\x32.io.deephaven.proto.backplane.grpc.UpdateByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eSelectDistinct\x12\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x06\x46ilter\x12\x35.io.deephaven.proto.backplane.grpc.FilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x9b\x01\n\x12UnstructuredFilter\x12\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x7f\n\x04Sort\x12\x33.io.deephaven.proto.backplane.grpc.SortTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Head\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Tail\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06HeadBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06TailBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07Ungroup\x12\x31.io.deephaven.proto.backplane.grpc.UngroupRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0bMergeTables\x12\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x43rossJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x94\x01\n\x11NaturalJoinTables\x12;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x45xactJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eLeftJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0e\x41sOfJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0fRangeJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x91\x01\n\x0e\x43omboAggregate\x12\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x03\x88\x02\x01\x12\x8a\x01\n\x0c\x41ggregateAll\x12\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tAggregate\x12\x33.io.deephaven.proto.backplane.grpc.AggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x87\x01\n\x08Snapshot\x12\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8f\x01\n\x0cSnapshotWhen\x12;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07\x46latten\x12\x31.io.deephaven.proto.backplane.grpc.FlattenRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x96\x01\n\x12RunChartDownsample\x12<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x92\x01\n\x10\x43reateInputTable\x12:.io.deephaven.proto.backplane.grpc.CreateInputTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07WhereIn\x12\x31.io.deephaven.proto.backplane.grpc.WhereInRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x05\x42\x61tch\x12\x34.io.deephaven.proto.backplane.grpc.BatchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x30\x01\x12\x99\x01\n\x14\x45xportedTableUpdates\x12>.io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest\x1a=.io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage\"\x00\x30\x01\x12r\n\x07SeekRow\x12\x31.io.deephaven.proto.backplane.grpc.SeekRowRequest\x1a\x32.io.deephaven.proto.backplane.grpc.SeekRowResponse\"\x00\x12\x84\x01\n\tMetaTable\x12\x33.io.deephaven.proto.backplane.grpc.MetaTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x42\x41H\x01P\x01Z;github.com/deephaven/deephaven-core/go/internal/proto/tableb\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'deephaven.proto.table_pb2', globals()) @@ -56,16 +56,16 @@ _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE.fields_by_name['max_date_nanos']._serialized_options = b'0\001' _TABLESERVICE.methods_by_name['ComboAggregate']._options = None _TABLESERVICE.methods_by_name['ComboAggregate']._serialized_options = b'\210\002\001' - _BADDATABEHAVIOR._serialized_start=26799 - _BADDATABEHAVIOR._serialized_end=26897 - _UPDATEBYNULLBEHAVIOR._serialized_start=26899 - _UPDATEBYNULLBEHAVIOR._serialized_end=27015 - _NULLVALUE._serialized_start=27017 - _NULLVALUE._serialized_end=27044 - _CASESENSITIVITY._serialized_start=27046 - _CASESENSITIVITY._serialized_end=27096 - _MATCHTYPE._serialized_start=27098 - _MATCHTYPE._serialized_end=27136 + _BADDATABEHAVIOR._serialized_start=26843 + _BADDATABEHAVIOR._serialized_end=26941 + _UPDATEBYNULLBEHAVIOR._serialized_start=26943 + _UPDATEBYNULLBEHAVIOR._serialized_end=27059 + _NULLVALUE._serialized_start=27061 + _NULLVALUE._serialized_end=27088 + _CASESENSITIVITY._serialized_start=27090 + _CASESENSITIVITY._serialized_end=27140 + _MATCHTYPE._serialized_start=27142 + _MATCHTYPE._serialized_end=27180 _TABLEREFERENCE._serialized_start=96 _TABLEREFERENCE._serialized_end=204 _EXPORTEDTABLECREATIONRESPONSE._serialized_start=207 @@ -179,143 +179,143 @@ _ASOFJOINTABLESREQUEST_MATCHRULE._serialized_start=12440 _ASOFJOINTABLESREQUEST_MATCHRULE._serialized_end=12529 _RANGEJOINTABLESREQUEST._serialized_start=12532 - _RANGEJOINTABLESREQUEST._serialized_end=13331 + _RANGEJOINTABLESREQUEST._serialized_end=13375 _RANGEJOINTABLESREQUEST_RANGESTARTRULE._serialized_start=13132 - _RANGEJOINTABLESREQUEST_RANGESTARTRULE._serialized_end=13227 - _RANGEJOINTABLESREQUEST_RANGEENDRULE._serialized_start=13229 - _RANGEJOINTABLESREQUEST_RANGEENDRULE._serialized_end=13331 - _COMBOAGGREGATEREQUEST._serialized_start=13334 - _COMBOAGGREGATEREQUEST._serialized_end=13972 - _COMBOAGGREGATEREQUEST_AGGREGATE._serialized_start=13627 - _COMBOAGGREGATEREQUEST_AGGREGATE._serialized_end=13800 - _COMBOAGGREGATEREQUEST_AGGTYPE._serialized_start=13803 - _COMBOAGGREGATEREQUEST_AGGTYPE._serialized_end=13968 - _AGGREGATEALLREQUEST._serialized_start=13975 - _AGGREGATEALLREQUEST._serialized_end=14212 - _AGGSPEC._serialized_start=14215 - _AGGSPEC._serialized_end=17246 - _AGGSPEC_AGGSPECAPPROXIMATEPERCENTILE._serialized_start=16021 - _AGGSPEC_AGGSPECAPPROXIMATEPERCENTILE._serialized_end=16113 - _AGGSPEC_AGGSPECCOUNTDISTINCT._serialized_start=16115 - _AGGSPEC_AGGSPECCOUNTDISTINCT._serialized_end=16158 - _AGGSPEC_AGGSPECDISTINCT._serialized_start=16160 - _AGGSPEC_AGGSPECDISTINCT._serialized_end=16200 - _AGGSPEC_AGGSPECFORMULA._serialized_start=16202 - _AGGSPEC_AGGSPECFORMULA._serialized_end=16256 - _AGGSPEC_AGGSPECMEDIAN._serialized_start=16258 - _AGGSPEC_AGGSPECMEDIAN._serialized_end=16305 - _AGGSPEC_AGGSPECPERCENTILE._serialized_start=16307 - _AGGSPEC_AGGSPECPERCENTILE._serialized_end=16378 - _AGGSPEC_AGGSPECSORTED._serialized_start=16380 - _AGGSPEC_AGGSPECSORTED._serialized_end=16476 - _AGGSPEC_AGGSPECSORTEDCOLUMN._serialized_start=16478 - _AGGSPEC_AGGSPECSORTEDCOLUMN._serialized_end=16520 - _AGGSPEC_AGGSPECTDIGEST._serialized_start=16522 - _AGGSPEC_AGGSPECTDIGEST._serialized_end=16580 - _AGGSPEC_AGGSPECUNIQUE._serialized_start=16583 - _AGGSPEC_AGGSPECUNIQUE._serialized_end=16719 - _AGGSPEC_AGGSPECNONUNIQUESENTINEL._serialized_start=16722 - _AGGSPEC_AGGSPECNONUNIQUESENTINEL._serialized_end=17031 - _AGGSPEC_AGGSPECWEIGHTED._serialized_start=17033 - _AGGSPEC_AGGSPECWEIGHTED._serialized_end=17073 - _AGGSPEC_AGGSPECABSSUM._serialized_start=17075 - _AGGSPEC_AGGSPECABSSUM._serialized_end=17090 - _AGGSPEC_AGGSPECAVG._serialized_start=17092 - _AGGSPEC_AGGSPECAVG._serialized_end=17104 - _AGGSPEC_AGGSPECFIRST._serialized_start=17106 - _AGGSPEC_AGGSPECFIRST._serialized_end=17120 - _AGGSPEC_AGGSPECFREEZE._serialized_start=17122 - _AGGSPEC_AGGSPECFREEZE._serialized_end=17137 - _AGGSPEC_AGGSPECGROUP._serialized_start=17139 - _AGGSPEC_AGGSPECGROUP._serialized_end=17153 - _AGGSPEC_AGGSPECLAST._serialized_start=17155 - _AGGSPEC_AGGSPECLAST._serialized_end=17168 - _AGGSPEC_AGGSPECMAX._serialized_start=17170 - _AGGSPEC_AGGSPECMAX._serialized_end=17182 - _AGGSPEC_AGGSPECMIN._serialized_start=17184 - _AGGSPEC_AGGSPECMIN._serialized_end=17196 - _AGGSPEC_AGGSPECSTD._serialized_start=17198 - _AGGSPEC_AGGSPECSTD._serialized_end=17210 - _AGGSPEC_AGGSPECSUM._serialized_start=17212 - _AGGSPEC_AGGSPECSUM._serialized_end=17224 - _AGGSPEC_AGGSPECVAR._serialized_start=17226 - _AGGSPEC_AGGSPECVAR._serialized_end=17238 - _AGGREGATEREQUEST._serialized_start=17249 - _AGGREGATEREQUEST._serialized_end=17597 - _AGGREGATION._serialized_start=17600 - _AGGREGATION._serialized_end=18323 - _AGGREGATION_AGGREGATIONCOLUMNS._serialized_start=18054 - _AGGREGATION_AGGREGATIONCOLUMNS._serialized_end=18153 - _AGGREGATION_AGGREGATIONCOUNT._serialized_start=18155 - _AGGREGATION_AGGREGATIONCOUNT._serialized_end=18194 - _AGGREGATION_AGGREGATIONROWKEY._serialized_start=18196 - _AGGREGATION_AGGREGATIONROWKEY._serialized_end=18236 - _AGGREGATION_AGGREGATIONPARTITION._serialized_start=18238 - _AGGREGATION_AGGREGATIONPARTITION._serialized_end=18315 - _SORTDESCRIPTOR._serialized_start=18326 - _SORTDESCRIPTOR._serialized_end=18551 - _SORTDESCRIPTOR_SORTDIRECTION._serialized_start=18470 - _SORTDESCRIPTOR_SORTDIRECTION._serialized_end=18551 - _SORTTABLEREQUEST._serialized_start=18554 - _SORTTABLEREQUEST._serialized_end=18770 - _FILTERTABLEREQUEST._serialized_start=18773 - _FILTERTABLEREQUEST._serialized_end=18988 - _SEEKROWREQUEST._serialized_start=18991 - _SEEKROWREQUEST._serialized_end=19240 - _SEEKROWRESPONSE._serialized_start=19242 - _SEEKROWRESPONSE._serialized_end=19283 - _REFERENCE._serialized_start=19285 - _REFERENCE._serialized_end=19317 - _LITERAL._serialized_start=19320 - _LITERAL._serialized_end=19465 - _VALUE._serialized_start=19468 - _VALUE._serialized_end=19613 - _CONDITION._serialized_start=19616 - _CONDITION._serialized_end=20316 - _ANDCONDITION._serialized_start=20318 - _ANDCONDITION._serialized_end=20395 - _ORCONDITION._serialized_start=20397 - _ORCONDITION._serialized_end=20473 - _NOTCONDITION._serialized_start=20475 - _NOTCONDITION._serialized_end=20551 - _COMPARECONDITION._serialized_start=20554 - _COMPARECONDITION._serialized_end=20982 - _COMPARECONDITION_COMPAREOPERATION._serialized_start=20852 - _COMPARECONDITION_COMPAREOPERATION._serialized_end=20982 - _INCONDITION._serialized_start=20985 - _INCONDITION._serialized_end=21262 - _INVOKECONDITION._serialized_start=21265 - _INVOKECONDITION._serialized_end=21417 - _ISNULLCONDITION._serialized_start=21419 - _ISNULLCONDITION._serialized_end=21501 - _MATCHESCONDITION._serialized_start=21504 - _MATCHESCONDITION._serialized_end=21746 - _CONTAINSCONDITION._serialized_start=21749 - _CONTAINSCONDITION._serialized_end=22000 - _SEARCHCONDITION._serialized_start=22002 - _SEARCHCONDITION._serialized_end=22117 - _FLATTENREQUEST._serialized_start=22120 - _FLATTENREQUEST._serialized_end=22268 - _METATABLEREQUEST._serialized_start=22271 - _METATABLEREQUEST._serialized_end=22421 - _RUNCHARTDOWNSAMPLEREQUEST._serialized_start=22424 - _RUNCHARTDOWNSAMPLEREQUEST._serialized_end=22860 - _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_start=22745 - _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_end=22860 - _CREATEINPUTTABLEREQUEST._serialized_start=22863 - _CREATEINPUTTABLEREQUEST._serialized_end=23492 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_start=23138 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_end=23478 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_start=23408 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_end=23428 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_start=23430 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_end=23470 - _WHEREINREQUEST._serialized_start=23495 - _WHEREINREQUEST._serialized_end=23754 - _BATCHTABLEREQUEST._serialized_start=23757 - _BATCHTABLEREQUEST._serialized_end=26797 - _BATCHTABLEREQUEST_OPERATION._serialized_start=23856 - _BATCHTABLEREQUEST_OPERATION._serialized_end=26797 - _TABLESERVICE._serialized_start=27139 - _TABLESERVICE._serialized_end=32891 + _RANGEJOINTABLESREQUEST_RANGESTARTRULE._serialized_end=13250 + _RANGEJOINTABLESREQUEST_RANGEENDRULE._serialized_start=13252 + _RANGEJOINTABLESREQUEST_RANGEENDRULE._serialized_end=13375 + _COMBOAGGREGATEREQUEST._serialized_start=13378 + _COMBOAGGREGATEREQUEST._serialized_end=14016 + _COMBOAGGREGATEREQUEST_AGGREGATE._serialized_start=13671 + _COMBOAGGREGATEREQUEST_AGGREGATE._serialized_end=13844 + _COMBOAGGREGATEREQUEST_AGGTYPE._serialized_start=13847 + _COMBOAGGREGATEREQUEST_AGGTYPE._serialized_end=14012 + _AGGREGATEALLREQUEST._serialized_start=14019 + _AGGREGATEALLREQUEST._serialized_end=14256 + _AGGSPEC._serialized_start=14259 + _AGGSPEC._serialized_end=17290 + _AGGSPEC_AGGSPECAPPROXIMATEPERCENTILE._serialized_start=16065 + _AGGSPEC_AGGSPECAPPROXIMATEPERCENTILE._serialized_end=16157 + _AGGSPEC_AGGSPECCOUNTDISTINCT._serialized_start=16159 + _AGGSPEC_AGGSPECCOUNTDISTINCT._serialized_end=16202 + _AGGSPEC_AGGSPECDISTINCT._serialized_start=16204 + _AGGSPEC_AGGSPECDISTINCT._serialized_end=16244 + _AGGSPEC_AGGSPECFORMULA._serialized_start=16246 + _AGGSPEC_AGGSPECFORMULA._serialized_end=16300 + _AGGSPEC_AGGSPECMEDIAN._serialized_start=16302 + _AGGSPEC_AGGSPECMEDIAN._serialized_end=16349 + _AGGSPEC_AGGSPECPERCENTILE._serialized_start=16351 + _AGGSPEC_AGGSPECPERCENTILE._serialized_end=16422 + _AGGSPEC_AGGSPECSORTED._serialized_start=16424 + _AGGSPEC_AGGSPECSORTED._serialized_end=16520 + _AGGSPEC_AGGSPECSORTEDCOLUMN._serialized_start=16522 + _AGGSPEC_AGGSPECSORTEDCOLUMN._serialized_end=16564 + _AGGSPEC_AGGSPECTDIGEST._serialized_start=16566 + _AGGSPEC_AGGSPECTDIGEST._serialized_end=16624 + _AGGSPEC_AGGSPECUNIQUE._serialized_start=16627 + _AGGSPEC_AGGSPECUNIQUE._serialized_end=16763 + _AGGSPEC_AGGSPECNONUNIQUESENTINEL._serialized_start=16766 + _AGGSPEC_AGGSPECNONUNIQUESENTINEL._serialized_end=17075 + _AGGSPEC_AGGSPECWEIGHTED._serialized_start=17077 + _AGGSPEC_AGGSPECWEIGHTED._serialized_end=17117 + _AGGSPEC_AGGSPECABSSUM._serialized_start=17119 + _AGGSPEC_AGGSPECABSSUM._serialized_end=17134 + _AGGSPEC_AGGSPECAVG._serialized_start=17136 + _AGGSPEC_AGGSPECAVG._serialized_end=17148 + _AGGSPEC_AGGSPECFIRST._serialized_start=17150 + _AGGSPEC_AGGSPECFIRST._serialized_end=17164 + _AGGSPEC_AGGSPECFREEZE._serialized_start=17166 + _AGGSPEC_AGGSPECFREEZE._serialized_end=17181 + _AGGSPEC_AGGSPECGROUP._serialized_start=17183 + _AGGSPEC_AGGSPECGROUP._serialized_end=17197 + _AGGSPEC_AGGSPECLAST._serialized_start=17199 + _AGGSPEC_AGGSPECLAST._serialized_end=17212 + _AGGSPEC_AGGSPECMAX._serialized_start=17214 + _AGGSPEC_AGGSPECMAX._serialized_end=17226 + _AGGSPEC_AGGSPECMIN._serialized_start=17228 + _AGGSPEC_AGGSPECMIN._serialized_end=17240 + _AGGSPEC_AGGSPECSTD._serialized_start=17242 + _AGGSPEC_AGGSPECSTD._serialized_end=17254 + _AGGSPEC_AGGSPECSUM._serialized_start=17256 + _AGGSPEC_AGGSPECSUM._serialized_end=17268 + _AGGSPEC_AGGSPECVAR._serialized_start=17270 + _AGGSPEC_AGGSPECVAR._serialized_end=17282 + _AGGREGATEREQUEST._serialized_start=17293 + _AGGREGATEREQUEST._serialized_end=17641 + _AGGREGATION._serialized_start=17644 + _AGGREGATION._serialized_end=18367 + _AGGREGATION_AGGREGATIONCOLUMNS._serialized_start=18098 + _AGGREGATION_AGGREGATIONCOLUMNS._serialized_end=18197 + _AGGREGATION_AGGREGATIONCOUNT._serialized_start=18199 + _AGGREGATION_AGGREGATIONCOUNT._serialized_end=18238 + _AGGREGATION_AGGREGATIONROWKEY._serialized_start=18240 + _AGGREGATION_AGGREGATIONROWKEY._serialized_end=18280 + _AGGREGATION_AGGREGATIONPARTITION._serialized_start=18282 + _AGGREGATION_AGGREGATIONPARTITION._serialized_end=18359 + _SORTDESCRIPTOR._serialized_start=18370 + _SORTDESCRIPTOR._serialized_end=18595 + _SORTDESCRIPTOR_SORTDIRECTION._serialized_start=18514 + _SORTDESCRIPTOR_SORTDIRECTION._serialized_end=18595 + _SORTTABLEREQUEST._serialized_start=18598 + _SORTTABLEREQUEST._serialized_end=18814 + _FILTERTABLEREQUEST._serialized_start=18817 + _FILTERTABLEREQUEST._serialized_end=19032 + _SEEKROWREQUEST._serialized_start=19035 + _SEEKROWREQUEST._serialized_end=19284 + _SEEKROWRESPONSE._serialized_start=19286 + _SEEKROWRESPONSE._serialized_end=19327 + _REFERENCE._serialized_start=19329 + _REFERENCE._serialized_end=19361 + _LITERAL._serialized_start=19364 + _LITERAL._serialized_end=19509 + _VALUE._serialized_start=19512 + _VALUE._serialized_end=19657 + _CONDITION._serialized_start=19660 + _CONDITION._serialized_end=20360 + _ANDCONDITION._serialized_start=20362 + _ANDCONDITION._serialized_end=20439 + _ORCONDITION._serialized_start=20441 + _ORCONDITION._serialized_end=20517 + _NOTCONDITION._serialized_start=20519 + _NOTCONDITION._serialized_end=20595 + _COMPARECONDITION._serialized_start=20598 + _COMPARECONDITION._serialized_end=21026 + _COMPARECONDITION_COMPAREOPERATION._serialized_start=20896 + _COMPARECONDITION_COMPAREOPERATION._serialized_end=21026 + _INCONDITION._serialized_start=21029 + _INCONDITION._serialized_end=21306 + _INVOKECONDITION._serialized_start=21309 + _INVOKECONDITION._serialized_end=21461 + _ISNULLCONDITION._serialized_start=21463 + _ISNULLCONDITION._serialized_end=21545 + _MATCHESCONDITION._serialized_start=21548 + _MATCHESCONDITION._serialized_end=21790 + _CONTAINSCONDITION._serialized_start=21793 + _CONTAINSCONDITION._serialized_end=22044 + _SEARCHCONDITION._serialized_start=22046 + _SEARCHCONDITION._serialized_end=22161 + _FLATTENREQUEST._serialized_start=22164 + _FLATTENREQUEST._serialized_end=22312 + _METATABLEREQUEST._serialized_start=22315 + _METATABLEREQUEST._serialized_end=22465 + _RUNCHARTDOWNSAMPLEREQUEST._serialized_start=22468 + _RUNCHARTDOWNSAMPLEREQUEST._serialized_end=22904 + _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_start=22789 + _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_end=22904 + _CREATEINPUTTABLEREQUEST._serialized_start=22907 + _CREATEINPUTTABLEREQUEST._serialized_end=23536 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_start=23182 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_end=23522 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_start=23452 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_end=23472 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_start=23474 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_end=23514 + _WHEREINREQUEST._serialized_start=23539 + _WHEREINREQUEST._serialized_end=23798 + _BATCHTABLEREQUEST._serialized_start=23801 + _BATCHTABLEREQUEST._serialized_end=26841 + _BATCHTABLEREQUEST_OPERATION._serialized_start=23900 + _BATCHTABLEREQUEST_OPERATION._serialized_end=26841 + _TABLESERVICE._serialized_start=27183 + _TABLESERVICE._serialized_end=32935 # @@protoc_insertion_point(module_scope) diff --git a/server/src/main/java/io/deephaven/server/table/ops/RangeJoinGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/RangeJoinGrpcImpl.java index fc5f026799c..ed5806a4b0b 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/RangeJoinGrpcImpl.java +++ b/server/src/main/java/io/deephaven/server/table/ops/RangeJoinGrpcImpl.java @@ -65,12 +65,15 @@ public void validateRequest(RangeJoinTablesRequest request) throws StatusRuntime Common.validate(request.getLeftId()); Common.validate(request.getRightId()); - for (String exactMatch : request.getExactMatchColumnsList()) { - JoinMatch.parse(exactMatch); + try { + for (String exactMatch : request.getExactMatchColumnsList()) { + JoinMatch.parse(exactMatch); + } + parseRangeMatch(request); + } catch (IllegalArgumentException e) { + throw Exceptions.statusRuntimeException(Code.INVALID_ARGUMENT, e.getMessage()); } - parseRangeMatch(request); - for (Aggregation aggregation : request.getAggregationsList()) { AggregationAdapter.validate(aggregation); } @@ -99,45 +102,39 @@ public Table create(RangeJoinTablesRequest request, List> so } private static RangeJoinMatch parseRangeMatch(@NotNull final RangeJoinTablesRequest request) { - final RangeStartRule rangeStartRule; - switch (request.getRangeStartRule()) { + return RangeJoinMatch.of( + ColumnName.parse(request.getLeftStartColumn()), + adapt(request.getRangeStartRule()), + ColumnName.parse(request.getRightRangeColumn()), + adapt(request.getRangeEndRule()), + ColumnName.parse(request.getLeftEndColumn())); + } + + private static RangeStartRule adapt(RangeJoinTablesRequest.RangeStartRule rule) { + switch (rule) { case LESS_THAN: - rangeStartRule = RangeStartRule.LESS_THAN; - break; + return RangeStartRule.LESS_THAN; case LESS_THAN_OR_EQUAL: - rangeStartRule = RangeStartRule.LESS_THAN_OR_EQUAL; - break; + return RangeStartRule.LESS_THAN_OR_EQUAL; case LESS_THAN_OR_EQUAL_ALLOW_PRECEDING: - rangeStartRule = RangeStartRule.LESS_THAN_OR_EQUAL_ALLOW_PRECEDING; - break; + return RangeStartRule.LESS_THAN_OR_EQUAL_ALLOW_PRECEDING; default: throw Exceptions.statusRuntimeException(Code.INVALID_ARGUMENT, - String.format("Unrecognized range start rule %s for range join", - request.getRangeStartRule())); + String.format("Unrecognized range start rule %s for range join", rule)); } + } - final RangeEndRule rangeEndRule; - switch (request.getRangeEndRule()) { + private static RangeEndRule adapt(RangeJoinTablesRequest.RangeEndRule rule) { + switch (rule) { case GREATER_THAN: - rangeEndRule = RangeEndRule.GREATER_THAN; - break; + return RangeEndRule.GREATER_THAN; case GREATER_THAN_OR_EQUAL: - rangeEndRule = RangeEndRule.GREATER_THAN_OR_EQUAL; - break; + return RangeEndRule.GREATER_THAN_OR_EQUAL; case GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING: - rangeEndRule = RangeEndRule.GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING; - break; + return RangeEndRule.GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING; default: throw Exceptions.statusRuntimeException(Code.INVALID_ARGUMENT, - String.format("Unrecognized range end rule %s for range join", - request.getRangeEndRule())); + String.format("Unrecognized range end rule %s for range join", rule)); } - - return RangeJoinMatch.of( - ColumnName.parse(request.getLeftStartColumn()), - rangeStartRule, - ColumnName.parse(request.getRightRangeColumn()), - rangeEndRule, - ColumnName.parse(request.getLeftEndColumn())); } } diff --git a/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java index 07be7aa5401..2cd229cd27a 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java +++ b/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java @@ -36,6 +36,7 @@ import io.deephaven.proto.backplane.grpc.MergeTablesRequest; import io.deephaven.proto.backplane.grpc.MetaTableRequest; import io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest; +import io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest; import io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest; import io.deephaven.proto.backplane.grpc.SeekRowRequest; import io.deephaven.proto.backplane.grpc.SeekRowResponse; @@ -320,6 +321,12 @@ public void asOfJoinTables(AsOfJoinTablesRequest request, oneShotOperationWrapper(BatchTableRequest.Operation.OpCase.AS_OF_JOIN, request, responseObserver); } + @Override + public void rangeJoinTables(RangeJoinTablesRequest request, + StreamObserver responseObserver) { + oneShotOperationWrapper(BatchTableRequest.Operation.OpCase.RANGE_JOIN, request, responseObserver); + } + @Override public void runChartDownsample(RunChartDownsampleRequest request, StreamObserver responseObserver) { diff --git a/server/src/test/java/io/deephaven/server/table/ops/RangeJoinGrpcTest.java b/server/src/test/java/io/deephaven/server/table/ops/RangeJoinGrpcTest.java new file mode 100644 index 00000000000..f03e0d0ff26 --- /dev/null +++ b/server/src/test/java/io/deephaven/server/table/ops/RangeJoinGrpcTest.java @@ -0,0 +1,197 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.server.table.ops; + +import com.google.protobuf.UnknownFieldSet; +import com.google.protobuf.UnknownFieldSet.Field; +import io.deephaven.engine.util.TableTools; +import io.deephaven.proto.backplane.grpc.AggSpec; +import io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroup; +import io.deephaven.proto.backplane.grpc.Aggregation; +import io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns; +import io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse; +import io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest; +import io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeEndRule; +import io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeStartRule; +import io.deephaven.proto.backplane.grpc.TableReference; +import io.deephaven.proto.util.ExportTicketHelper; +import io.grpc.Status.Code; +import org.junit.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class RangeJoinGrpcTest extends GrpcTableOperationTestBase { + + @Override + public ExportedTableCreationResponse send(RangeJoinTablesRequest request) { + return channel().tableBlocking().rangeJoinTables(request); + } + + @Test + public void rangeJoinStatic() { + final RangeJoinTablesRequest request = prototype(); + final ExportedTableCreationResponse response = channel().tableBlocking().rangeJoinTables(request); + try { + assertThat(response.getSuccess()).isTrue(); + assertThat(response.getIsStatic()).isTrue(); + assertThat(response.getSize()).isEqualTo(1); + } finally { + release(response); + } + } + + @Test + public void missingResultId() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .clearResultId() + .build(); + assertError(request, Code.FAILED_PRECONDITION, "No result ticket supplied"); + } + + @Test + public void missingLeftId() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .clearLeftId() + .build(); + assertError(request, Code.INVALID_ARGUMENT, + "io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest must have field left_id (2)"); + } + + @Test + public void missingRightId() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .clearRightId() + .build(); + assertError(request, Code.INVALID_ARGUMENT, + "io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest must have field right_id (3)"); + } + + @Test + public void missingLeftStartColumn() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .clearLeftStartColumn() + .build(); + assertError(request, Code.INVALID_ARGUMENT, + "io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest must have field left_start_column (5)"); + } + + @Test + public void missingRangeStart() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .clearRangeStartRule() + .build(); + assertError(request, Code.INVALID_ARGUMENT, + "io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest must have field range_start_rule (6)"); + } + + @Test + public void missingRightRangeColumn() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .clearRightRangeColumn() + .build(); + assertError(request, Code.INVALID_ARGUMENT, + "io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest must have field right_range_column (7)"); + } + + @Test + public void missingRangeEnd() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .clearRangeEndRule() + .build(); + assertError(request, Code.INVALID_ARGUMENT, + "io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest must have field range_end_rule (8)"); + } + + @Test + public void missingLeftEndColumn() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .clearLeftEndColumn() + .build(); + assertError(request, Code.INVALID_ARGUMENT, + "io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest must have field left_end_column (9)"); + } + + @Test + public void missingAggregations() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .clearAggregations() + .build(); + assertError(request, Code.INVALID_ARGUMENT, + "io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest must have at least one aggregations (10)"); + } + + @Test + public void unknownFields() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .setUnknownFields(UnknownFieldSet.newBuilder() + .addField(9999, Field.newBuilder().addFixed32(32).build()) + .build()) + .build(); + assertError(request, Code.INVALID_ARGUMENT, + "io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest has unknown field(s)"); + } + + @Test + public void badLeftStartColumn() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .setLeftStartColumn("not a column name") + .build(); + assertError(request, Code.INVALID_ARGUMENT, "Invalid column name \"not a column name\""); + } + + @Test + public void badRangeStartRule() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .setRangeStartRuleValue(999) + .build(); + assertError(request, Code.INVALID_ARGUMENT, "Unrecognized range start rule UNRECOGNIZED for range join"); + } + + @Test + public void badRightRangeColumn() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .setRightRangeColumn("not a column name") + .build(); + assertError(request, Code.INVALID_ARGUMENT, "Invalid column name \"not a column name\""); + } + + @Test + public void badRangeEndRule() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .setRangeEndRuleValue(999) + .build(); + assertError(request, Code.INVALID_ARGUMENT, "Unrecognized range end rule UNRECOGNIZED for range join"); + } + + @Test + public void badLeftEndColumn() { + final RangeJoinTablesRequest request = RangeJoinTablesRequest.newBuilder(prototype()) + .setLeftEndColumn("not a column name") + .build(); + assertError(request, Code.INVALID_ARGUMENT, "Invalid column name \"not a column name\""); + } + + private RangeJoinTablesRequest prototype() { + final TableReference t1 = ref(TableTools.emptyTable(1).view("Lower=ii", "Upper=ii")); + final TableReference t2 = ref(TableTools.emptyTable(1).view("X=ii", "Y=ii")); + return RangeJoinTablesRequest.newBuilder() + .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) + .setLeftId(t1) + .setRightId(t2) + .setLeftStartColumn("Lower") + .setRangeStartRule(RangeStartRule.LESS_THAN_OR_EQUAL) + .setRightRangeColumn("X") + .setRangeEndRule(RangeEndRule.GREATER_THAN_OR_EQUAL) + .setLeftEndColumn("Upper") + .addAggregations(Aggregation.newBuilder() + .setColumns(AggregationColumns.newBuilder() + .setSpec(AggSpec.newBuilder() + .setGroup(AggSpecGroup.getDefaultInstance()) + .build()) + .addMatchPairs("Y") + .build()) + .build()) + .build(); + } +} From 2154d48b342ab174c18cac1a2ec7671b173b6092 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Thu, 1 Jun 2023 14:07:43 -0700 Subject: [PATCH 05/13] Add typed asOfJoin, delegate aj/raj (#3899) * Add typed asOfJoin, delegate aj/raj * Fix pydocs by removing removed jpy class * Fix proxy asOfJoin * Flip signs for aj/raj * Add AsOfJoinMatch parsing --- .../benchmark/engine/AjBenchmark.java | 29 ++-- .../engine/table/impl/QueryTable.java | 105 +++++------ .../engine/table/impl/TableAdapter.java | 13 +- .../engine/table/impl/UncoalescedTable.java | 15 +- .../PartitionedTableProxyImpl.java | 16 +- .../table/impl/AsOfJoinMatchFactory.java | 139 +++++++++++++++ .../engine/table/impl/QueryTableAjTest.java | 134 +++++++------- .../engine/table/impl/QueryTableJoinTest.java | 62 +++---- .../client/impl/BatchTableRequestBuilder.java | 38 ++-- py/server/deephaven/table.py | 17 +- py/server/tests/test_pt_proxy.py | 4 +- py/server/tests/test_table.py | 4 +- .../io/deephaven/graphviz/LabelBuilder.java | 18 +- .../io/deephaven/qst/TableAdapterImpl.java | 9 +- .../io/deephaven/qst/table/AsOfJoinTable.java | 12 +- .../io/deephaven/qst/table/LinkDescriber.java | 5 - .../deephaven/qst/table/ParentsVisitor.java | 5 - .../qst/table/ReverseAsOfJoinTable.java | 39 ----- .../io/deephaven/qst/table/TableBase.java | 21 +-- .../io/deephaven/qst/table/TableSpec.java | 2 - .../qst/table/TableVisitorGeneric.java | 5 - .../server/table/ops/JoinTablesGrpcImpl.java | 37 ++-- .../java/io/deephaven/api/AsOfJoinMatch.java | 101 +++++++++++ .../java/io/deephaven/api/AsOfJoinRule.java | 34 +++- .../java/io/deephaven/api/JoinAddition.java | 3 +- .../main/java/io/deephaven/api/JoinMatch.java | 3 +- .../io/deephaven/api/ReverseAsOfJoinRule.java | 16 -- .../main/java/io/deephaven/api/Strings.java | 4 + .../io/deephaven/api/TableOperations.java | 102 ++--------- .../deephaven/api/TableOperationsAdapter.java | 17 +- .../api/TableOperationsDefaults.java | 71 ++++---- .../api/expression/AsOfJoinMatchFactory.java | 163 ------------------ .../io/deephaven/api/AsOfJoinMatchTest.java | 157 +++++++++++++++++ 33 files changed, 748 insertions(+), 652 deletions(-) create mode 100644 engine/table/src/test/java/io/deephaven/engine/table/impl/AsOfJoinMatchFactory.java delete mode 100644 qst/src/main/java/io/deephaven/qst/table/ReverseAsOfJoinTable.java create mode 100644 table-api/src/main/java/io/deephaven/api/AsOfJoinMatch.java delete mode 100644 table-api/src/main/java/io/deephaven/api/ReverseAsOfJoinRule.java delete mode 100644 table-api/src/main/java/io/deephaven/api/expression/AsOfJoinMatchFactory.java create mode 100644 table-api/src/test/java/io/deephaven/api/AsOfJoinMatchTest.java diff --git a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/AjBenchmark.java b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/AjBenchmark.java index 755a77f1c2b..68cca63596f 100644 --- a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/AjBenchmark.java +++ b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/AjBenchmark.java @@ -170,7 +170,7 @@ public Table ajStatic(Blackhole bh) { throw new UnsupportedOperationException("Buckets must be positive!"); } final Table result = UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> leftTable.aj(rightTable, joinKeyName + ",LeftStamp=RightStamp", "RightSentinel")); + .computeLocked(() -> leftTable.aj(rightTable, joinKeyName + ",LeftStamp>=RightStamp", "RightSentinel")); return doFingerPrint(result, bh); } @@ -181,7 +181,8 @@ public Table ajLeftIncremental(Blackhole bh) { } final Table result = IncrementalBenchmark.incrementalBenchmark( (lt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> lt.aj(rightTable, joinKeyName + ",LeftStamp=RightStamp", "RightSentinel")), + .computeLocked( + () -> lt.aj(rightTable, joinKeyName + ",LeftStamp>=RightStamp", "RightSentinel")), leftTable); return doFingerPrint(result, bh); } @@ -193,7 +194,8 @@ public Table ajLeftIncrementalSmallSteps(Blackhole bh) { } final Table result = IncrementalBenchmark.incrementalBenchmark( (lt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> lt.aj(rightTable, joinKeyName + ",LeftStamp=RightStamp", "RightSentinel")), + .computeLocked( + () -> lt.aj(rightTable, joinKeyName + ",LeftStamp>=RightStamp", "RightSentinel")), leftTable, 100); return doFingerPrint(result, bh); } @@ -205,7 +207,8 @@ public Table ajLeftIncrementalTinySteps(Blackhole bh) { } final Table result = IncrementalBenchmark.incrementalBenchmark( (lt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> lt.aj(rightTable, joinKeyName + ",LeftStamp=RightStamp", "RightSentinel")), + .computeLocked( + () -> lt.aj(rightTable, joinKeyName + ",LeftStamp>=RightStamp", "RightSentinel")), leftTable, 1000); return doFingerPrint(result, bh); } @@ -217,7 +220,7 @@ public Table ajRightIncremental(Blackhole bh) { } final Table result = IncrementalBenchmark.incrementalBenchmark( (rt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> leftTable.aj(rt, joinKeyName + ",LeftStamp=RightStamp", "RightSentinel")), + .computeLocked(() -> leftTable.aj(rt, joinKeyName + ",LeftStamp>=RightStamp", "RightSentinel")), rightTable); return doFingerPrint(result, bh); } @@ -228,7 +231,7 @@ public Table ajZkStatic(Blackhole bh) { throw new UnsupportedOperationException("Zero key should have zero buckets!"); } final Table result = UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> leftTable.aj(rightTable, "LeftStamp=RightStamp", "RightSentinel")); + .computeLocked(() -> leftTable.aj(rightTable, "LeftStamp>=RightStamp", "RightSentinel")); return doFingerPrint(result, bh); } @@ -240,7 +243,7 @@ public Table ajZkLeftIncremental(Blackhole bh) { final Table result = IncrementalBenchmark.incrementalBenchmark( (lt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> lt.aj(rightTable, "LeftStamp=RightStamp", "RightSentinel")), + .computeLocked(() -> lt.aj(rightTable, "LeftStamp>=RightStamp", "RightSentinel")), leftTable); return doFingerPrint(result, bh); } @@ -253,7 +256,7 @@ public Table ajZkRightIncremental(Blackhole bh) { final Table result = IncrementalBenchmark.incrementalBenchmark( (rt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> leftTable.aj(rt, "LeftStamp=RightStamp", "RightSentinel")), + .computeLocked(() -> leftTable.aj(rt, "LeftStamp>=RightStamp", "RightSentinel")), rightTable); return doFingerPrint(result, bh); } @@ -265,7 +268,7 @@ public Table ajZkIncremental(Blackhole bh) { } final Table result = IncrementalBenchmark.incrementalBenchmark( (lt, rt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> lt.aj(rt, "LeftStamp=RightStamp", "RightSentinel")), + .computeLocked(() -> lt.aj(rt, "LeftStamp>=RightStamp", "RightSentinel")), leftTable, rightTable); return doFingerPrint(result, bh); } @@ -277,7 +280,7 @@ public Table ajZkIncrementalStartup(Blackhole bh) { } final Table result = IncrementalBenchmark.incrementalBenchmark( (lt, rt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> lt.aj(rt, "LeftStamp=RightStamp", "RightSentinel")), + .computeLocked(() -> lt.aj(rt, "LeftStamp>=RightStamp", "RightSentinel")), leftTable, rightTable, 0.95, 1); return doFingerPrint(result, bh); } @@ -289,7 +292,7 @@ public Table ajZkIncrementalSmallSteps(Blackhole bh) { } final Table result = IncrementalBenchmark.incrementalBenchmark( (lt, rt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> lt.aj(rt, "LeftStamp=RightStamp", "RightSentinel")), + .computeLocked(() -> lt.aj(rt, "LeftStamp>=RightStamp", "RightSentinel")), leftTable, rightTable, 0.1, 100); return doFingerPrint(result, bh); } @@ -302,7 +305,7 @@ public Table ajIncrementalSmallSteps(Blackhole bh) { } final Table result = IncrementalBenchmark.incrementalBenchmark( (lt, rt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> lt.aj(rt, joinKeyName + ",LeftStamp=RightStamp", "RightSentinel")), + .computeLocked(() -> lt.aj(rt, joinKeyName + ",LeftStamp>=RightStamp", "RightSentinel")), leftTable, rightTable, 0.1, 100); return doFingerPrint(result, bh); } @@ -314,7 +317,7 @@ public Table ajIncremental(Blackhole bh) { } final Table result = IncrementalBenchmark.incrementalBenchmark( (lt, rt) -> UpdateGraphProcessor.DEFAULT.sharedLock() - .computeLocked(() -> lt.aj(rt, joinKeyName + ",LeftStamp=RightStamp", "RightSentinel")), + .computeLocked(() -> lt.aj(rt, joinKeyName + ",LeftStamp>=RightStamp", "RightSentinel")), leftTable, rightTable); return doFingerPrint(result, bh); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java index 1408cb07ada..e4a422ee57c 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java @@ -4,12 +4,12 @@ package io.deephaven.engine.table.impl; import io.deephaven.UncheckedDeephavenException; +import io.deephaven.api.AsOfJoinMatch; import io.deephaven.api.AsOfJoinRule; import io.deephaven.api.ColumnName; import io.deephaven.api.JoinAddition; import io.deephaven.api.JoinMatch; import io.deephaven.api.RangeJoinMatch; -import io.deephaven.api.ReverseAsOfJoinRule; import io.deephaven.api.Selectable; import io.deephaven.api.SortColumn; import io.deephaven.api.Strings; @@ -1828,57 +1828,57 @@ public void onUpdate(final TableUpdate upstream) { } @Override - public Table aj( + public Table asOfJoin( Table rightTable, - Collection columnsToMatch, - Collection columnsToAdd, - AsOfJoinRule asOfJoinRule) { - return ajImpl( - rightTable, - MatchPair.fromMatches(columnsToMatch), - MatchPair.fromAddition(columnsToAdd), - AsOfMatchRule.of(asOfJoinRule)); - } - - @Override - public Table raj( - Table rightTable, - Collection columnsToMatch, - Collection columnsToAdd, - ReverseAsOfJoinRule reverseAsOfJoinRule) { - return rajImpl( - rightTable, - MatchPair.fromMatches(columnsToMatch), - MatchPair.fromAddition(columnsToAdd), - AsOfMatchRule.of(reverseAsOfJoinRule)); + Collection exactMatches, + AsOfJoinMatch asOfMatch, + Collection columnsToAdd) { + final MatchPair[] matches = Stream.concat( + exactMatches.stream().map(MatchPair::of), + Stream.of(new MatchPair(asOfMatch.leftColumn().name(), asOfMatch.rightColumn().name()))) + .toArray(MatchPair[]::new); + final MatchPair[] additions = MatchPair.fromAddition(columnsToAdd); + final AsOfJoinRule joinRule = asOfMatch.joinRule(); + switch (joinRule) { + case GREATER_THAN_EQUAL: + case GREATER_THAN: + return ajImpl(rightTable, matches, additions, joinRule); + case LESS_THAN_EQUAL: + case LESS_THAN: + return rajImpl(rightTable, matches, additions, joinRule); + default: + throw new IllegalStateException("Unexpected join rule " + joinRule); + } } private Table ajImpl(final Table rightTable, final MatchPair[] columnsToMatch, final MatchPair[] columnsToAdd, - AsOfMatchRule asOfMatchRule) { + AsOfJoinRule joinRule) { if (rightTable == null) { throw new IllegalArgumentException("aj() requires a non-null right hand side table."); } final Table rightTableCoalesced = rightTable.coalesce(); return QueryPerformanceRecorder.withNugget( - "aj(" + "rightTable, " + matchString(columnsToMatch) + ", " + matchString(columnsToAdd) + ")", + "aj(" + "rightTable, " + matchString(columnsToMatch) + ", " + joinRule + ", " + + matchString(columnsToAdd) + ")", () -> ajInternal(rightTableCoalesced, columnsToMatch, columnsToAdd, SortingOrder.Ascending, - asOfMatchRule)); + joinRule)); } private Table rajImpl(final Table rightTable, final MatchPair[] columnsToMatch, final MatchPair[] columnsToAdd, - AsOfMatchRule asOfMatchRule) { + AsOfJoinRule joinRule) { if (rightTable == null) { throw new IllegalArgumentException("raj() requires a non-null right hand side table."); } final Table rightTableCoalesced = rightTable.coalesce(); return QueryPerformanceRecorder.withNugget( - "raj(" + "rightTable, " + matchString(columnsToMatch) + ", " + matchString(columnsToAdd) + ")", + "raj(" + "rightTable, " + matchString(columnsToMatch) + ", " + joinRule + ", " + + matchString(columnsToAdd) + ")", () -> ajInternal(rightTableCoalesced.reverse(), columnsToMatch, columnsToAdd, SortingOrder.Descending, - asOfMatchRule)); + joinRule)); } private Table ajInternal(Table rightTable, MatchPair[] columnsToMatch, MatchPair[] columnsToAdd, - final SortingOrder order, AsOfMatchRule asOfMatchRule) { + final SortingOrder order, AsOfJoinRule joinRule) { if (rightTable == null) { throw new IllegalArgumentException("aj() requires a non-null right hand side table."); } @@ -1907,28 +1907,28 @@ private Table ajInternal(Table rightTable, MatchPair[] columnsToMatch, MatchPair columnsToAdd = revisedAdded.toArray(MatchPair.ZERO_LENGTH_MATCH_PAIR_ARRAY); final boolean disallowExactMatch; - switch (asOfMatchRule) { - case LESS_THAN: + switch (joinRule) { + case GREATER_THAN: if (order != SortingOrder.Ascending) { - throw new IllegalArgumentException("Invalid as of match rule for raj: " + asOfMatchRule); + throw new IllegalArgumentException("Invalid as of match rule for raj: " + joinRule); } disallowExactMatch = true; break; - case LESS_THAN_EQUAL: + case GREATER_THAN_EQUAL: if (order != SortingOrder.Ascending) { - throw new IllegalArgumentException("Invalid as of match rule for raj: " + asOfMatchRule); + throw new IllegalArgumentException("Invalid as of match rule for raj: " + joinRule); } disallowExactMatch = false; break; - case GREATER_THAN: + case LESS_THAN: if (order != SortingOrder.Descending) { - throw new IllegalArgumentException("Invalid as of match rule for aj: " + asOfMatchRule); + throw new IllegalArgumentException("Invalid as of match rule for aj: " + joinRule); } disallowExactMatch = true; break; - case GREATER_THAN_EQUAL: + case LESS_THAN_EQUAL: if (order != SortingOrder.Descending) { - throw new IllegalArgumentException("Invalid as of match rule for aj: " + asOfMatchRule); + throw new IllegalArgumentException("Invalid as of match rule for aj: " + joinRule); } disallowExactMatch = false; break; @@ -3506,31 +3506,4 @@ public static SafeCloseable disableParallelWhereForThread() { static Boolean isParallelWhereDisabledForThread() { return disableParallelWhereForThread.get(); } - - /** - * Rules for the inexact matching performed on the final column to match by in {@link #aj} and {@link #raj}. - */ - private enum AsOfMatchRule { - LESS_THAN_EQUAL, LESS_THAN, GREATER_THAN_EQUAL, GREATER_THAN; - - public static AsOfMatchRule of(AsOfJoinRule rule) { - switch (rule) { - case LESS_THAN_EQUAL: - return LESS_THAN_EQUAL; - case LESS_THAN: - return LESS_THAN; - } - throw new IllegalStateException("Unexpected rule " + rule); - } - - public static AsOfMatchRule of(ReverseAsOfJoinRule rule) { - switch (rule) { - case GREATER_THAN_EQUAL: - return GREATER_THAN_EQUAL; - case GREATER_THAN: - return GREATER_THAN; - } - throw new IllegalStateException("Unexpected rule " + rule); - } - } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableAdapter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableAdapter.java index b632111acc4..482dcbcdcc7 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableAdapter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableAdapter.java @@ -1,11 +1,10 @@ package io.deephaven.engine.table.impl; -import io.deephaven.api.AsOfJoinRule; +import io.deephaven.api.AsOfJoinMatch; import io.deephaven.api.ColumnName; import io.deephaven.api.JoinAddition; import io.deephaven.api.JoinMatch; import io.deephaven.api.RangeJoinMatch; -import io.deephaven.api.ReverseAsOfJoinRule; import io.deephaven.api.Selectable; import io.deephaven.api.SortColumn; import io.deephaven.api.agg.Aggregation; @@ -255,14 +254,8 @@ default Table exactJoin(Table rightTable, Collection column } @Override - default Table aj(Table rightTable, Collection columnsToMatch, - Collection columnsToAdd, AsOfJoinRule asOfJoinRule) { - return throwUnsupported(); - } - - @Override - default Table raj(Table rightTable, Collection columnsToMatch, - Collection columnsToAdd, ReverseAsOfJoinRule reverseAsOfJoinRule) { + default Table asOfJoin(Table rightTable, Collection exactMatches, AsOfJoinMatch asOfMatch, + Collection columnsToAdd) { return throwUnsupported(); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java index 8640413c80f..644391f3376 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java @@ -3,12 +3,11 @@ */ package io.deephaven.engine.table.impl; -import io.deephaven.api.AsOfJoinRule; +import io.deephaven.api.AsOfJoinMatch; import io.deephaven.api.ColumnName; import io.deephaven.api.JoinAddition; import io.deephaven.api.JoinMatch; import io.deephaven.api.RangeJoinMatch; -import io.deephaven.api.ReverseAsOfJoinRule; import io.deephaven.api.Selectable; import io.deephaven.api.SortColumn; import io.deephaven.api.agg.Aggregation; @@ -326,15 +325,9 @@ public Table exactJoin( } @Override - public Table aj(Table rightTable, Collection columnsToMatch, - Collection columnsToAdd, AsOfJoinRule asOfJoinRule) { - return coalesce().aj(rightTable, columnsToMatch, columnsToAdd, asOfJoinRule); - } - - @Override - public Table raj(Table rightTable, Collection columnsToMatch, - Collection columnsToAdd, ReverseAsOfJoinRule reverseAsOfJoinRule) { - return coalesce().raj(rightTable, columnsToMatch, columnsToAdd, reverseAsOfJoinRule); + public Table asOfJoin(Table rightTable, Collection exactMatches, AsOfJoinMatch asOfMatch, + Collection columnsToAdd) { + return coalesce().asOfJoin(rightTable, exactMatches, asOfMatch, columnsToAdd); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/partitioned/PartitionedTableProxyImpl.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/partitioned/PartitionedTableProxyImpl.java index 4169de534a2..042fe2e6b3c 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/partitioned/PartitionedTableProxyImpl.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/partitioned/PartitionedTableProxyImpl.java @@ -522,17 +522,11 @@ public PartitionedTable.Proxy join(TableOperations rightTable, Collection< } @Override - public PartitionedTable.Proxy aj(TableOperations rightTable, Collection columnsToMatch, - Collection columnsToAdd, AsOfJoinRule asOfJoinRule) { - return complexTransform(rightTable, (ct, ot) -> ct.aj(ot, columnsToMatch, columnsToAdd, asOfJoinRule), - columnsToMatch.stream().limit(columnsToMatch.size() - 1).collect(Collectors.toList())); - } - - @Override - public PartitionedTable.Proxy raj(TableOperations rightTable, Collection columnsToMatch, - Collection columnsToAdd, ReverseAsOfJoinRule reverseAsOfJoinRule) { - return complexTransform(rightTable, (ct, ot) -> ct.raj(ot, columnsToMatch, columnsToAdd, reverseAsOfJoinRule), - columnsToMatch.stream().limit(columnsToMatch.size() - 1).collect(Collectors.toList())); + public PartitionedTable.Proxy asOfJoin(TableOperations rightTable, + Collection exactMatches, + AsOfJoinMatch asOfMatch, Collection columnsToAdd) { + return complexTransform(rightTable, (ct, ot) -> ct.asOfJoin(ot, exactMatches, asOfMatch, columnsToAdd), + exactMatches); } @Override diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/AsOfJoinMatchFactory.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/AsOfJoinMatchFactory.java new file mode 100644 index 00000000000..58bd97f9a44 --- /dev/null +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/AsOfJoinMatchFactory.java @@ -0,0 +1,139 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.engine.table.impl; + +import io.deephaven.api.AsOfJoinMatch; +import io.deephaven.api.AsOfJoinRule; +import io.deephaven.api.ColumnName; +import io.deephaven.api.JoinMatch; +import io.deephaven.api.TableOperationsDefaults; +import io.deephaven.api.expression.AbstractExpressionFactory; +import io.deephaven.api.expression.ExpressionParser; +import io.deephaven.api.expression.SelectFactoryConstants; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import java.util.function.BiFunction; +import java.util.regex.Matcher; + +/** + * {@link JoinMatch} Factory that accepts final value of either =, <=, or <, > >= and returns a JoinMatch[] + * and either an {@link AsOfJoinRule}. + * + *

+ * Deprecated: replace with {@link TableOperationsDefaults#splitToList(String)}, {@link JoinMatch#from(String...)}, + * {@link AsOfJoinMatch#parseForAj(String)}, and/or {@link AsOfJoinMatch#parseForRaj(String)}. + */ +@Deprecated +public class AsOfJoinMatchFactory { + public static class AsOfJoinResult { + public final List matches; + public final AsOfJoinMatch joinMatch; + + private AsOfJoinResult(List matches, AsOfJoinMatch joinMatch) { + this.matches = Objects.requireNonNull(matches); + this.joinMatch = Objects.requireNonNull(joinMatch); + } + } + + private static final ExpressionParser asOfJoinParser = new ExpressionParser<>(); + private static final ExpressionParser reverseAsOfJoinParser = new ExpressionParser<>(); + static { + final BiFunction bif = + (joinMatch, joinRule) -> AsOfJoinMatch.of(joinMatch.left(), joinRule, joinMatch.right()); + registerSingularFactory(asOfJoinParser, AsOfJoinRule.GREATER_THAN_EQUAL, bif); + asOfJoinParser.registerFactory(new AbstractExpressionFactory( + SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")\\s*>=\\s*(" + + SelectFactoryConstants.ID_PTRN + ")" + SelectFactoryConstants.END_PTRN) { + @Override + public AsOfJoinMatch getExpression(String expression, Matcher matcher, Object... args) { + final ColumnName firstColumn = ColumnName.of(matcher.group(1)); + final ColumnName secondColumn = ColumnName.of(matcher.group(2)); + return AsOfJoinMatch.of(firstColumn, AsOfJoinRule.GREATER_THAN_EQUAL, secondColumn); + } + }); + asOfJoinParser.registerFactory(new AbstractExpressionFactory( + SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")\\s*>\\s*(" + + SelectFactoryConstants.ID_PTRN + ")" + SelectFactoryConstants.END_PTRN) { + @Override + public AsOfJoinMatch getExpression(String expression, Matcher matcher, Object... args) { + final ColumnName firstColumn = ColumnName.of(matcher.group(1)); + final ColumnName secondColumn = ColumnName.of(matcher.group(2)); + return AsOfJoinMatch.of(firstColumn, AsOfJoinRule.GREATER_THAN, secondColumn); + } + }); + + registerSingularFactory(reverseAsOfJoinParser, AsOfJoinRule.LESS_THAN_EQUAL, bif); + reverseAsOfJoinParser.registerFactory(new AbstractExpressionFactory( + SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")\\s*<=\\s*(" + + SelectFactoryConstants.ID_PTRN + ")" + SelectFactoryConstants.END_PTRN) { + @Override + public AsOfJoinMatch getExpression(String expression, Matcher matcher, Object... args) { + final ColumnName firstColumn = ColumnName.of(matcher.group(1)); + final ColumnName secondColumn = ColumnName.of(matcher.group(2)); + return AsOfJoinMatch.of(firstColumn, AsOfJoinRule.LESS_THAN_EQUAL, secondColumn); + } + }); + reverseAsOfJoinParser.registerFactory(new AbstractExpressionFactory( + SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")\\s*<\\s*(" + + SelectFactoryConstants.ID_PTRN + ")" + SelectFactoryConstants.END_PTRN) { + @Override + public AsOfJoinMatch getExpression(String expression, Matcher matcher, Object... args) { + final ColumnName firstColumn = ColumnName.of(matcher.group(1)); + final ColumnName secondColumn = ColumnName.of(matcher.group(2)); + return AsOfJoinMatch.of(firstColumn, AsOfJoinRule.LESS_THAN, secondColumn); + } + }); + } + + private static void registerSingularFactory( + ExpressionParser joinParser, R rule, BiFunction factory) { + joinParser.registerFactory(new AbstractExpressionFactory( + SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")" + + SelectFactoryConstants.END_PTRN) { + @Override + public T getExpression(String expression, Matcher matcher, Object... args) { + final ColumnName column = ColumnName.of(matcher.group(1)); + return factory.apply(JoinMatch.of(column, column), rule); + } + }); + } + + private static AsOfJoinMatch getAjExpression(String match) { + return asOfJoinParser.parse(match); + } + + public static AsOfJoinResult getAjExpressions(String... matches) { + final List result = new ArrayList<>(matches.length - 1); + for (int ii = 0; ii < matches.length - 1; ++ii) { + result.add(JoinMatch.parse(matches[ii])); + } + final AsOfJoinMatch joinMatch = getAjExpression(matches[matches.length - 1]); + return new AsOfJoinResult(Collections.unmodifiableList(result), joinMatch); + } + + public static AsOfJoinResult getAjExpressions(Collection matches) { + return getAjExpressions(matches.toArray(new String[0])); + } + + private static AsOfJoinMatch getRajExpression(String match) { + return reverseAsOfJoinParser.parse(match); + } + + public static AsOfJoinResult getRajExpressions(String... matches) { + final List result = new ArrayList<>(matches.length - 1); + for (int ii = 0; ii < matches.length - 1; ++ii) { + result.add(JoinMatch.parse(matches[ii])); + } + final AsOfJoinMatch joinMatch = getRajExpression(matches[matches.length - 1]); + return new AsOfJoinResult(Collections.unmodifiableList(result), joinMatch); + } + + public static AsOfJoinResult getRajExpressions(Collection matches) { + return getRajExpressions(matches.toArray(new String[0])); + } +} diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAjTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAjTest.java index 6cf4bd29625..7b6877520b2 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAjTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAjTest.java @@ -3,6 +3,7 @@ */ package io.deephaven.engine.table.impl; +import io.deephaven.engine.table.impl.AsOfJoinMatchFactory.AsOfJoinResult; import io.deephaven.base.clock.Clock; import io.deephaven.base.testing.BaseArrayTestCase; import io.deephaven.datastructures.util.CollectionUtil; @@ -17,7 +18,6 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.table.Table; -import io.deephaven.api.expression.AsOfJoinMatchFactory; import io.deephaven.engine.table.impl.select.MatchPairFactory; import io.deephaven.engine.context.QueryScope; import io.deephaven.time.DateTime; @@ -34,7 +34,6 @@ import java.util.Arrays; import java.util.Collections; -import java.util.List; import java.util.Map; import java.util.Random; import java.util.Set; @@ -70,7 +69,7 @@ public void testAjConflict() { intCol("Sentinel", 1, 2, 3, 4, 5, 6, 7)); try { - left.aj(right, "LeftStamp=RightStamp"); + left.aj(right, "LeftStamp>=RightStamp"); TestCase.fail("Expected conflicting column exception!"); } catch (RuntimeException e) { assertEquals(e.getMessage(), "Conflicting column names [Bucket]"); @@ -84,7 +83,7 @@ public void testAjNull() { longCol("LeftStamp", 1L, 10L, 50L, 3L, 4L, 60L)); try { - left.aj(null, "LeftStamp=RightStamp"); + left.aj(null, "LeftStamp>=RightStamp"); TestCase.fail("Expected null argument exception!"); } catch (RuntimeException e) { assertEquals("aj() requires a non-null right hand side table.", e.getMessage()); @@ -122,7 +121,7 @@ public void testAjStatic(MakeColumn leftMaker, MakeColumn rightMaker) { System.out.println("Right"); TableTools.show(right); - final Table result = left.aj(right, "Bucket,LeftStamp=RightStamp", "Sentinel"); + final Table result = left.aj(right, "Bucket,LeftStamp>=RightStamp", "Sentinel"); System.out.println("Result"); TableTools.showWithRowSet(result); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -130,7 +129,7 @@ public void testAjStatic(MakeColumn leftMaker, MakeColumn rightMaker) { BaseArrayTestCase.assertEquals(new int[] {1, 2, 5, NULL_INT, NULL_INT, 5}, intColumn(result, "Sentinel")); - final Table ltResult = left.aj(right, "Bucket,LeftStampRightStamp", "Sentinel"); System.out.println("LT Result"); TableTools.showWithRowSet(ltResult); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -139,7 +138,7 @@ public void testAjStatic(MakeColumn leftMaker, MakeColumn rightMaker) { BaseArrayTestCase.assertEquals(new int[] {NULL_INT, 2, 3, NULL_INT, NULL_INT, 5}, intColumn(ltResult, "Sentinel")); - final Table reverseResult = left.raj(right, "Bucket,LeftStamp=RightStamp", "Sentinel"); + final Table reverseResult = left.raj(right, "Bucket,LeftStamp<=RightStamp", "Sentinel"); System.out.println("Reverse Result"); TableTools.showWithRowSet(reverseResult); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -148,7 +147,7 @@ public void testAjStatic(MakeColumn leftMaker, MakeColumn rightMaker) { BaseArrayTestCase.assertEquals(new int[] {1, 4, 5, NULL_INT, 6, NULL_INT}, intColumn(reverseResult, "Sentinel")); - final Table reverseResultGt = left.raj(right, "Bucket,LeftStamp>RightStamp", "Sentinel"); + final Table reverseResultGt = left.raj(right, "Bucket,LeftStamp=RightStamp", "Sentinel"); System.out.println("Result"); TableTools.showWithRowSet(result); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -182,7 +181,7 @@ public void testAjBoolean() { BaseArrayTestCase.assertEquals(new int[] {3, 2, 4, 2, NULL_INT, 5, 5, 1}, intColumn(result, "Sentinel")); - final Table ltResult = left.aj(right, "Bucket,LeftStampRightStamp", "Sentinel"); System.out.println("LT Result"); TableTools.showWithRowSet(ltResult); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -191,7 +190,7 @@ public void testAjBoolean() { BaseArrayTestCase.assertEquals(new int[] {2, 1, NULL_INT, 1, NULL_INT, 5, NULL_INT, NULL_INT}, intColumn(ltResult, "Sentinel")); - final Table reverseResult = left.raj(right, "Bucket,LeftStamp=RightStamp", "Sentinel"); + final Table reverseResult = left.raj(right, "Bucket,LeftStamp<=RightStamp", "Sentinel"); System.out.println("Reverse Result"); TableTools.showWithRowSet(reverseResult); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -199,7 +198,7 @@ public void testAjBoolean() { BaseArrayTestCase.assertEquals(new int[] {3, 2, 4, 2, 4, NULL_INT, 5, 1}, intColumn(reverseResult, "Sentinel")); - final Table reverseResultGt = left.raj(right, "Bucket,LeftStamp>RightStamp", "Sentinel"); + final Table reverseResultGt = left.raj(right, "Bucket,LeftStamp=RightStamp", "Sentinel"); System.out.println("Result"); TableTools.showWithRowSet(result); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -236,7 +235,7 @@ public void testAjDateTime() { BaseArrayTestCase.assertEquals(new int[] {3, 2, 4, 2, NULL_INT, 5, 5, 1}, intColumn(result, "Sentinel")); - final Table ltResult = left.aj(right, "Bucket,LeftStampRightStamp", "Sentinel"); System.out.println("LT Result"); TableTools.showWithRowSet(ltResult); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -245,7 +244,7 @@ public void testAjDateTime() { BaseArrayTestCase.assertEquals(new int[] {2, 1, NULL_INT, 1, NULL_INT, 5, NULL_INT, NULL_INT}, intColumn(ltResult, "Sentinel")); - final Table reverseResult = left.raj(right, "Bucket,LeftStamp=RightStamp", "Sentinel"); + final Table reverseResult = left.raj(right, "Bucket,LeftStamp<=RightStamp", "Sentinel"); System.out.println("Reverse Result"); TableTools.showWithRowSet(reverseResult); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -253,7 +252,7 @@ public void testAjDateTime() { BaseArrayTestCase.assertEquals(new int[] {3, 2, 4, 2, 4, NULL_INT, 5, 1}, intColumn(reverseResult, "Sentinel")); - final Table reverseResultGt = left.raj(right, "Bucket,LeftStamp>RightStamp", "Sentinel"); + final Table reverseResultGt = left.raj(right, "Bucket,LeftStamp=RightStamp", "Sentinel"); System.out.println("Result"); TableTools.showWithRowSet(result); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -294,7 +293,7 @@ public void testAjMissingState() { intCol("RightStamp", 1, 1), intCol("Sentinel", 1, 2)); - final Table result = left.aj(right, "Bucket,LeftStamp=RightStamp", "Sentinel"); + final Table result = left.aj(right, "Bucket,LeftStamp>=RightStamp", "Sentinel"); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), result.getDefinition().getColumnNames()); @@ -309,7 +308,7 @@ public void testAjMissingState() { intCol("RightStamp", 1, 1, 1), intCol("Sentinel", 1, 2, 3)); - final Table result2 = left2.aj(right2, "Bucket,LeftStamp=RightStamp", "Sentinel"); + final Table result2 = left2.aj(right2, "Bucket,LeftStamp>=RightStamp", "Sentinel"); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), result.getDefinition().getColumnNames()); @@ -332,7 +331,7 @@ public void testAjStrings() { System.out.println("Right"); TableTools.show(right); - final Table result = left.aj(right, "Bucket,LeftStamp=RightStamp", "Sentinel"); + final Table result = left.aj(right, "Bucket,LeftStamp>=RightStamp", "Sentinel"); System.out.println("Result"); TableTools.showWithRowSet(result); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -340,7 +339,7 @@ public void testAjStrings() { BaseArrayTestCase.assertEquals(new int[] {3, 2, 4, 2, NULL_INT, 5, 5, 1}, intColumn(result, "Sentinel")); - final Table ltResult = left.aj(right, "Bucket,LeftStampRightStamp", "Sentinel"); System.out.println("LT Result"); TableTools.showWithRowSet(ltResult); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -349,7 +348,7 @@ public void testAjStrings() { BaseArrayTestCase.assertEquals(new int[] {2, 1, NULL_INT, 1, NULL_INT, 5, NULL_INT, NULL_INT}, intColumn(ltResult, "Sentinel")); - final Table reverseResult = left.raj(right, "Bucket,LeftStamp=RightStamp", "Sentinel"); + final Table reverseResult = left.raj(right, "Bucket,LeftStamp<=RightStamp", "Sentinel"); System.out.println("Reverse Result"); TableTools.showWithRowSet(reverseResult); assertEquals(Arrays.asList("Bucket", "LeftStamp", "RightStamp", "Sentinel"), @@ -357,7 +356,7 @@ public void testAjStrings() { BaseArrayTestCase.assertEquals(new int[] {3, 2, 4, 2, 4, NULL_INT, 5, 1}, intColumn(reverseResult, "Sentinel")); - final Table reverseResultGt = left.raj(right, "Bucket,LeftStamp>RightStamp", "Sentinel"); + final Table reverseResultGt = left.raj(right, "Bucket,LeftStamp=" + rightStamp, "Sentinel"); System.out.println("Result"); TableTools.showWithRowSet(result); assertEquals(Arrays.asList("LeftStampD", "LeftStampF", rightStamp, "Sentinel"), @@ -396,7 +395,7 @@ private void doFloatTest(Table left, Table right, final String leftStamp, final BaseArrayTestCase.assertEquals(new int[] {1, 5, 0, 1, 3, 5}, intColumn(result, "Sentinel")); - final Table ltResult = left.aj(right, leftStamp + "<" + rightStamp, "Sentinel"); + final Table ltResult = left.aj(right, leftStamp + ">" + rightStamp, "Sentinel"); System.out.println("LT Result"); TableTools.showWithRowSet(ltResult); assertEquals(Arrays.asList("LeftStampD", "LeftStampF", rightStamp, "Sentinel"), @@ -404,7 +403,7 @@ private void doFloatTest(Table left, Table right, final String leftStamp, final BaseArrayTestCase.assertEquals(new int[] {0, 3, NULL_INT, 1, 2, 3}, intColumn(ltResult, "Sentinel")); - final Table reverseResult = left.raj(right, leftStamp + "=" + rightStamp, "Sentinel"); + final Table reverseResult = left.raj(right, leftStamp + "<=" + rightStamp, "Sentinel"); System.out.println("Reverse Result"); TableTools.showWithRowSet(reverseResult); assertEquals(Arrays.asList("LeftStampD", "LeftStampF", rightStamp, "Sentinel"), @@ -412,7 +411,7 @@ private void doFloatTest(Table left, Table right, final String leftStamp, final BaseArrayTestCase.assertEquals(new int[] {1, 4, 0, 2, 3, 4}, intColumn(reverseResult, "Sentinel")); - final Table reverseResultGt = left.raj(right, leftStamp + ">" + rightStamp, "Sentinel"); + final Table reverseResultGt = left.raj(right, leftStamp + "<" + rightStamp, "Sentinel"); System.out.println("Reverse Result GT"); TableTools.showWithRowSet(reverseResultGt); assertEquals(Arrays.asList("LeftStampD", "LeftStampF", rightStamp, "Sentinel"), @@ -432,7 +431,7 @@ private void tickCheck(Table left, boolean key, final String stampColumn, final stringCol("StringCol", "A", "B", "C")); final QueryTable result1 = - (QueryTable) left.aj(right, (key ? "SingleKey," : "") + stampColumn, "Dummy=LongCol"); + (QueryTable) left.aj(right, (key ? "SingleKey," : "") + stampColumn, "Dummy<=LongCol"); try { base.setExpectError(true); final io.deephaven.engine.table.impl.ErrorListener listener = @@ -503,7 +502,8 @@ private void testAjRandomStatic(int seed, int leftSize, int rightSize, boolean r new SortedIntGenerator(0, 10000), new IntGenerator(20_000_000, 20_010_000))); - final String stampMatch = "LeftStamp" + (noexact ? (reverse ? ">" : "<") : "=") + "RightStamp"; + final String stampMatch = + "LeftStamp" + (noexact ? (reverse ? "<" : ">") : (reverse ? "<=" : ">=")) + "RightStamp"; final Table result; if (reverse) { result = leftTable.raj(rightTable, stampMatch, "RightSentinel"); @@ -898,19 +898,19 @@ private void testAjRandomIncrementalWithInitial(int seed, int leftNodeSize, int // we compare our initial values to the static case; which we have a separate test for. This is meant to give // us some confidence in our initial algorithm, whcih we then use to compare the incrmental results. if (withZeroKeys) { - doInitialAjComparison(leftTable, rightSorted, "LeftStamp=RightStamp", false, false, control); - doInitialAjComparison(leftTable, rightSorted, "LeftStamp=RightStamp", false, false, control); + doInitialAjComparison(leftTable, rightSorted, "LeftStamp>RightStamp", false, true, control); if (withReverse) { - doInitialAjComparison(leftTable, rightSorted, "LeftStamp=RightStamp", true, false, control); - doInitialAjComparison(leftTable, rightSorted, "LeftStamp>RightStamp", true, true, control); + doInitialAjComparison(leftTable, rightSorted, "LeftStamp<=RightStamp", true, false, control); + doInitialAjComparison(leftTable, rightSorted, "LeftStamp=RightStamp", false, false, control); + doInitialAjComparison(leftTable, rightSorted, "Bucket,LeftStamp>RightStamp", false, true, control); if (withReverse) { - doInitialAjComparison(leftTable, rightSorted, "Bucket,LeftStamp=RightStamp", true, false, control); - doInitialAjComparison(leftTable, rightSorted, "Bucket,LeftStamp>RightStamp", true, true, control); + doInitialAjComparison(leftTable, rightSorted, "Bucket,LeftStamp<=RightStamp", true, false, control); + doInitialAjComparison(leftTable, rightSorted, "Bucket,LeftStamp aj EvalNugget.from(() -> AsOfJoinHelper.asOfJoin(control, leftTable, rightSorted, - MatchPair.fromMatches(List.of( - AsOfJoinMatchFactory.getAjExpressions("LeftStampRightStamp")), MatchPairFactory.getExpressions("RightStamp", "RightSentinel"), SortingOrder.Ascending, true))), !withReverse ? Stream.empty() @@ -941,10 +940,10 @@ private void testAjRandomIncrementalWithInitial(int seed, int leftNodeSize, int MatchPairFactory.getExpressions("LeftStamp=RightStamp"), MatchPairFactory.getExpressions("RightStamp", "RightSentinel"), SortingOrder.Descending, false)), - // > raj + // < raj EvalNugget.from(() -> AsOfJoinHelper.asOfJoin(control, leftTable, rightReversed, - MatchPair.fromMatches(List.of(AsOfJoinMatchFactory - .getRajExpressions("LeftStamp>RightStamp").matches)), + oldStyleArray( + AsOfJoinMatchFactory.getRajExpressions("LeftStamp aj, with a bucket EvalNugget.from(() -> AsOfJoinHelper.asOfJoin(control, leftTable, rightSorted, - MatchPair.fromMatches(List.of(AsOfJoinMatchFactory.getAjExpressions("Bucket", - "LeftStampRightStamp")), MatchPairFactory.getExpressions("RightStamp", "RightSentinel"), SortingOrder.Ascending, true)))), !withBuckets || !withReverse ? Stream.empty() @@ -971,10 +970,10 @@ private void testAjRandomIncrementalWithInitial(int seed, int leftNodeSize, int MatchPairFactory.getExpressions("Bucket", "LeftStamp=RightStamp"), MatchPairFactory.getExpressions("RightStamp", "RightSentinel"), SortingOrder.Descending, false)), - // > raj, with a bucket + // < raj, with a bucket EvalNugget.from(() -> AsOfJoinHelper.asOfJoin(control, leftTable, rightReversed, - MatchPair.fromMatches(List.of(AsOfJoinMatchFactory.getRajExpressions("Bucket", - "LeftStamp>RightStamp").matches)), + oldStyleArray(AsOfJoinMatchFactory.getRajExpressions("Bucket", + "LeftStamp=RightStamp", "RightSentinel"); } }, new EvalNugget() { @Override protected Table e() { - return leftTable.aj(rightTable, "LeftStampRightStamp", "RightSentinel"); } }, new EvalNugget() { @Override protected Table e() { - return leftTable.raj(rightTable, "LeftStamp=RightStamp", "RightSentinel"); + return leftTable.raj(rightTable, "LeftStamp<=RightStamp", "RightSentinel"); } }, new EvalNugget() { @Override protected Table e() { - return leftTable.raj(rightTable, "LeftStamp>RightStamp", "RightSentinel"); + return leftTable.raj(rightTable, "LeftStamp=RightStamp", "RightSentinel"); } }, new EvalNugget() { @Override protected Table e() { - return leftTable.aj(rightTable, "Bucket,LeftStampRightStamp", "RightSentinel"); } }, new EvalNugget() { @Override protected Table e() { - return leftTable.raj(rightTable, "Bucket,LeftStamp=RightStamp", "RightSentinel"); + return leftTable.raj(rightTable, "Bucket,LeftStamp<=RightStamp", "RightSentinel"); } }, new EvalNugget() { @Override protected Table e() { - return leftTable.raj(rightTable, "Bucket,LeftStamp>RightStamp", "RightSentinel"); + return leftTable.raj(rightTable, "Bucket,LeftStamp=I1", "LI1=I1,LC1=C1,LC2=C2").update("I1=I1+0.25", "LI1 = (isNull(LI1) ? null : LI1+0.5)")), new EvalNugget() { public Table e() { @@ -125,38 +125,38 @@ public Table e() { new EvalNugget() { public Table e() { - return leftTable.aj(rightTable, "I1I1", "LI1=I1,LC1=C1,LC2=C2"); } }, new EvalNugget() { public Table e() { - return leftTable.aj(rightTable, "I1I1", "LI1=I1,LC1=C1,LC2=C2").update("I1=I1+0.25", "LI1 = (isNull(LI1) ? null : LI1+0.5)"); } }, new EvalNugget() { public Table e() { - return leftTable.aj(rightTable, "C1,I1I1", "LI1=I1,LC1=C1,LC2=C2"); } }, new EvalNugget() { public Table e() { - return leftTable.aj(rightTable, "C1,C2,I1I1", "LI1=I1,LC1=C1,LC2=C2"); } }, new EvalNugget() { public Table e() { - return leftTable.raj(rightTable, "I1>I1", "LI1=I1,LC1=C1,LC2=C2"); + return leftTable.raj(rightTable, "I1I1", "LI1=I1,LC1=C1,LC2=C2"); + return leftTable.raj(rightTable, "C1,I1I1", "LI1=I1,LC1=C1,LC2=C2"); + return leftTable.raj(rightTable, "C1,C2,I1=OptionTimestamp", "OptionBid"); assertEquals(long.class, result.getDefinition().getColumn("OptionTimestamp").getDataType()); table = testRefreshingTable( @@ -370,7 +370,7 @@ public void testAj() { col("Int", 2, 4, 6)); lookUpValue1 = testRefreshingTable(col("indx", "a", "b", "c")); - result = lookUpValue1.aj(table, "indx=String", "String,Int"); + result = lookUpValue1.aj(table, "indx>=String", "String,Int"); assertEquals(3, result.size()); assertEquals(3, result.numColumns()); @@ -381,7 +381,7 @@ public void testAj() { assertEquals(asList("a", "b", "c"), asList((Object[]) result.getColumn("indx").getDirect())); assertEquals(asList(null, null, 2), asList(result.getColumn("Int").get(0, 3))); - result = lookUpValue1.aj(table, "indx=String", "Int,String"); + result = lookUpValue1.aj(table, "indx>=String", "Int,String"); assertEquals(3, result.size()); assertEquals("indx", result.getDefinition().getColumns().get(0).getName()); @@ -389,7 +389,7 @@ public void testAj() { assertEquals("Int", result.getDefinition().getColumns().get(2).getName()); lookUpValue1 = testRefreshingTable(col("indx", "c", "d", "e")); - result = lookUpValue1.aj(table, "indx=String", "String,Int"); + result = lookUpValue1.aj(table, "indx>=String", "String,Int"); assertEquals(3, result.size()); assertEquals("indx", result.getDefinition().getColumns().get(0).getName()); assertEquals("String", result.getDefinition().getColumns().get(1).getName()); @@ -400,7 +400,7 @@ public void testAj() { assertEquals(asList(2, 2, 4), asList(result.getColumn("Int").get(0, 3))); lookUpValue1 = testRefreshingTable(col("indx", "h", "e", "a")); - result = lookUpValue1.aj(table, "indx=String", "String,Int"); + result = lookUpValue1.aj(table, "indx>=String", "String,Int"); assertEquals(3, result.size()); assertEquals("indx", result.getDefinition().getColumns().get(0).getName()); assertEquals("String", result.getDefinition().getColumns().get(1).getName()); @@ -412,7 +412,7 @@ public void testAj() { lookUpValue1 = testRefreshingTable(col("indx", "h", "e", "a")); - result = lookUpValue1.aj(table, "indx=String", "String"); + result = lookUpValue1.aj(table, "indx>=String", "String"); assertEquals(3, result.size()); assertEquals("indx", result.getDefinition().getColumns().get(0).getName()); assertEquals("String", result.getDefinition().getColumns().get(1).getName()); @@ -443,7 +443,7 @@ public void testAjLt() { col("Ticker", "AAPL", "IBM", "AAPL", "IBM", "AAPL"), col("OptionBid", .1, .2, .3, .4, .5)); - Table result = table.aj(lookUpValue1.renameColumns("TS2=Timestamp"), "Ticker,TimestampTS2", "OptionBid"); assertEquals(Arrays.asList("Ticker", "Timestamp", "TS2", "OptionBid"), result.getDefinition().getColumnNames()); final long[] timestamps = result.getColumn("TS2").getLongs(0, result.size()); TableTools.show(result); @@ -456,7 +456,7 @@ public void testAjLt() { lookUpValue1 = testRefreshingTable( col("OptionTimestamp", 1L, 5L, 10L, 25L, 50L), col("OptionBid", .1, .2, .3, .4, .5)); - result = table.aj(lookUpValue1, "TimestampOptionTimestamp", "OptionBid"); assertEquals(long.class, result.getDefinition().getColumn("OptionTimestamp").getDataType()); TableTools.show(result); assertArrayEquals(new long[] {QueryConstants.NULL_LONG, 5L, 25L}, @@ -469,7 +469,7 @@ public void testAjLt() { col("Int", 2, 4, 6)); lookUpValue1 = testRefreshingTable(col("indx", "a", "c", "d")); - result = lookUpValue1.aj(table, "indxString", "String,Int"); assertEquals(3, result.size()); assertEquals(3, result.numColumns()); @@ -482,7 +482,7 @@ public void testAjLt() { lookUpValue1 = testRefreshingTable(col("indx", "c", "d", "e")); - result = lookUpValue1.aj(table, "indxString", "String,Int"); assertEquals(3, result.size()); assertEquals("indx", result.getDefinition().getColumns().get(0).getName()); assertEquals("String", result.getDefinition().getColumns().get(1).getName()); @@ -493,7 +493,7 @@ public void testAjLt() { assertEquals(asList(null, 2, 2), asList(result.getColumn("Int").get(0, 3))); lookUpValue1 = testRefreshingTable(col("indx", "h", "e", "a")); - result = lookUpValue1.aj(table, "indxString", "String,Int"); assertEquals(3, result.size()); assertEquals("indx", result.getDefinition().getColumns().get(0).getName()); @@ -506,7 +506,7 @@ public void testAjLt() { lookUpValue1 = testRefreshingTable(col("indx", "h", "e", "a")); - result = lookUpValue1.aj(table, "indxString", "String"); System.out.println("LV1"); TableTools.show(lookUpValue1); System.out.println("Table"); @@ -522,7 +522,7 @@ public void testAjLt() { assertEquals(asList("h", "e", "a"), asList((Object[]) result.getColumn("indx").getDirect())); lookUpValue1 = testRefreshingTable(col("String", "h", "e", "a")); - result = lookUpValue1.aj(table, "StringString", "xString=String,Int"); assertEquals(3, result.size()); assertEquals("String", result.getDefinition().getColumns().get(0).getName()); assertEquals("xString", result.getDefinition().getColumns().get(1).getName()); @@ -580,7 +580,7 @@ public void testAjNull() { System.out.println("Right:"); TableTools.show(right); - final Table aj = left.aj(right, "LInt=RInt", "RInt,RSentinel"); + final Table aj = left.aj(right, "LInt>=RInt", "RInt,RSentinel"); System.out.println("AJ:"); TableTools.show(aj); @@ -588,7 +588,7 @@ public void testAjNull() { System.out.println("AJ2:"); // let's swap the left and right - final Table aj2 = right.sort("RSentinel").aj(left, "RInt=LInt", "LInt,LSentinel"); + final Table aj2 = right.sort("RSentinel").aj(left, "RInt>=LInt", "LInt,LSentinel"); TableTools.show(aj2); assertEquals(asList("a", null, "b", null, "b", "c", "d", "c"), asList((Object[]) aj2.getColumn("LSentinel").getDirect())); @@ -612,7 +612,7 @@ public void testAjEmptyRight() { System.out.println("Right:"); TableTools.show(right); - final Table aj = left.aj(right, "Group,LInt=RInt", "RInt,RSentinel"); + final Table aj = left.aj(right, "Group,LInt>=RInt", "RInt,RSentinel"); System.out.println("AJ:"); TableTools.show(aj); @@ -654,7 +654,7 @@ public void testRaj() { lookUpValue1 = testRefreshingTable( col("OptionTimestamp", 1L, 5L, 10L, 25L, 50L), col("OptionBid", .1, .2, .3, .4, .5)); - result = table.raj(lookUpValue1, "Timestamp=OptionTimestamp", "OptionBid"); + result = table.raj(lookUpValue1, "Timestamp<=OptionTimestamp", "OptionBid"); assertEquals(long.class, result.getDefinition().getColumn("OptionTimestamp").getDataType()); table = testRefreshingTable( @@ -662,7 +662,7 @@ public void testRaj() { col("Int", 2, 4, 6)); lookUpValue1 = testRefreshingTable(col("indx", "a", "b", "c")); - result = lookUpValue1.raj(table, "indx=String", "String,Int"); + result = lookUpValue1.raj(table, "indx<=String", "String,Int"); assertEquals(3, result.size()); assertEquals(3, result.numColumns()); @@ -675,7 +675,7 @@ public void testRaj() { lookUpValue1 = testRefreshingTable(col("indx", "f", "g", "h")); - result = lookUpValue1.raj(table, "indx=String", "String,Int"); + result = lookUpValue1.raj(table, "indx<=String", "String,Int"); assertEquals(3, result.size()); assertEquals(3, result.numColumns()); @@ -686,7 +686,7 @@ public void testRaj() { assertEquals(asList("f", "g", "h"), asList((Object[]) result.getColumn("indx").getDirect())); assertEquals(asList(6, 6, null), asList(result.getColumn("Int").get(0, 3))); - result = lookUpValue1.raj(table, "indx=String", "Int,String"); + result = lookUpValue1.raj(table, "indx<=String", "Int,String"); assertEquals(3, result.size()); assertEquals("indx", result.getDefinition().getColumns().get(0).getName()); @@ -698,7 +698,7 @@ public void testRaj() { show(lookUpValue1); show(table); - result = lookUpValue1.raj(table, "indx=String", "String,Int"); + result = lookUpValue1.raj(table, "indx<=String", "String,Int"); show(result); assertEquals(3, result.size()); @@ -711,7 +711,7 @@ public void testRaj() { assertEquals(asList(2, 4, 4), asList(result.getColumn("Int").get(0, 3))); lookUpValue1 = testRefreshingTable(col("indx", "j", "e", "a")); - result = lookUpValue1.raj(table, "indx=String", "String,Int"); + result = lookUpValue1.raj(table, "indx<=String", "String,Int"); assertEquals(3, result.size()); assertEquals("indx", result.getDefinition().getColumns().get(0).getName()); assertEquals("String", result.getDefinition().getColumns().get(1).getName()); @@ -723,7 +723,7 @@ public void testRaj() { lookUpValue1 = testRefreshingTable(col("indx", "j", "e", "a")); - result = lookUpValue1.raj(table, "indx=String", "String"); + result = lookUpValue1.raj(table, "indx<=String", "String"); assertEquals(3, result.size()); assertEquals("indx", result.getDefinition().getColumns().get(0).getName()); assertEquals("String", result.getDefinition().getColumns().get(1).getName()); diff --git a/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java b/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java index 153e093cb0b..1d99f59f7e1 100644 --- a/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java +++ b/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java @@ -9,7 +9,6 @@ import io.deephaven.api.JoinAddition; import io.deephaven.api.JoinMatch; import io.deephaven.api.RawString; -import io.deephaven.api.ReverseAsOfJoinRule; import io.deephaven.api.Selectable; import io.deephaven.api.SortColumn; import io.deephaven.api.SortColumn.Order; @@ -94,7 +93,6 @@ import io.deephaven.qst.table.NaturalJoinTable; import io.deephaven.qst.table.NewTable; import io.deephaven.qst.table.RangeJoinTable; -import io.deephaven.qst.table.ReverseAsOfJoinTable; import io.deephaven.qst.table.ReverseTable; import io.deephaven.qst.table.SelectDistinctTable; import io.deephaven.qst.table.SelectTable; @@ -375,38 +373,38 @@ public void visit(JoinTable j) { @Override public void visit(AsOfJoinTable aj) { + // TODO: add new as-of join RPC AsOfJoinTablesRequest.Builder builder = AsOfJoinTablesRequest.newBuilder() .setResultId(ticket) .setLeftId(ref(aj.left())) .setRightId(ref(aj.right())) - .setAsOfMatchRule(aj.rule() == AsOfJoinRule.LESS_THAN_EQUAL - ? AsOfJoinTablesRequest.MatchRule.LESS_THAN_EQUAL - : AsOfJoinTablesRequest.MatchRule.LESS_THAN); + .setAsOfMatchRule(adapt(aj.joinMatch().joinRule())); for (JoinMatch match : aj.matches()) { builder.addColumnsToMatch(Strings.of(match)); } + final String lastColumn = aj.joinMatch().leftColumn().name() + + aj.joinMatch().joinRule().operatorString() + + aj.joinMatch().rightColumn().name(); + builder.addColumnsToMatch(lastColumn); for (JoinAddition addition : aj.additions()) { builder.addColumnsToAdd(Strings.of(addition)); } out = op(Builder::setAsOfJoin, builder.build()); } - @Override - public void visit(ReverseAsOfJoinTable raj) { - AsOfJoinTablesRequest.Builder builder = AsOfJoinTablesRequest.newBuilder() - .setResultId(ticket) - .setLeftId(ref(raj.left())) - .setRightId(ref(raj.right())) - .setAsOfMatchRule(raj.rule() == ReverseAsOfJoinRule.GREATER_THAN_EQUAL - ? AsOfJoinTablesRequest.MatchRule.GREATER_THAN_EQUAL - : AsOfJoinTablesRequest.MatchRule.GREATER_THAN); - for (JoinMatch match : raj.matches()) { - builder.addColumnsToMatch(Strings.of(match)); - } - for (JoinAddition addition : raj.additions()) { - builder.addColumnsToAdd(Strings.of(addition)); + private static AsOfJoinTablesRequest.MatchRule adapt(AsOfJoinRule rule) { + switch (rule) { + case LESS_THAN_EQUAL: + return AsOfJoinTablesRequest.MatchRule.GREATER_THAN_EQUAL; + case LESS_THAN: + return AsOfJoinTablesRequest.MatchRule.GREATER_THAN; + case GREATER_THAN_EQUAL: + return AsOfJoinTablesRequest.MatchRule.LESS_THAN_EQUAL; + case GREATER_THAN: + return AsOfJoinTablesRequest.MatchRule.LESS_THAN; + default: + throw new IllegalArgumentException(String.format("Unrecognized AsOfJoinRule %s", rule)); } - out = op(Builder::setAsOfJoin, builder.build()); } @Override diff --git a/py/server/deephaven/table.py b/py/server/deephaven/table.py index de544a82870..d2b28d2d02b 100644 --- a/py/server/deephaven/table.py +++ b/py/server/deephaven/table.py @@ -51,7 +51,6 @@ _JJoinMatch = jpy.get_type("io.deephaven.api.JoinMatch") _JJoinAddition = jpy.get_type("io.deephaven.api.JoinAddition") _JAsOfJoinRule = jpy.get_type("io.deephaven.api.AsOfJoinRule") -_JReverseAsOfJoinRule = jpy.get_type("io.deephaven.api.ReverseAsOfJoinRule") _JTableOperations = jpy.get_type("io.deephaven.api.TableOperations") # Dynamic Query Scope @@ -1259,8 +1258,8 @@ def aj(self, table: Table, on: Union[str, Sequence[str]], joins: Union[str, Sequ table (Table): the right-table of the join on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or a match condition of two columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact - match. The inexact match can use either '<' or '<='. If a common name is used for the inexact match, - '<=' is used for the comparison. + match. The inexact match can use either '>' or '>='. If a common name is used for the inexact match, + '>=' is used for the comparison. joins (Union[str, Sequence[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None Returns: @@ -1289,8 +1288,8 @@ def raj(self, table: Table, on: Union[str, Sequence[str]], joins: Union[str, Seq table (Table): the right-table of the join on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or a match condition of two columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact - match. The inexact match can use either '>' or '>='. If a common name is used for the inexact match, - '>=' is used for the comparison. + match. The inexact match can use either '<' or '<='. If a common name is used for the inexact match, + '<=' is used for the comparison. joins (Union[str, Sequence[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None @@ -3016,8 +3015,8 @@ def aj(self, table: Union[Table, PartitionedTableProxy], on: Union[str, Sequence table (Union[Table, PartitionedTableProxy]): the right table or PartitionedTableProxy of the join on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or a match condition of two columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact - match. The inexact match can use either '<' or '<='. If a common name is used for the inexact match, - '<=' is used for the comparison. + match. The inexact match can use either '>' or '>='. If a common name is used for the inexact match, + '>=' is used for the comparison. joins (Union[str, Sequence[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None Returns: @@ -3050,8 +3049,8 @@ def raj(self, table: Union[Table, PartitionedTableProxy], on: Union[str, Sequenc table (Union[Table, PartitionedTableProxy]): the right table or PartitionedTableProxy of the join on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or a match condition of two columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact - match. The inexact match can use either '>' or '>='. If a common name is used for the inexact match, - '>=' is used for the comparison. + match. The inexact match can use either '<' or '<='. If a common name is used for the inexact match, + '<=' is used for the comparison. joins (Union[str, Sequence[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None Returns: diff --git a/py/server/tests/test_pt_proxy.py b/py/server/tests/test_pt_proxy.py index 9b1863cfd65..6e3228fa83d 100644 --- a/py/server/tests/test_pt_proxy.py +++ b/py/server/tests/test_pt_proxy.py @@ -209,14 +209,14 @@ def test_as_of_join(self): joined_pt_proxy = pt_proxy.aj(right_table, on=["a"]) self.assertTrue([ct for ct in joined_pt_proxy.target.constituent_tables if ct.size > 0]) - joined_pt_proxy = pt_proxy.aj(right_table, on=["a < a"], joins="e") + joined_pt_proxy = pt_proxy.aj(right_table, on=["a > a"], joins="e") self.assertTrue([ct for ct in joined_pt_proxy.target.constituent_tables if ct.size > 0]) with self.subTest("reverse as-of join"): joined_pt_proxy = pt_proxy.raj(right_table, on=["a"]) self.assertTrue([ct for ct in joined_pt_proxy.target.constituent_tables if ct.size > 0]) - joined_pt_proxy = pt_proxy.raj(right_table, on=["a > a"], joins="e") + joined_pt_proxy = pt_proxy.raj(right_table, on=["a < a"], joins="e") self.assertTrue([ct for ct in joined_pt_proxy.target.constituent_tables if ct.size > 0]) with self.subTest("Join with another Proxy"): diff --git a/py/server/tests/test_table.py b/py/server/tests/test_table.py index 49b924158fd..1b664083cf0 100644 --- a/py/server/tests/test_table.py +++ b/py/server/tests/test_table.py @@ -332,7 +332,7 @@ def test_as_of_join(self): result_table = left_table.aj(right_table, on=["a"]) self.assertGreater(result_table.size, 0) self.assertLessEqual(result_table.size, left_table.size) - result_table = left_table.aj(right_table, on="a < a", joins="e") + result_table = left_table.aj(right_table, on="a > a", joins="e") self.assertGreater(result_table.size, 0) self.assertLessEqual(result_table.size, left_table.size) @@ -340,7 +340,7 @@ def test_as_of_join(self): result_table = left_table.raj(right_table, on=["a"]) self.assertGreater(result_table.size, 0) self.assertLessEqual(result_table.size, left_table.size) - result_table = left_table.raj(right_table, on="a > a", joins="e") + result_table = left_table.raj(right_table, on="a < a", joins="e") self.assertGreater(result_table.size, 0) self.assertLessEqual(result_table.size, left_table.size) diff --git a/qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java b/qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java index d31f7ef61c1..165e81870b0 100644 --- a/qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java +++ b/qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java @@ -19,7 +19,6 @@ import io.deephaven.qst.table.LazyUpdateTable; import io.deephaven.qst.table.NaturalJoinTable; import io.deephaven.qst.table.RangeJoinTable; -import io.deephaven.qst.table.ReverseAsOfJoinTable; import io.deephaven.qst.table.SelectDistinctTable; import io.deephaven.qst.table.SelectTable; import io.deephaven.qst.table.SelectableTable; @@ -35,7 +34,9 @@ import io.deephaven.qst.table.ViewTable; import io.deephaven.qst.table.WhereTable; -import java.util.*; +import java.util.Collection; +import java.util.Iterator; +import java.util.Objects; import java.util.function.Function; public class LabelBuilder extends TableVisitorGeneric { @@ -100,12 +101,13 @@ public void visit(JoinTable joinTable) { @Override public void visit(AsOfJoinTable aj) { - join("aj", aj); - } - - @Override - public void visit(ReverseAsOfJoinTable raj) { - join("raj", raj); + sb.append("asOfJoin(["); + append(Strings::of, aj.matches(), sb); + sb.append("],"); + sb.append(Strings.of(aj.joinMatch())); + sb.append(","); + append(Strings::of, aj.additions(), sb); + sb.append("])"); } @Override diff --git a/qst/src/main/java/io/deephaven/qst/TableAdapterImpl.java b/qst/src/main/java/io/deephaven/qst/TableAdapterImpl.java index bb834bbeb71..431caceda22 100644 --- a/qst/src/main/java/io/deephaven/qst/TableAdapterImpl.java +++ b/qst/src/main/java/io/deephaven/qst/TableAdapterImpl.java @@ -207,14 +207,7 @@ public void visit(JoinTable joinTable) { public void visit(AsOfJoinTable aj) { final TOPS left = ops(aj.left()); final TABLE right = table(aj.right()); - addOp(aj, left.aj(right, aj.matches(), aj.additions(), aj.rule())); - } - - @Override - public void visit(ReverseAsOfJoinTable raj) { - final TOPS left = ops(raj.left()); - final TABLE right = table(raj.right()); - addOp(raj, left.raj(right, raj.matches(), raj.additions(), raj.rule())); + addOp(aj, left.asOfJoin(right, aj.matches(), aj.joinMatch(), aj.additions())); } @Override diff --git a/qst/src/main/java/io/deephaven/qst/table/AsOfJoinTable.java b/qst/src/main/java/io/deephaven/qst/table/AsOfJoinTable.java index 57b4cfa4bde..3ea6ea99e09 100644 --- a/qst/src/main/java/io/deephaven/qst/table/AsOfJoinTable.java +++ b/qst/src/main/java/io/deephaven/qst/table/AsOfJoinTable.java @@ -3,15 +3,14 @@ */ package io.deephaven.qst.table; -import io.deephaven.api.AsOfJoinRule; import io.deephaven.annotations.NodeStyle; -import org.immutables.value.Value; +import io.deephaven.api.AsOfJoinMatch; import org.immutables.value.Value.Immutable; import java.util.Collection; /** - * @see io.deephaven.api.TableOperations#aj(Object, Collection, Collection, AsOfJoinRule) + * @see io.deephaven.api.TableOperations#asOfJoin(Object, Collection, AsOfJoinMatch, Collection) */ @Immutable @NodeStyle @@ -21,10 +20,7 @@ public static Builder builder() { return ImmutableAsOfJoinTable.builder(); } - @Value.Default - public AsOfJoinRule rule() { - return AsOfJoinRule.LESS_THAN_EQUAL; - } + public abstract AsOfJoinMatch joinMatch(); @Override public final V walk(V visitor) { @@ -34,6 +30,6 @@ public final V walk(V visitor) { public interface Builder extends Join.Builder { - Builder rule(AsOfJoinRule rule); + Builder joinMatch(AsOfJoinMatch joinMatch); } } diff --git a/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java b/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java index 9fb0053e758..45757966145 100644 --- a/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java +++ b/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java @@ -69,11 +69,6 @@ public void visit(AsOfJoinTable aj) { join(aj); } - @Override - public void visit(ReverseAsOfJoinTable raj) { - join(raj); - } - @Override public void visit(RangeJoinTable rangeJoinTable) { consumer.link(rangeJoinTable.left(), "left"); diff --git a/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java b/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java index a1fc85dec0e..f882d69af5c 100644 --- a/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java +++ b/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java @@ -217,11 +217,6 @@ public void visit(AsOfJoinTable aj) { out = Stream.of(aj.left(), aj.right()); } - @Override - public void visit(ReverseAsOfJoinTable raj) { - out = Stream.of(raj.left(), raj.right()); - } - @Override public void visit(RangeJoinTable rangeJoinTable) { out = Stream.of(rangeJoinTable.left(), rangeJoinTable.right()); diff --git a/qst/src/main/java/io/deephaven/qst/table/ReverseAsOfJoinTable.java b/qst/src/main/java/io/deephaven/qst/table/ReverseAsOfJoinTable.java deleted file mode 100644 index 1cc6abcf6bf..00000000000 --- a/qst/src/main/java/io/deephaven/qst/table/ReverseAsOfJoinTable.java +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.qst.table; - -import io.deephaven.api.ReverseAsOfJoinRule; -import io.deephaven.annotations.NodeStyle; -import org.immutables.value.Value; -import org.immutables.value.Value.Immutable; - -import java.util.Collection; - -/** - * @see io.deephaven.api.TableOperations#raj(Object, Collection, Collection, ReverseAsOfJoinRule) - */ -@Immutable -@NodeStyle -public abstract class ReverseAsOfJoinTable extends JoinBase { - - public static Builder builder() { - return ImmutableReverseAsOfJoinTable.builder(); - } - - @Value.Default - public ReverseAsOfJoinRule rule() { - return ReverseAsOfJoinRule.GREATER_THAN_EQUAL; - } - - @Override - public final V walk(V visitor) { - visitor.visit(this); - return visitor; - } - - public interface Builder extends Join.Builder { - - Builder rule(ReverseAsOfJoinRule rule); - } -} diff --git a/qst/src/main/java/io/deephaven/qst/table/TableBase.java b/qst/src/main/java/io/deephaven/qst/table/TableBase.java index 55a7ea1e88d..1edc1000ea3 100644 --- a/qst/src/main/java/io/deephaven/qst/table/TableBase.java +++ b/qst/src/main/java/io/deephaven/qst/table/TableBase.java @@ -121,19 +121,14 @@ public final TableSpec join(TableSpec rightTable, } @Override - public final TableSpec aj(TableSpec rightTable, - Collection columnsToMatch, - Collection columnsToAdd, AsOfJoinRule asOfJoinRule) { - return AsOfJoinTable.builder().left(this).right(rightTable).addAllMatches(columnsToMatch) - .addAllAdditions(columnsToAdd).rule(asOfJoinRule).build(); - } - - @Override - public final TableSpec raj(TableSpec rightTable, - Collection columnsToMatch, - Collection columnsToAdd, ReverseAsOfJoinRule reverseAsOfJoinRule) { - return ReverseAsOfJoinTable.builder().left(this).right(rightTable) - .addAllMatches(columnsToMatch).addAllAdditions(columnsToAdd).rule(reverseAsOfJoinRule) + public final TableSpec asOfJoin(TableSpec rightTable, Collection exactMatches, + AsOfJoinMatch asOfMatch, Collection columnsToAdd) { + return AsOfJoinTable.builder() + .left(this) + .right(rightTable) + .addAllMatches(exactMatches) + .joinMatch(asOfMatch) + .addAllAdditions(columnsToAdd) .build(); } diff --git a/qst/src/main/java/io/deephaven/qst/table/TableSpec.java b/qst/src/main/java/io/deephaven/qst/table/TableSpec.java index 5729843e318..9707b998b4e 100644 --- a/qst/src/main/java/io/deephaven/qst/table/TableSpec.java +++ b/qst/src/main/java/io/deephaven/qst/table/TableSpec.java @@ -113,8 +113,6 @@ interface Visitor { void visit(AsOfJoinTable aj); - void visit(ReverseAsOfJoinTable raj); - void visit(RangeJoinTable rangeJoinTable); void visit(ViewTable viewTable); diff --git a/qst/src/main/java/io/deephaven/qst/table/TableVisitorGeneric.java b/qst/src/main/java/io/deephaven/qst/table/TableVisitorGeneric.java index ae8840b4fa2..2398cf01852 100644 --- a/qst/src/main/java/io/deephaven/qst/table/TableVisitorGeneric.java +++ b/qst/src/main/java/io/deephaven/qst/table/TableVisitorGeneric.java @@ -87,11 +87,6 @@ public void visit(AsOfJoinTable aj) { accept(aj); } - @Override - public void visit(ReverseAsOfJoinTable raj) { - accept(raj); - } - @Override public void visit(RangeJoinTable rangeJoinTable) { accept(rangeJoinTable); diff --git a/server/src/main/java/io/deephaven/server/table/ops/JoinTablesGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/JoinTablesGrpcImpl.java index e77cc4fbe68..19c7af16d87 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/JoinTablesGrpcImpl.java +++ b/server/src/main/java/io/deephaven/server/table/ops/JoinTablesGrpcImpl.java @@ -4,16 +4,17 @@ package io.deephaven.server.table.ops; import com.google.rpc.Code; +import io.deephaven.api.AsOfJoinMatch; import io.deephaven.api.AsOfJoinRule; -import io.deephaven.api.ReverseAsOfJoinRule; +import io.deephaven.api.expression.ExpressionException; import io.deephaven.auth.codegen.impl.TableServiceContextualAuthWiring; import io.deephaven.base.verify.Assert; -import io.deephaven.api.expression.ExpressionException; -import io.deephaven.engine.table.impl.MatchPair; import io.deephaven.engine.table.Table; +import io.deephaven.engine.table.impl.MatchPair; import io.deephaven.engine.table.impl.select.MatchPairFactory; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest; +import io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule; import io.deephaven.proto.backplane.grpc.BatchTableRequest; import io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest; import io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest; @@ -124,19 +125,29 @@ public void validateRequest(final AsOfJoinTablesRequest request) throws StatusRu public static Table doJoin(final Table lhs, final Table rhs, final MatchPair[] columnsToMatch, final MatchPair[] columnsToAdd, final AsOfJoinTablesRequest request) { - final List match = Arrays.asList(columnsToMatch); - final List add = Arrays.asList(columnsToAdd); - switch (request.getAsOfMatchRule()) { - case LESS_THAN: - return lhs.aj(rhs, match, add, AsOfJoinRule.LESS_THAN); + final MatchPair joinMatch = columnsToMatch[columnsToMatch.length - 1]; + return lhs.asOfJoin( + rhs, + Arrays.asList(columnsToMatch).subList(0, columnsToMatch.length - 1), + AsOfJoinMatch.of(joinMatch.left(), adapt(request.getAsOfMatchRule()), joinMatch.right()), + Arrays.asList(columnsToAdd)); + } + + private static AsOfJoinRule adapt(MatchRule rule) { + // TODO: add new as-of join RPC, mark JoinTablesGrpcImpl as deprecated + // this looks wrong, but we need to also potentially transition the gRPC side, and preserve this old + // behavior if desired. + switch (rule) { case LESS_THAN_EQUAL: - return lhs.aj(rhs, match, add, AsOfJoinRule.LESS_THAN_EQUAL); - case GREATER_THAN: - return lhs.raj(rhs, match, add, ReverseAsOfJoinRule.GREATER_THAN); + return AsOfJoinRule.GREATER_THAN_EQUAL; + case LESS_THAN: + return AsOfJoinRule.GREATER_THAN; case GREATER_THAN_EQUAL: - return lhs.raj(rhs, match, add, ReverseAsOfJoinRule.GREATER_THAN_EQUAL); + return AsOfJoinRule.LESS_THAN_EQUAL; + case GREATER_THAN: + return AsOfJoinRule.LESS_THAN; default: - throw new RuntimeException("Unsupported join type: " + request.getAsOfMatchRule()); + throw new RuntimeException("Unsupported join type: " + rule); } } } diff --git a/table-api/src/main/java/io/deephaven/api/AsOfJoinMatch.java b/table-api/src/main/java/io/deephaven/api/AsOfJoinMatch.java new file mode 100644 index 00000000000..3e0e13c44f2 --- /dev/null +++ b/table-api/src/main/java/io/deephaven/api/AsOfJoinMatch.java @@ -0,0 +1,101 @@ +/** + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.api; + +import io.deephaven.annotations.SimpleStyle; +import org.immutables.value.Value.Immutable; +import org.immutables.value.Value.Parameter; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static io.deephaven.api.expression.SelectFactoryConstants.END_PTRN; +import static io.deephaven.api.expression.SelectFactoryConstants.ID_PTRN; +import static io.deephaven.api.expression.SelectFactoryConstants.START_PTRN; + + +@Immutable +@SimpleStyle +public abstract class AsOfJoinMatch { + + private static final Pattern EXPRESSION_PATTERN = + Pattern.compile(START_PTRN + "(" + ID_PTRN + ")\\s*(>=?|<=?)\\s*(" + ID_PTRN + ")" + END_PTRN); + + public static AsOfJoinMatch of( + final ColumnName leftColumn, + final AsOfJoinRule joinRule, + final ColumnName rightColumn) { + return ImmutableAsOfJoinMatch.of(leftColumn, joinRule, rightColumn); + } + + /** + * Parses the expression {@code x}, expecting it to either be a single column name, or an expression of the form + * {@code "lhsColumnName >= rhsColumnName"} or {@code "lhsColumnName > rhsColumnName"}. When it is a single column + * name, a join rule {@link AsOfJoinRule#GREATER_THAN_EQUAL} is used. + * + * @param x the expression + * @return the as-of join match + */ + public static AsOfJoinMatch parseForAj(String x) { + try { + final ColumnName columnName = ColumnName.parse(x); + return of(columnName, AsOfJoinRule.GREATER_THAN_EQUAL, columnName); + } catch (IllegalArgumentException e) { + // ignore, try and parse + } + final AsOfJoinMatch parsed = parse(x); + switch (parsed.joinRule()) { + case GREATER_THAN: + case GREATER_THAN_EQUAL: + return parsed; + } + throw new IllegalArgumentException("Unsupported operation for aj: " + parsed.joinRule()); + } + + /** + * Parses the expression {@code x}, expecting it to either be a single column name, or an expression of the form + * {@code "lhsColumnName <= rhsColumnName"} or {@code "lhsColumnName < rhsColumnName"}. When it is a single column + * name, a join rule {@link AsOfJoinRule#LESS_THAN_EQUAL} is used. + * + * @param x the expression + * @return the as-of join match + */ + public static AsOfJoinMatch parseForRaj(String x) { + try { + final ColumnName columnName = ColumnName.parse(x); + return of(columnName, AsOfJoinRule.LESS_THAN_EQUAL, columnName); + } catch (IllegalArgumentException e) { + // ignore, try and parse + } + final AsOfJoinMatch parse = parse(x); + switch (parse.joinRule()) { + case LESS_THAN: + case LESS_THAN_EQUAL: + return parse; + } + throw new IllegalArgumentException("Unsupported operation for raj: " + parse.joinRule()); + } + + static AsOfJoinMatch parse(String x) { + final Matcher matcher = EXPRESSION_PATTERN.matcher(x); + if (!matcher.matches()) { + throw new IllegalArgumentException(String.format( + "Input expression %s does not match expected pattern %s", + x, EXPRESSION_PATTERN.pattern())); + } + return of( + ColumnName.of(matcher.group(1)), + AsOfJoinRule.parse(matcher.group(2)), + ColumnName.of(matcher.group(3))); + } + + @Parameter + public abstract ColumnName leftColumn(); + + @Parameter + public abstract AsOfJoinRule joinRule(); + + @Parameter + public abstract ColumnName rightColumn(); +} diff --git a/table-api/src/main/java/io/deephaven/api/AsOfJoinRule.java b/table-api/src/main/java/io/deephaven/api/AsOfJoinRule.java index 51fc5a21db1..61b50f324b5 100644 --- a/table-api/src/main/java/io/deephaven/api/AsOfJoinRule.java +++ b/table-api/src/main/java/io/deephaven/api/AsOfJoinRule.java @@ -8,9 +8,39 @@ /** * The match condition rule for the final match column of as-of-join. * - * @see TableOperations#aj(Object, Collection, Collection, AsOfJoinRule) + * @see TableOperations#asOfJoin(Object, Collection, AsOfJoinMatch, Collection) * @see JoinMatch */ public enum AsOfJoinRule { - LESS_THAN_EQUAL, LESS_THAN + // @formatter:off + LESS_THAN_EQUAL("<="), + LESS_THAN("<"), + GREATER_THAN_EQUAL(">="), + GREATER_THAN(">"); + // @formatter:on + + public static AsOfJoinRule parse(String x) { + switch (x) { + case "<=": + return LESS_THAN_EQUAL; + case "<": + return LESS_THAN; + case ">=": + return GREATER_THAN_EQUAL; + case ">": + return GREATER_THAN; + default: + throw new IllegalArgumentException(String.format("Unable to parse AsOfJoinRule '%s'", x)); + } + } + + private final String operatorString; + + AsOfJoinRule(String operatorString) { + this.operatorString = operatorString; + } + + public String operatorString() { + return operatorString; + } } diff --git a/table-api/src/main/java/io/deephaven/api/JoinAddition.java b/table-api/src/main/java/io/deephaven/api/JoinAddition.java index 161b6c81389..150e5cd7b5d 100644 --- a/table-api/src/main/java/io/deephaven/api/JoinAddition.java +++ b/table-api/src/main/java/io/deephaven/api/JoinAddition.java @@ -16,8 +16,7 @@ * @see TableOperations#join(Object, Collection, Collection, int) * @see TableOperations#naturalJoin(Object, Collection, Collection) * @see TableOperations#exactJoin(Object, Collection, Collection) - * @see TableOperations#aj(Object, Collection, Collection, AsOfJoinRule) - * @see TableOperations#raj(Object, Collection, Collection, ReverseAsOfJoinRule) + * @see TableOperations#asOfJoin(Object, Collection, AsOfJoinMatch, Collection) * @see SnapshotWhenOptions#stampColumns() */ public interface JoinAddition { diff --git a/table-api/src/main/java/io/deephaven/api/JoinMatch.java b/table-api/src/main/java/io/deephaven/api/JoinMatch.java index 6b9b78b489c..3236e8505c5 100644 --- a/table-api/src/main/java/io/deephaven/api/JoinMatch.java +++ b/table-api/src/main/java/io/deephaven/api/JoinMatch.java @@ -16,8 +16,7 @@ * @see TableOperations#join(Object, Collection, Collection, int) * @see TableOperations#naturalJoin(Object, Collection, Collection) * @see TableOperations#exactJoin(Object, Collection, Collection) - * @see TableOperations#aj(Object, Collection, Collection, AsOfJoinRule) - * @see TableOperations#raj(Object, Collection, Collection, ReverseAsOfJoinRule) + * @see TableOperations#asOfJoin(Object, Collection, AsOfJoinMatch, Collection) * @see TableOperations#whereIn(Object, Collection) * @see TableOperations#whereNotIn(Object, Collection) */ diff --git a/table-api/src/main/java/io/deephaven/api/ReverseAsOfJoinRule.java b/table-api/src/main/java/io/deephaven/api/ReverseAsOfJoinRule.java deleted file mode 100644 index a242e8aef45..00000000000 --- a/table-api/src/main/java/io/deephaven/api/ReverseAsOfJoinRule.java +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.api; - -import java.util.Collection; - -/** - * The match condition rule for the final match column of reverse-as-of-join. - * - * @see TableOperations#raj(Object, Collection, Collection, ReverseAsOfJoinRule) - * @see JoinMatch - */ -public enum ReverseAsOfJoinRule { - GREATER_THAN_EQUAL, GREATER_THAN -} diff --git a/table-api/src/main/java/io/deephaven/api/Strings.java b/table-api/src/main/java/io/deephaven/api/Strings.java index 16992828698..af285661400 100644 --- a/table-api/src/main/java/io/deephaven/api/Strings.java +++ b/table-api/src/main/java/io/deephaven/api/Strings.java @@ -145,6 +145,10 @@ public static String ofJoinAdditions(Collection addition return additions.stream().map(Strings::of).collect(Collectors.joining(",", "[", "]")); } + public static String of(final AsOfJoinMatch joinMatch) { + return joinMatch.leftColumn().name() + joinMatch.joinRule().operatorString() + joinMatch.rightColumn().name(); + } + public static String of(final RangeJoinMatch rangeMatch) { return String.format("%s%s %s %s %s %s%s", rangeMatch.rangeStartRule() == RangeStartRule.LESS_THAN_OR_EQUAL_ALLOW_PRECEDING ? "<- " : "", diff --git a/table-api/src/main/java/io/deephaven/api/TableOperations.java b/table-api/src/main/java/io/deephaven/api/TableOperations.java index e57ce9cbb81..d9e0135e66f 100644 --- a/table-api/src/main/java/io/deephaven/api/TableOperations.java +++ b/table-api/src/main/java/io/deephaven/api/TableOperations.java @@ -8,8 +8,8 @@ import io.deephaven.api.filter.Filter; import io.deephaven.api.snapshot.SnapshotWhenOptions; import io.deephaven.api.snapshot.SnapshotWhenOptions.Flag; -import io.deephaven.api.updateby.UpdateByOperation; import io.deephaven.api.updateby.UpdateByControl; +import io.deephaven.api.updateby.UpdateByOperation; import io.deephaven.api.util.ConcurrentMethod; import java.util.Collection; @@ -424,11 +424,11 @@ TOPS join(TABLE rightTable, Collection columnsToMatch, * Perform an as-of join with the {@code rightTable}. * *

- * Delegates to {@link #aj(Object, Collection, Collection, AsOfJoinRule)}. + * Delegates to {@link #asOfJoin(Object, Collection, AsOfJoinMatch, Collection)}. * * @param rightTable The right side table on the join. - * @param columnsToMatch A comma separated list of match conditions ("leftColumn=rightColumn" or - * "columnFoundInBoth"). + * @param columnsToMatch A comma separated list of match conditions ({@code "leftColumn>=rightColumn"}, + * {@code "leftColumn>rightColumn"}, {@code "columnFoundInBoth"}). * @return a new table joined according to the specification in columnsToMatch */ TOPS aj(TABLE rightTable, String columnsToMatch); @@ -437,62 +437,28 @@ TOPS join(TABLE rightTable, Collection columnsToMatch, * Perform an as-of join with the {@code rightTable}. * *

- * Delegates to {@link #aj(Object, Collection, Collection, AsOfJoinRule)}. + * Delegates to {@link #asOfJoin(Object, Collection, AsOfJoinMatch, Collection)}. * * @param rightTable The right side table on the join. - * @param columnsToMatch A comma separated list of match conditions ("leftColumn=rightColumn" or - * "columnFoundInBoth"). + * @param columnsToMatch A comma separated list of match conditions ({@code "leftColumn>=rightColumn"}, + * {@code "leftColumn>rightColumn"}, {@code "columnFoundInBoth"}). * @param columnsToAdd A comma separated list with the columns from the left side that need to be added to the right * side as a result of the match. * @return a new table joined according to the specification in columnsToMatch and columnsToAdd */ TOPS aj(TABLE rightTable, String columnsToMatch, String columnsToAdd); - /** - * Perform an as-of join with the {@code rightTable}. - * - *

- * Delegates to {@link #aj(Object, Collection, Collection, AsOfJoinRule)}. - * - * @param rightTable The right side table on the join. - * @param columnsToMatch The match pair conditions. - * @param columnsToAdd The columns from the right side that need to be added to the left side as a result of the - * match. - * @return a new table joined according to the specification in columnsToMatch and columnsToAdd - */ - TOPS aj(TABLE rightTable, Collection columnsToMatch, - Collection columnsToAdd); - - /** - * Perform an as-of join with the {@code rightTable}. - * - *

- * Looks up the columns in the {@code rightTable} that meet the match conditions in {@code columnsToMatch}. Matching - * is done exactly for the first n-1 columns and via a binary search for the last match pair. The columns of the - * {@code this} table are returned intact, together with the columns from {@code rightTable} defined in the - * {@code columnsToAdd}. - * - * @param rightTable The right side table on the join. - * @param columnsToMatch The match pair conditions. - * @param columnsToAdd The columns from the right side that need to be added to the left side as a result of the - * match. - * @param asOfJoinRule The binary search operator for the last match pair. - * @return a new table joined according to the specification in columnsToMatch and columnsToAdd - */ - TOPS aj(TABLE rightTable, Collection columnsToMatch, - Collection columnsToAdd, AsOfJoinRule asOfJoinRule); - // ------------------------------------------------------------------------------------------- /** * Perform an reverse-as-of join with the {@code rightTable}. * *

- * Delegates to {@link #raj(Object, Collection, Collection, ReverseAsOfJoinRule)}. + * Delegates to {@link #asOfJoin(Object, Collection, AsOfJoinMatch, Collection)}. * * @param rightTable The right side table on the join. - * @param columnsToMatch A comma separated list of match conditions ("leftColumn=rightColumn" or - * "columnFoundInBoth"). + * @param columnsToMatch A comma separated list of match conditions ({@code "leftColumn<=rightColumn"}, + * {@code "leftColumn columnsToMatch, * Perform a reverse-as-of join with the {@code rightTable}. * *

- * Delegates to {@link #raj(Object, Collection, Collection, ReverseAsOfJoinRule)}. + * Delegates to {@link #asOfJoin(Object, Collection, AsOfJoinMatch, Collection)} * * @param rightTable The right side table on the join. - * @param columnsToMatch A comma separated list of match conditions ("leftColumn=rightColumn" or - * "columnFoundInBoth"). + * @param columnsToMatch A comma separated list of match conditions ({@code "leftColumn<=rightColumn"}, + * {@code "leftColumn - * Delegates to {@link #raj(Object, Collection, Collection, ReverseAsOfJoinRule)}. - * - * @param rightTable The right side table on the join. - * @param columnsToMatch The match pair conditions. - * @param columnsToAdd The columns from the right side that need to be added to the left side as a result of the - * match. - * @return a new table joined according to the specification in columnsToMatch and columnsToAdd - */ - TOPS raj(TABLE rightTable, Collection columnsToMatch, - Collection columnsToAdd); + // ------------------------------------------------------------------------------------------- - /** - * Perform a reverse-as-of join with the {@code rightTable}. - * - *

- * Just like {@link #aj(Object, Collection, Collection, AsOfJoinRule)}, but the matching on the last column is in - * reverse order, so that you find the row after the given timestamp instead of the row before. - * - *

- * Looks up the columns in the {@code rightTable} that meet the match conditions in {@code columnsToMatch}. Matching - * is done exactly for the first n-1 columns and via a binary search for the last match pair. The columns of - * {@code this} table are returned intact, together with the columns from {@code rightTable} defined in - * {@code columnsToAdd}. - * - * @param rightTable The right side table on the join. - * @param columnsToMatch The match pair conditions. - * @param columnsToAdd The columns from the right side that need to be added to the left side as a result of the - * match. - * @param reverseAsOfJoinRule The binary search operator for the last match pair. - * @return a new table joined according to the specification in columnsToMatch and columnsToAdd - */ - TOPS raj(TABLE rightTable, Collection columnsToMatch, - Collection columnsToAdd, ReverseAsOfJoinRule reverseAsOfJoinRule); + TOPS asOfJoin( + TABLE rightTable, + Collection exactMatches, + AsOfJoinMatch asOfMatch, + Collection columnsToAdd); // ------------------------------------------------------------------------------------------- diff --git a/table-api/src/main/java/io/deephaven/api/TableOperationsAdapter.java b/table-api/src/main/java/io/deephaven/api/TableOperationsAdapter.java index e301b84474f..42426bcc781 100644 --- a/table-api/src/main/java/io/deephaven/api/TableOperationsAdapter.java +++ b/table-api/src/main/java/io/deephaven/api/TableOperationsAdapter.java @@ -140,20 +140,15 @@ public final TOPS_1 join(TABLE_1 rightTable, Collection col } @Override - public final TOPS_1 aj(TABLE_1 rightTable, Collection columnsToMatch, - Collection columnsToAdd, AsOfJoinRule asOfJoinRule) { - return adapt(delegate.aj(adapt(rightTable), columnsToMatch, columnsToAdd, asOfJoinRule)); - } - - @Override - public final TOPS_1 raj(TABLE_1 rightTable, Collection columnsToMatch, - Collection columnsToAdd, ReverseAsOfJoinRule reverseAsOfJoinRule) { - return adapt( - delegate.raj(adapt(rightTable), columnsToMatch, columnsToAdd, reverseAsOfJoinRule)); + public final TOPS_1 asOfJoin(TABLE_1 rightTable, Collection exactMatches, + AsOfJoinMatch asOfMatch, + Collection columnsToAdd) { + return adapt(delegate.asOfJoin(adapt(rightTable), exactMatches, asOfMatch, columnsToAdd)); } @Override - public TOPS_1 rangeJoin(TABLE_1 rightTable, Collection exactMatches, RangeJoinMatch rangeMatch, + public final TOPS_1 rangeJoin(TABLE_1 rightTable, Collection exactMatches, + RangeJoinMatch rangeMatch, Collection aggregations) { return adapt(delegate.rangeJoin(adapt(rightTable), exactMatches, rangeMatch, aggregations)); } diff --git a/table-api/src/main/java/io/deephaven/api/TableOperationsDefaults.java b/table-api/src/main/java/io/deephaven/api/TableOperationsDefaults.java index d6adb2b2fb6..e6877c0ff86 100644 --- a/table-api/src/main/java/io/deephaven/api/TableOperationsDefaults.java +++ b/table-api/src/main/java/io/deephaven/api/TableOperationsDefaults.java @@ -5,13 +5,17 @@ import io.deephaven.api.agg.Aggregation; import io.deephaven.api.agg.spec.AggSpec; -import io.deephaven.api.expression.AsOfJoinMatchFactory; import io.deephaven.api.filter.Filter; -import io.deephaven.api.updateby.UpdateByOperation; import io.deephaven.api.updateby.UpdateByControl; +import io.deephaven.api.updateby.UpdateByOperation; import io.deephaven.api.util.ConcurrentMethod; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; import java.util.stream.Collectors; /** @@ -161,46 +165,44 @@ default TOPS join(TABLE rightTable, String columnsToMatch, String columnsToAdd) @Override default TOPS aj(TABLE rightTable, String columnsToMatch) { - final AsOfJoinMatchFactory.AsOfJoinResult result = - AsOfJoinMatchFactory.getAjExpressions(splitToCollection(columnsToMatch)); - return aj(rightTable, Arrays.asList(result.matches), Collections.emptyList(), result.rule); + final List matches = splitToList(columnsToMatch); + return asOfJoin( + rightTable, + JoinMatch.from(matches.subList(0, matches.size() - 1)), + AsOfJoinMatch.parseForAj(matches.get(matches.size() - 1)), + Collections.emptyList()); } @Override default TOPS aj(TABLE rightTable, String columnsToMatch, String columnsToAdd) { - final AsOfJoinMatchFactory.AsOfJoinResult result = - AsOfJoinMatchFactory.getAjExpressions(splitToCollection(columnsToMatch)); - return aj(rightTable, Arrays.asList(result.matches), JoinAddition.from(splitToCollection(columnsToAdd)), - result.rule); - } - - @Override - default TOPS aj(TABLE rightTable, Collection columnsToMatch, - Collection columnsToAdd) { - return aj(rightTable, columnsToMatch, columnsToAdd, AsOfJoinRule.LESS_THAN_EQUAL); + final List matches = splitToList(columnsToMatch); + return asOfJoin( + rightTable, + JoinMatch.from(matches.subList(0, matches.size() - 1)), + AsOfJoinMatch.parseForAj(matches.get(matches.size() - 1)), + JoinAddition.from(splitToCollection(columnsToAdd))); } // ----------------------------------------------------------------------------------------------------------------- @Override default TOPS raj(TABLE rightTable, String columnsToMatch) { - final AsOfJoinMatchFactory.ReverseAsOfJoinResult result = - AsOfJoinMatchFactory.getRajExpressions(splitToCollection(columnsToMatch)); - return raj(rightTable, Arrays.asList(result.matches), Collections.emptyList(), result.rule); + final List matches = splitToList(columnsToMatch); + return asOfJoin( + rightTable, + JoinMatch.from(matches.subList(0, matches.size() - 1)), + AsOfJoinMatch.parseForRaj(matches.get(matches.size() - 1)), + Collections.emptyList()); } @Override default TOPS raj(TABLE rightTable, String columnsToMatch, String columnsToAdd) { - final AsOfJoinMatchFactory.ReverseAsOfJoinResult result = - AsOfJoinMatchFactory.getRajExpressions(splitToCollection(columnsToMatch)); - return raj(rightTable, Arrays.asList(result.matches), JoinAddition.from(splitToCollection(columnsToAdd)), - result.rule); - } - - @Override - default TOPS raj(TABLE rightTable, Collection columnsToMatch, - Collection columnsToAdd) { - return raj(rightTable, columnsToMatch, columnsToAdd, ReverseAsOfJoinRule.GREATER_THAN_EQUAL); + final List matches = splitToList(columnsToMatch); + return asOfJoin( + rightTable, + JoinMatch.from(matches.subList(0, matches.size() - 1)), + AsOfJoinMatch.parseForRaj(matches.get(matches.size() - 1)), + JoinAddition.from(splitToCollection(columnsToAdd))); } // ----------------------------------------------------------------------------------------------------------------- @@ -745,8 +747,15 @@ default TOPS dropColumns(ColumnName... columnNames) { // ------------------------------------------------------------------------------------------- static Collection splitToCollection(String string) { - return string.trim().isEmpty() ? Collections.emptyList() - : Arrays.stream(string.split(",")).map(String::trim).filter(s -> !s.isEmpty()) + return splitToList(string); + } + + static List splitToList(String string) { + return string.trim().isEmpty() + ? Collections.emptyList() + : Arrays.stream(string.split(",")) + .map(String::trim) + .filter(s -> !s.isEmpty()) .collect(Collectors.toList()); } } diff --git a/table-api/src/main/java/io/deephaven/api/expression/AsOfJoinMatchFactory.java b/table-api/src/main/java/io/deephaven/api/expression/AsOfJoinMatchFactory.java deleted file mode 100644 index 19252f61d09..00000000000 --- a/table-api/src/main/java/io/deephaven/api/expression/AsOfJoinMatchFactory.java +++ /dev/null @@ -1,163 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.api.expression; - -import io.deephaven.api.AsOfJoinRule; -import io.deephaven.api.ColumnName; -import io.deephaven.api.JoinMatch; -import io.deephaven.api.ReverseAsOfJoinRule; - -import java.util.Collection; -import java.util.function.BiFunction; -import java.util.regex.Matcher; - -/** - * {@link JoinMatch} Factory that accepts final value of either =, <=, or <, > >= and returns a JoinMatch[] - * and either an {@link AsOfJoinRule} or a {@link ReverseAsOfJoinRule}. - */ -public class AsOfJoinMatchFactory { - public static class AsOfJoinResult { - public final JoinMatch[] matches; - public final AsOfJoinRule rule; - - private AsOfJoinResult(JoinMatch[] matches, AsOfJoinRule rule) { - this.matches = matches; - this.rule = rule; - } - - private AsOfJoinResult(JoinMatch match, AsOfJoinRule rule) { - this.matches = new JoinMatch[] {match}; - this.rule = rule; - } - } - - public static class ReverseAsOfJoinResult { - public final JoinMatch[] matches; - public final ReverseAsOfJoinRule rule; - - private ReverseAsOfJoinResult(JoinMatch[] matches, ReverseAsOfJoinRule rule) { - this.matches = matches; - this.rule = rule; - } - - private ReverseAsOfJoinResult(JoinMatch match, ReverseAsOfJoinRule rule) { - this.matches = new JoinMatch[] {match}; - this.rule = rule; - } - } - - private static final ExpressionParser asOfJoinParser = new ExpressionParser<>(); - private static final ExpressionParser reverseAsOfJoinParser = new ExpressionParser<>(); - static { - registerEqualFactories(asOfJoinParser, AsOfJoinRule.LESS_THAN_EQUAL, AsOfJoinResult::new); - asOfJoinParser.registerFactory(new AbstractExpressionFactory( - SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")\\s*<=\\s*(" - + SelectFactoryConstants.ID_PTRN + ")" + SelectFactoryConstants.END_PTRN) { - @Override - public AsOfJoinResult getExpression(String expression, Matcher matcher, Object... args) { - final ColumnName firstColumn = ColumnName.of(matcher.group(1)); - final ColumnName secondColumn = ColumnName.of(matcher.group(2)); - return new AsOfJoinResult(JoinMatch.of(firstColumn, secondColumn), AsOfJoinRule.LESS_THAN_EQUAL); - } - }); - asOfJoinParser.registerFactory(new AbstractExpressionFactory( - SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")\\s*<\\s*(" - + SelectFactoryConstants.ID_PTRN + ")" + SelectFactoryConstants.END_PTRN) { - @Override - public AsOfJoinResult getExpression(String expression, Matcher matcher, Object... args) { - final ColumnName firstColumn = ColumnName.of(matcher.group(1)); - final ColumnName secondColumn = ColumnName.of(matcher.group(2)); - return new AsOfJoinResult(JoinMatch.of(firstColumn, secondColumn), AsOfJoinRule.LESS_THAN); - } - }); - - registerEqualFactories(reverseAsOfJoinParser, ReverseAsOfJoinRule.GREATER_THAN_EQUAL, - ReverseAsOfJoinResult::new); - reverseAsOfJoinParser.registerFactory(new AbstractExpressionFactory( - SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")\\s*>=\\s*(" - + SelectFactoryConstants.ID_PTRN + ")" + SelectFactoryConstants.END_PTRN) { - @Override - public ReverseAsOfJoinResult getExpression(String expression, Matcher matcher, Object... args) { - final ColumnName firstColumn = ColumnName.of(matcher.group(1)); - final ColumnName secondColumn = ColumnName.of(matcher.group(2)); - return new ReverseAsOfJoinResult(JoinMatch.of(firstColumn, secondColumn), - ReverseAsOfJoinRule.GREATER_THAN_EQUAL); - } - }); - reverseAsOfJoinParser.registerFactory(new AbstractExpressionFactory( - SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")\\s*>\\s*(" - + SelectFactoryConstants.ID_PTRN + ")" + SelectFactoryConstants.END_PTRN) { - @Override - public ReverseAsOfJoinResult getExpression(String expression, Matcher matcher, Object... args) { - final ColumnName firstColumn = ColumnName.of(matcher.group(1)); - final ColumnName secondColumn = ColumnName.of(matcher.group(2)); - return new ReverseAsOfJoinResult(JoinMatch.of(firstColumn, secondColumn), - ReverseAsOfJoinRule.GREATER_THAN); - } - }); - } - - private static void registerEqualFactories( - ExpressionParser joinParser, R rule, BiFunction factory) { - joinParser.registerFactory(new AbstractExpressionFactory( - SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")" - + SelectFactoryConstants.END_PTRN) { - @Override - public T getExpression(String expression, Matcher matcher, Object... args) { - final ColumnName column = ColumnName.of(matcher.group(1)); - return factory.apply(JoinMatch.of(column, column), rule); - } - }); - joinParser.registerFactory(new AbstractExpressionFactory( - SelectFactoryConstants.START_PTRN + "(" + SelectFactoryConstants.ID_PTRN + ")\\s*==?\\s*(" - + SelectFactoryConstants.ID_PTRN + ")" + SelectFactoryConstants.END_PTRN) { - @Override - public T getExpression(String expression, Matcher matcher, Object... args) { - final ColumnName firstColumn = ColumnName.of(matcher.group(1)); - final ColumnName secondColumn = ColumnName.of(matcher.group(2)); - return factory.apply(JoinMatch.of(firstColumn, secondColumn), rule); - } - }); - } - - private static AsOfJoinResult getAjExpression(String match) { - return asOfJoinParser.parse(match); - } - - public static AsOfJoinResult getAjExpressions(String... matches) { - JoinMatch[] result = new JoinMatch[matches.length]; - for (int ii = 0; ii < matches.length - 1; ++ii) { - result[ii] = JoinMatch.parse(matches[ii]); - } - - final AsOfJoinResult finalColumn = getAjExpression(matches[matches.length - 1]); - result[matches.length - 1] = finalColumn.matches[0]; - - return new AsOfJoinResult(result, finalColumn.rule); - } - - public static AsOfJoinResult getAjExpressions(Collection matches) { - return getAjExpressions(matches.toArray(new String[0])); - } - - private static ReverseAsOfJoinResult getRajExpression(String match) { - return reverseAsOfJoinParser.parse(match); - } - - public static ReverseAsOfJoinResult getRajExpressions(String... matches) { - JoinMatch[] result = new JoinMatch[matches.length]; - for (int ii = 0; ii < matches.length - 1; ++ii) { - result[ii] = JoinMatch.parse(matches[ii]); - } - - final ReverseAsOfJoinResult finalColumn = getRajExpression(matches[matches.length - 1]); - result[matches.length - 1] = finalColumn.matches[0]; - - return new ReverseAsOfJoinResult(result, finalColumn.rule); - } - - public static ReverseAsOfJoinResult getRajExpressions(Collection matches) { - return getRajExpressions(matches.toArray(new String[0])); - } -} diff --git a/table-api/src/test/java/io/deephaven/api/AsOfJoinMatchTest.java b/table-api/src/test/java/io/deephaven/api/AsOfJoinMatchTest.java new file mode 100644 index 00000000000..481786a07eb --- /dev/null +++ b/table-api/src/test/java/io/deephaven/api/AsOfJoinMatchTest.java @@ -0,0 +1,157 @@ +package io.deephaven.api; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class AsOfJoinMatchTest { + + @Test + void aj() { + checkAj("Foo", "Foo"); + checkAj("Foo>=Foo", "Foo"); + } + + @Test + void raj() { + checkRaj("Foo", "Foo"); + checkRaj("Foo<=Foo", "Foo"); + } + + @Test + void gt() { + check("Foo>Bar", "Foo", AsOfJoinRule.GREATER_THAN, "Bar"); + check("Foo> Bar", "Foo", AsOfJoinRule.GREATER_THAN, "Bar"); + check("Foo >Bar", "Foo", AsOfJoinRule.GREATER_THAN, "Bar"); + check("Foo > Bar", "Foo", AsOfJoinRule.GREATER_THAN, "Bar"); + check(" Foo>Bar", "Foo", AsOfJoinRule.GREATER_THAN, "Bar"); + check("Foo>Bar ", "Foo", AsOfJoinRule.GREATER_THAN, "Bar"); + check("Foo>Foo", "Foo", AsOfJoinRule.GREATER_THAN, "Foo"); + check("Foo> Foo", "Foo", AsOfJoinRule.GREATER_THAN, "Foo"); + check("Foo >Foo", "Foo", AsOfJoinRule.GREATER_THAN, "Foo"); + check("Foo > Foo", "Foo", AsOfJoinRule.GREATER_THAN, "Foo"); + check(" Foo>Foo", "Foo", AsOfJoinRule.GREATER_THAN, "Foo"); + check("Foo>Foo ", "Foo", AsOfJoinRule.GREATER_THAN, "Foo"); + } + + @Test + void geq() { + check("Foo>=Bar", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Bar"); + check("Foo>= Bar", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Bar"); + check("Foo >=Bar", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Bar"); + check("Foo >= Bar", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Bar"); + check(" Foo>=Bar", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Bar"); + check("Foo>=Bar ", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Bar"); + check("Foo>=Foo", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Foo"); + check("Foo>= Foo", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Foo"); + check("Foo >=Foo", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Foo"); + check("Foo >= Foo", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Foo"); + check(" Foo>=Foo", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Foo"); + check("Foo>=Foo ", "Foo", AsOfJoinRule.GREATER_THAN_EQUAL, "Foo"); + } + + @Test + void lt() { + check("FooFoo"); + checkBad("Foo > Bar > Baz"); + checkBad("Foo=Bar"); + checkBad("Foo==Bar"); + checkBad("Foo="); + checkBad("=Bar"); + checkBad("Foo= "); + checkBad(" =Bar"); + checkBad(">"); + checkBad(">="); + checkBad("<"); + checkBad("<="); + checkBad("Foo>"); + checkBad("Foo>="); + checkBad("Foo<"); + checkBad("Foo<="); + checkBad("Foo> "); + checkBad("Foo>= "); + checkBad("Foo< "); + checkBad("Foo<= "); + checkBad("Foo>1"); + checkBad("Foo>=1"); + checkBad("Foo<1"); + checkBad("Foo<=1"); + } + + public static void check(String x, String expectedLhs, AsOfJoinRule expectedRule, String expectedRhs) { + final AsOfJoinMatch expected = AsOfJoinMatch.of( + ColumnName.of(expectedLhs), + expectedRule, + ColumnName.of(expectedRhs)); + assertThat(AsOfJoinMatch.parse(x)).isEqualTo(expected); + switch (expectedRule) { + case GREATER_THAN_EQUAL: + case GREATER_THAN: + assertThat(AsOfJoinMatch.parseForAj(x)).isEqualTo(expected); + break; + case LESS_THAN_EQUAL: + case LESS_THAN: + assertThat(AsOfJoinMatch.parseForRaj(x)).isEqualTo(expected); + break; + default: + throw new IllegalStateException(); + } + } + + public static void checkAj(String x, String expectedColumn) { + final AsOfJoinMatch expected = AsOfJoinMatch.of( + ColumnName.of(expectedColumn), + AsOfJoinRule.GREATER_THAN_EQUAL, + ColumnName.of(expectedColumn)); + assertThat(AsOfJoinMatch.parseForAj(x)).isEqualTo(expected); + } + + public static void checkRaj(String x, String expectedColumn) { + final AsOfJoinMatch expected = AsOfJoinMatch.of( + ColumnName.of(expectedColumn), + AsOfJoinRule.LESS_THAN_EQUAL, + ColumnName.of(expectedColumn)); + assertThat(AsOfJoinMatch.parseForRaj(x)).isEqualTo(expected); + } + + public static void checkBad(String x) { + try { + AsOfJoinMatch.parse(x); + } catch (IllegalArgumentException e) { + // expected + } + } +} From 78ab53760a92e253e74217da8be0f6d371f85681 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Thu, 1 Jun 2023 14:40:33 -0700 Subject: [PATCH 06/13] Bump gradle-docker-plugin to 9.3.1 (#3896) Release notes: https://bmuschko.github.io/gradle-docker-plugin/current/user-guide/#change_log --- buildSrc/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index c640e711d43..d4d8972f5f5 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -22,7 +22,7 @@ dependencies { because('needed for GwtTools') } - implementation('com.bmuschko:gradle-docker-plugin:7.1.0') { + implementation('com.bmuschko:gradle-docker-plugin:9.3.1') { because('needed by plugin com.bmuschko.docker-remote-api') } From 4ef4d32cc3c864ff79298f55864f1831fd39ea3a Mon Sep 17 00:00:00 2001 From: Corey Kosak Date: Thu, 1 Jun 2023 17:59:03 -0400 Subject: [PATCH 07/13] Fix broken references in CPP client documentation (#3908) --- .../include/public/deephaven/client/client.h | 36 +++++++ cpp-client/deephaven/client/src/client.cc | 2 + cpp-client/doc/Doxyfile | 2 +- cpp-client/doc/chunks.rst | 84 ++++++++--------- cpp-client/doc/column_sources.rst | 84 ++++++++--------- cpp-client/doc/conf.py | 10 +- cpp-client/doc/main.rst | 3 + cpp-client/doc/row_sequences.rst | 30 +++--- cpp-client/doc/ticking.rst | 94 +++++++++---------- cpp-client/doc/types.rst | 2 +- 10 files changed, 195 insertions(+), 152 deletions(-) diff --git a/cpp-client/deephaven/client/include/public/deephaven/client/client.h b/cpp-client/deephaven/client/include/public/deephaven/client/client.h index 0ffd7bc13b1..34a9d00b0a5 100644 --- a/cpp-client/deephaven/client/include/public/deephaven/client/client.h +++ b/cpp-client/deephaven/client/include/public/deephaven/client/client.h @@ -150,14 +150,50 @@ class TableHandleManager { std::shared_ptr impl_; }; +/** + * The ClientOptions object is intended to be passed to Client::connect(). For convenience, the mutating methods can be + * chained. For example: + * auto client = Client::connect("localhost:10000", ClientOptions().setBasicAuthentication("foo", "bar").setSessionType("groovy") + */ class ClientOptions { public: + /* + * Default constructor. Creates a default ClientOptions object with default authentication and Python scripting. + */ ClientOptions(); + /** + * Move constructor + */ + ClientOptions(ClientOptions &&other) noexcept; + /** + * Move assigment operator. + */ + ClientOptions &operator=(ClientOptions &&other) noexcept; + /** + * Destructor + */ ~ClientOptions(); + /** + * Modifies the ClientOptions object to set the default authentication scheme. + * @return *this, so that methods can be chained. + */ ClientOptions &setDefaultAuthentication(); + /** + * Modifies the ClientOptions object to set the basic authentication scheme. + * @return *this, so that methods can be chained. + */ ClientOptions &setBasicAuthentication(const std::string &username, const std::string &password); + /** + * Modifies the ClientOptions object to set a custom authentication scheme. + * @return *this, so that methods can be chained. + */ ClientOptions &setCustomAuthentication(const std::string &authenticationKey, const std::string &authenticationValue); + /** + * Modifies the ClientOptions object to set the scripting language for the session. + * @param sessionType The scripting language for the session, such as "groovy" or "python". + * @return *this, so that methods can be chained. + */ ClientOptions &setSessionType(const std::string &sessionType); private: diff --git a/cpp-client/deephaven/client/src/client.cc b/cpp-client/deephaven/client/src/client.cc index 9ba31fb2afa..20f679ceb6c 100644 --- a/cpp-client/deephaven/client/src/client.cc +++ b/cpp-client/deephaven/client/src/client.cc @@ -52,6 +52,8 @@ ClientOptions::ClientOptions() { setSessionType("python"); } +ClientOptions::ClientOptions(ClientOptions &&other) noexcept = default; +ClientOptions &ClientOptions::operator=(ClientOptions &&other) noexcept = default; ClientOptions::~ClientOptions() = default; ClientOptions &ClientOptions::setDefaultAuthentication() { diff --git a/cpp-client/doc/Doxyfile b/cpp-client/doc/Doxyfile index a01fb98bf85..1eea92b8969 100644 --- a/cpp-client/doc/Doxyfile +++ b/cpp-client/doc/Doxyfile @@ -829,7 +829,7 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = ../deephaven/client +INPUT = ../deephaven/client ../deephaven/dhcore # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/cpp-client/doc/chunks.rst b/cpp-client/doc/chunks.rst index bbf3190f30b..715b5d9b420 100644 --- a/cpp-client/doc/chunks.rst +++ b/cpp-client/doc/chunks.rst @@ -4,94 +4,94 @@ Chunks Description ----------- -:cpp:class:`Chunk ` +:cpp:class:`Chunk ` is the abstract base class representing a simple typed data buffer. These buffers are used to pass data to and from the library, e.g. as arguments to -:cpp:func:`fillChunk ` +:cpp:func:`fillChunk ` or -:cpp:func:`fillFromChunk `. +:cpp:func:`fillFromChunk `. The concrete implementing classes are defined by the templated class -:cpp:class:`GenericChunk `. +:cpp:class:`GenericChunk `. For convenience we provide typedefs which instantiate -:cpp:class:`GenericChunk ` +:cpp:class:`GenericChunk ` on all the Deephaven types: -:cpp:type:`Int8Chunk `, -:cpp:type:`Int16Chunk `, -:cpp:type:`Int32Chunk `, -:cpp:type:`Int64Chunk `, -:cpp:type:`FloatChunk `, -:cpp:type:`DoubleChunk `, -:cpp:type:`BooleanChunk `, -:cpp:type:`StringChunk `, and -:cpp:type:`DateTimeChunk `. - -:cpp:class:`GenericChunk ` +:cpp:type:`Int8Chunk `, +:cpp:type:`Int16Chunk `, +:cpp:type:`Int32Chunk `, +:cpp:type:`Int64Chunk `, +:cpp:type:`FloatChunk `, +:cpp:type:`DoubleChunk `, +:cpp:type:`BooleanChunk `, +:cpp:type:`StringChunk `, and +:cpp:type:`DateTimeChunk `. + +:cpp:class:`GenericChunk ` also supports the methods -:cpp:func:`take ` and -:cpp:func:`drop ` to take slices of the -:cpp:class:`GenericChunk `. +:cpp:func:`take ` and +:cpp:func:`drop ` to take slices of the +:cpp:class:`GenericChunk `. AnyChunk -------- The -:cpp:class:`AnyChunk ` +:cpp:class:`AnyChunk ` class is a variant value type that can hold one of the concrete Chunk types described above. -:cpp:class:`AnyChunk ` is useful in certain limited cases +:cpp:class:`AnyChunk ` is useful in certain limited cases where a factory method needs to create a -:cpp:class:`Chunk ` +:cpp:class:`Chunk ` having a dynamically-determined type, not known at compile time. Of course this could also be accomplished by returning a heap-allocated pointer to a -:cpp:class:`Chunk `. +:cpp:class:`Chunk `. The rationale for using the variant approach rather than the heap-allocated object approach is for the sake of simplicity and efficiency when using these small objects. One example method that returns an -:cpp:class:`AnyChunk ` +:cpp:class:`AnyChunk ` is -:cpp:func:`createChunkFor `, +:cpp:func:`createChunkFor `, which creates a -:cpp:class:`Chunk ` +:cpp:class:`Chunk ` with a type appropriate to the passed-in -:cpp:class:`ColumnSource `, +:cpp:class:`ColumnSource `, and wraps that dynamicaly-determined Chunk in an -:cpp:class:`AnyChunk ` value. +:cpp:class:`AnyChunk ` value. Chunk Declarations ------------------ -.. doxygenclass:: deephaven::client::chunk::Chunk +.. doxygenclass:: deephaven::dhcore::chunk::Chunk :members: -.. doxygenclass:: deephaven::client::chunk::GenericChunk +.. doxygenclass:: deephaven::dhcore::chunk::GenericChunk :members: -.. doxygentypedef:: deephaven::client::chunk::Int8Chunk +.. doxygentypedef:: deephaven::dhcore::chunk::Int8Chunk -.. doxygentypedef:: deephaven::client::chunk::Int16Chunk +.. doxygentypedef:: deephaven::dhcore::chunk::Int16Chunk -.. doxygentypedef:: deephaven::client::chunk::Int32Chunk +.. doxygentypedef:: deephaven::dhcore::chunk::Int32Chunk -.. doxygentypedef:: deephaven::client::chunk::Int64Chunk +.. doxygentypedef:: deephaven::dhcore::chunk::Int64Chunk -.. doxygentypedef:: deephaven::client::chunk::FloatChunk +.. doxygentypedef:: deephaven::dhcore::chunk::FloatChunk -.. doxygentypedef:: deephaven::client::chunk::DoubleChunk +.. doxygentypedef:: deephaven::dhcore::chunk::DoubleChunk -.. doxygentypedef:: deephaven::client::chunk::BooleanChunk +.. doxygentypedef:: deephaven::dhcore::chunk::BooleanChunk -.. doxygentypedef:: deephaven::client::chunk::StringChunk +.. doxygentypedef:: deephaven::dhcore::chunk::StringChunk -.. doxygentypedef:: deephaven::client::chunk::DateTimeChunk +.. doxygentypedef:: deephaven::dhcore::chunk::DateTimeChunk Utility Declarations -------------------- -.. doxygenclass:: deephaven::client::chunk::AnyChunk +.. doxygenclass:: deephaven::dhcore::chunk::AnyChunk :members: -.. doxygenclass:: deephaven::client::chunk::ChunkVisitor +.. doxygenclass:: deephaven::dhcore::chunk::ChunkVisitor :members: -.. doxygenclass:: deephaven::client::chunk::ChunkMaker +.. doxygenclass:: deephaven::dhcore::chunk::ChunkMaker :members: diff --git a/cpp-client/doc/column_sources.rst b/cpp-client/doc/column_sources.rst index dde3e1c7964..f6af6c045dd 100644 --- a/cpp-client/doc/column_sources.rst +++ b/cpp-client/doc/column_sources.rst @@ -5,103 +5,103 @@ Description ----------- A -:cpp:class:`ColumnSource ` +:cpp:class:`ColumnSource ` is an abstract class representing a Deephaven column. It represents a read-only view on that column. There is a derived class, -:cpp:class:`MutableColumnSource ` +:cpp:class:`MutableColumnSource ` which provides a writable interface. You can access the data in a -:cpp:class:`ColumnSource ` +:cpp:class:`ColumnSource ` via its -:cpp:func:`fillChunk ` +:cpp:func:`fillChunk ` and -:cpp:func:`fillChunkUnordered ` +:cpp:func:`fillChunkUnordered ` methods. Likewise, you can store data into a -:cpp:class:`MutableColumnSource ` +:cpp:class:`MutableColumnSource ` via its -:cpp:func:`fillFromChunk ` +:cpp:func:`fillFromChunk ` and -:cpp:func:`fillFromChunkUnordered ` +:cpp:func:`fillFromChunkUnordered ` methods. These methods provide "bulk transfer" of data into and out of a -:cpp:class:`ColumnSource `. +:cpp:class:`ColumnSource `. We do not provide any methods to access single elements of a -:cpp:class:`ColumnSource ` +:cpp:class:`ColumnSource ` because we want to encourage callers to use the more efficient bulk transfer methods. The -:cpp:class:`ColumnSource ` +:cpp:class:`ColumnSource ` hierarchy is further divided into two parts: -:cpp:class:`NumericColumnSource ` +:cpp:class:`NumericColumnSource ` and -:cpp:class:`GenericColumnSource ` +:cpp:class:`GenericColumnSource ` (and their mutable counterparts -:cpp:class:`MutableNumericColumnSource ` +:cpp:class:`MutableNumericColumnSource ` and -:cpp:class:`MutableGenericColumnSource `). +:cpp:class:`MutableGenericColumnSource `). -:cpp:class:`ColumnSource ` +:cpp:class:`ColumnSource ` is for representing columns containing the numeric Deephaven types (``int8_t``, ``int16_t``, ``int32_t``, ``int64_t``, ``float``, ``double``), whereas -:cpp:class:`ColumnSource ` +:cpp:class:`ColumnSource ` is for representing the remaining Deephaven types (``bool``, ``std::string``, and :cpp:class:`DateTime `). For these types we have a set of convenience typedefs: -* :cpp:type:`Int8ColumnSource ` -* :cpp:type:`Int16ColumnSource ` -* :cpp:type:`Int32ColumnSource ` -* :cpp:type:`Int64ColumnSource ` -* :cpp:type:`FloatColumnSource ` -* :cpp:type:`DoubleColumnSource ` -* :cpp:type:`BooleanColumnSource ` -* :cpp:type:`StringColumnSource ` -* :cpp:type:`DateTimeColumnSource ` +* :cpp:type:`Int8ColumnSource ` +* :cpp:type:`Int16ColumnSource ` +* :cpp:type:`Int32ColumnSource ` +* :cpp:type:`Int64ColumnSource ` +* :cpp:type:`FloatColumnSource ` +* :cpp:type:`DoubleColumnSource ` +* :cpp:type:`BooleanColumnSource ` +* :cpp:type:`StringColumnSource ` +* :cpp:type:`DateTimeColumnSource ` Declarations ------------ -.. doxygenclass:: deephaven::client::column::ColumnSource +.. doxygenclass:: deephaven::dhcore::column::ColumnSource :members: -.. doxygenclass:: deephaven::client::column::MutableColumnSource +.. doxygenclass:: deephaven::dhcore::column::MutableColumnSource :members: -.. doxygenclass:: deephaven::client::column::NumericColumnSource +.. doxygenclass:: deephaven::dhcore::column::NumericColumnSource :members: -.. doxygenclass:: deephaven::client::column::GenericColumnSource +.. doxygenclass:: deephaven::dhcore::column::GenericColumnSource :members: -.. doxygenclass:: deephaven::client::column::MutableNumericColumnSource +.. doxygenclass:: deephaven::dhcore::column::MutableNumericColumnSource :members: -.. doxygenclass:: deephaven::client::column::MutableGenericColumnSource +.. doxygenclass:: deephaven::dhcore::column::MutableGenericColumnSource :members: -.. doxygentypedef:: deephaven::client::column::Int8ColumnSource +.. doxygentypedef:: deephaven::dhcore::column::Int8ColumnSource -.. doxygentypedef:: deephaven::client::column::Int16ColumnSource +.. doxygentypedef:: deephaven::dhcore::column::Int16ColumnSource -.. doxygentypedef:: deephaven::client::column::Int32ColumnSource +.. doxygentypedef:: deephaven::dhcore::column::Int32ColumnSource -.. doxygentypedef:: deephaven::client::column::Int64ColumnSource +.. doxygentypedef:: deephaven::dhcore::column::Int64ColumnSource -.. doxygentypedef:: deephaven::client::column::FloatColumnSource +.. doxygentypedef:: deephaven::dhcore::column::FloatColumnSource -.. doxygentypedef:: deephaven::client::column::DoubleColumnSource +.. doxygentypedef:: deephaven::dhcore::column::DoubleColumnSource -.. doxygentypedef:: deephaven::client::column::BooleanColumnSource +.. doxygentypedef:: deephaven::dhcore::column::BooleanColumnSource -.. doxygentypedef:: deephaven::client::column::StringColumnSource +.. doxygentypedef:: deephaven::dhcore::column::StringColumnSource -.. doxygentypedef:: deephaven::client::column::DateTimeColumnSource +.. doxygentypedef:: deephaven::dhcore::column::DateTimeColumnSource Utility Declarations -------------------- -.. doxygenclass:: deephaven::client::column::ColumnSourceVisitor +.. doxygenclass:: deephaven::dhcore::column::ColumnSourceVisitor :members: diff --git a/cpp-client/doc/conf.py b/cpp-client/doc/conf.py index 0859bf8bc4d..88d8409ae76 100644 --- a/cpp-client/doc/conf.py +++ b/cpp-client/doc/conf.py @@ -59,9 +59,11 @@ # parent in the list. cpp_index_common_prefix = [ - 'deephaven::client::chunk::', 'deephaven::client::column::', - 'deephaven::client::container::', - 'deephaven::client::table::', 'deephaven::client::utility::', - 'deephaven::client::'] + 'deephaven::client::', + 'deephaven::dhcore::chunk::', + 'deephaven::dhcore::container::', + 'deephaven::dhcore::table::', + 'deephaven::dhcore::utility::', + 'deephaven::dhcore::'] diff --git a/cpp-client/doc/main.rst b/cpp-client/doc/main.rst index d4cfb6ecb72..6c1f4dc2e91 100644 --- a/cpp-client/doc/main.rst +++ b/cpp-client/doc/main.rst @@ -28,3 +28,6 @@ Declarations .. doxygenclass:: deephaven::client::Client :members: + +.. doxygenclass:: deephaven::client::ClientOptions + :members: diff --git a/cpp-client/doc/row_sequences.rst b/cpp-client/doc/row_sequences.rst index ad70ca999cc..981cee682a3 100644 --- a/cpp-client/doc/row_sequences.rst +++ b/cpp-client/doc/row_sequences.rst @@ -5,7 +5,7 @@ Description ----------- A -:cpp:class:`RowSequence ` +:cpp:class:`RowSequence ` is an abstract class representing a monotonically-increasing sequence of row numbers that can be used to reference elements in a :cpp:class:`Table ` or @@ -16,39 +16,39 @@ It is used as a parameter to methods like :cpp:func:`fillChunk `. The row numbers inside a -:cpp:class:`RowSequence ` +:cpp:class:`RowSequence ` are ``uint64_t`` values. The coordinate space used (whether key space or position space) is not specified, and is implied by context. However, as of this writing, all of the public methods in the C++ client that take -:cpp:class:`RowSequence ` arguments +:cpp:class:`RowSequence ` arguments assume they are in position space. -:cpp:class:`RowSequence ` +:cpp:class:`RowSequence ` objects are immutable. They can be sliced via the -:cpp:func:`take ` +:cpp:func:`take ` and -:cpp:func:`drop ` +:cpp:func:`drop ` methods, which return new -:cpp:class:`RowSequence ` shared_ptrs. +:cpp:class:`RowSequence ` shared_ptrs. You can interrogate their size via -:cpp:func:`size ` or -:cpp:func:`empty `. +:cpp:func:`size ` or +:cpp:func:`empty `. You can iterate over them with -:cpp:func:`forEachInterval ` +:cpp:func:`forEachInterval ` or by obtaining a -:cpp:class:`RowSequenceIterator ` +:cpp:class:`RowSequenceIterator ` via -:cpp:func:`getRowSequenceIterator ` +:cpp:func:`getRowSequenceIterator ` Declarations ------------ -.. doxygenclass:: deephaven::client::container::RowSequence +.. doxygenclass:: deephaven::dhcore::container::RowSequence :members: -.. doxygenclass:: deephaven::client::container::RowSequenceBuilder +.. doxygenclass:: deephaven::dhcore::container::RowSequenceBuilder :members: -.. doxygenclass:: deephaven::client::container::RowSequenceIterator +.. doxygenclass:: deephaven::dhcore::container::RowSequenceIterator :members: diff --git a/cpp-client/doc/ticking.rst b/cpp-client/doc/ticking.rst index fcf149a1b8b..c9fb546f4b4 100644 --- a/cpp-client/doc/ticking.rst +++ b/cpp-client/doc/ticking.rst @@ -30,30 +30,30 @@ A simple example is: myTickingData.unsubscribe(std::move(subscriptionHandle)); The user-supplied ``MyCallback`` is a class deriving from -:cpp:class:`TickingCallback ` +:cpp:class:`TickingCallback ` which overrides two methods: -* :cpp:func:`onTick ` -* :cpp:func:`onFailure ` +* :cpp:func:`onTick ` +* :cpp:func:`onFailure ` When table data changes on the server side, those changes are batched up and periodically transmitted to the client (by default, at a rate of about once per second). First, the client library processes these low-level messages and applies them to its internal copy of the table. Then, it constructs a user-friendly -:cpp:class:`TickingUpdate ` +:cpp:class:`TickingUpdate ` object and invokes the user's -:cpp:func:`onTick ` +:cpp:func:`onTick ` callback, passing it the -:cpp:class:`TickingUpdate ` +:cpp:class:`TickingUpdate ` object. A skeleton of a user-defined callback object looks like this: .. code:: c++ - class MyCallback final : public deephaven::client::TickingCallback { + class MyCallback final : public deephaven::dhcore::ticking::TickingCallback { public: - void onTick(deephaven::client::TickingUpdate update) final { + void onTick(deephaven::dhcore::ticking::TickingUpdate update) final { // handle the update message } @@ -81,7 +81,7 @@ Notes: 1. shifts are a way to express the renumbering (but not reordering) of internal row keys. In this version of the client, we do not expose internal row keys to the caller. So you will not see shifts represented in the -:cpp:class:`TickingUpdate ` +:cpp:class:`TickingUpdate ` class in this version of the client. 2. In the above we explicitly refer to modified *cells* rather than modified *rows*, because @@ -89,19 +89,19 @@ when a row is modified, typically only some cells within that row change but oth For the sake of efficiency, the Barrage protocol allows the server to specify the specific cells that changed within a row. These modifications are represented on a per-column basis. That is, for each column, the library will indicate (via a -:cpp:class:`RowSequence `) +:cpp:class:`RowSequence `) which rows of that column were modified. The TickingUpdate class ----------------------- The -:cpp:class:`TickingUpdate ` +:cpp:class:`TickingUpdate ` class represents the changes that have happened to the table since the last tick. It contains snapshots -(:cpp:func:`prev ` +(:cpp:func:`prev ` and -:cpp:func:`current `) +:cpp:func:`current `) of the table at the start and end of the entire update operation, as well as intermediate snapshots @@ -110,13 +110,13 @@ as well as intermediate snapshots * before and after the modify operation. It also contains -:cpp:class:`RowSequence ` +:cpp:class:`RowSequence ` values representing the positions of the removed, added, and modified items. For some callers, the per-update -:cpp:func:`prev ` +:cpp:func:`prev ` and -:cpp:func:`current ` +:cpp:func:`current ` table snapshots suffice for their needs. These snapshots tell the caller how the table looked before the update and after the update, respectively. Other callers will need more precise @@ -125,31 +125,31 @@ per-operation snapshots. The per-update snapshots are: -* :cpp:func:`prev ` - snapshot of the table before any of this cycle's updates were applied. -* :cpp:func:`current ` - snapshot of the table after all of this cycle's updates were applied. +* :cpp:func:`prev ` - snapshot of the table before any of this cycle's updates were applied. +* :cpp:func:`current ` - snapshot of the table after all of this cycle's updates were applied. The more fine-grained per-operation snaphots are: -* :cpp:func:`beforeRemoves ` - snapshot of the table as it appeared before the remove operation -* :cpp:func:`afterRemoves ` - snapshot of the table as it appeared after the remove operation -* :cpp:func:`beforeAdds ` - snapshot of the table as it appeared before the add operation -* :cpp:func:`afterAdds ` - snapshot of the table as it appeared after the add operation -* :cpp:func:`beforeModifies ` - snapshot of the table as it appeared before the modify operation -* :cpp:func:`afterModifies ` - snapshot of the table as it appeared after the modify operation +* :cpp:func:`beforeRemoves ` - snapshot of the table as it appeared before the remove operation +* :cpp:func:`afterRemoves ` - snapshot of the table as it appeared after the remove operation +* :cpp:func:`beforeAdds ` - snapshot of the table as it appeared before the add operation +* :cpp:func:`afterAdds ` - snapshot of the table as it appeared after the add operation +* :cpp:func:`beforeModifies ` - snapshot of the table as it appeared before the modify operation +* :cpp:func:`afterModifies ` - snapshot of the table as it appeared after the modify operation Some of these snapshots are duplicative: For example, due to the order in which changes are applied internally, it happens to be the case that -:cpp:func:`afterRemoves ` +:cpp:func:`afterRemoves ` and -:cpp:func:`beforeAdds ` +:cpp:func:`beforeAdds ` refer to exactly the same snapshot. We provide these extra snapshots for the programmer's convenience and intuition. The library also takes pains to coalesce snapshots. For example, if no removes happen in a given update, then the -:cpp:func:`beforeRemoves ` +:cpp:func:`beforeRemoves ` pointer will compare equal to the -:cpp:func:`afterRemoves ` +:cpp:func:`afterRemoves ` pointer. Some readers may be concerned about the cost of maintaining all these snapshots. Internally, @@ -161,44 +161,44 @@ implementation of this snapshotting data structure comes from the project. The -:cpp:class:`TickingUpdate ` +:cpp:class:`TickingUpdate ` object also provides -:cpp:class:`RowSequence ` +:cpp:class:`RowSequence ` objects indicating which specific rows were changed. The provided -:cpp:class:`RowSequence ` +:cpp:class:`RowSequence ` objects are: -* :cpp:func:`removedRows ` - indexes of rows removed from the - :cpp:func:`beforeRemoves ` +* :cpp:func:`removedRows ` - indexes of rows removed from the + :cpp:func:`beforeRemoves ` snapshot to form - :cpp:func:`afterRemoves `. -* :cpp:func:`addedRows ` - indexes of rows added to the - :cpp:func:`beforeAdds ` + :cpp:func:`afterRemoves `. +* :cpp:func:`addedRows ` - indexes of rows added to the + :cpp:func:`beforeAdds ` snapshot to form - :cpp:func:`afterAdds `. -* :cpp:func:`modifiedRows ` - a ``std::vector`` of - :cpp:class:`RowSequence ` + :cpp:func:`afterAdds `. +* :cpp:func:`modifiedRows ` - a ``std::vector`` of + :cpp:class:`RowSequence ` shared_ptrs, which represents the modified data on a per-column basis. Each element of the vector is a - :cpp:class:`RowSequence ` + :cpp:class:`RowSequence ` shared_ptr representing the corresponding column. That - :cpp:class:`RowSequence ` + :cpp:class:`RowSequence ` provides the indexes of rows that were modified in the corresponding column of - :cpp:func:`beforeModifies ` + :cpp:func:`beforeModifies ` to form the corresponding column in - :cpp:func:`afterModifies `. + :cpp:func:`afterModifies `. Declarations ------------ -.. doxygenclass:: deephaven::client::table::Table +.. doxygenclass:: deephaven::dhcore::table::Table :members: -.. doxygenclass:: deephaven::client::table::Schema +.. doxygenclass:: deephaven::dhcore::table::Schema :members: -.. doxygenclass:: deephaven::client::TickingCallback +.. doxygenclass:: deephaven::dhcore::ticking::TickingCallback :members: -.. doxygenclass:: deephaven::client::TickingUpdate +.. doxygenclass:: deephaven::dhcore::ticking::TickingUpdate :members: diff --git a/cpp-client/doc/types.rst b/cpp-client/doc/types.rst index 21b17e25504..39b56afea40 100644 --- a/cpp-client/doc/types.rst +++ b/cpp-client/doc/types.rst @@ -14,5 +14,5 @@ Types used for sorting tables Types used for manipulating dates/times --------------------------------------- -.. doxygenclass:: deephaven::client::DateTime +.. doxygenclass:: deephaven::dhcore::DateTime :members: From a4f154d555b1387ac7021051c9c8915bb4bb6bd9 Mon Sep 17 00:00:00 2001 From: Chip Kent <5250374+chipkent@users.noreply.github.com> Date: Fri, 2 Jun 2023 10:06:07 -0600 Subject: [PATCH 08/13] Rewrite Java Time Libs (#3856) A complete rewrite of the time libraries and standardization of engine operations in terms of java.time.* types. * Replace Joda and Deephaven types with standard java.time.* types. * Remove deprecated methods. * Consistently name methods and parameters. * Add missing methods. * Handle parsing more data formats, especially ISO formats. * Change literal formats to be in line with ISO. * User customizable time zone aliases. * Use the java default time zone as the default time zone. * High test coverage. --------- Co-authored-by: Ryan Caudy Co-authored-by: Colin Alworth --- .../benchmarking/BenchmarkTools.java | 15 +- ...rator.java => InstantColumnGenerator.java} | 22 +- .../clientsupport/gotorow/SeekRow.java | 11 +- .../plotdownsampling/RunChartDownsample.java | 12 +- .../configuration/Configuration.java | 3 +- .../plot/util/GenerateAxesPlotMethods.java | 8 +- .../plot/util/GeneratePyV2FigureAPI.java | 4 +- .../io/deephaven/pythonPreambles/plotV2.py | 2 +- .../PrimitiveArrayConversionUtility.java | 23 +- .../modelfarm/util/ModelFarmUtils.java | 7 +- .../modelfarm/util/TestModelFarmUtils.java | 16 +- Numerics/Numerics.gradle | 6 + .../numerics/movingaverages/ByEma.java | 9 +- .../numerics/movingaverages/ByEmaTest.java | 42 +- .../src/main/java/io/deephaven/plot/Axes.java | 146 +- .../main/java/io/deephaven/plot/AxesImpl.java | 292 +- .../main/java/io/deephaven/plot/Figure.java | 144 +- .../java/io/deephaven/plot/FigureImpl.java | 146 +- .../deephaven/plot/PlottingConvenience.java | 146 +- .../plot/axisformatters/NanosAxisFormat.java | 23 +- .../AxisTransformBusinessCalendar.java | 26 +- ...ateTime.java => IndexableDataInstant.java} | 22 +- ... => IndexableNumericDataArrayInstant.java} | 18 +- .../plot/util/ArgumentValidations.java | 22 +- .../io/deephaven/plot/util/PlotUtils.java | 29 +- .../util/tables/ColumnHandlerFactory.java | 15 +- .../axisformatters/TestNanosAxisFormat.java | 44 +- .../TestAxisTransformBusinessCalendar.java | 128 +- .../plot/datasets/data/TestIndexableData.java | 13 +- .../datasets/ohlc/TestOHLCDataSeries.java | 18 +- .../plot/example_plots/BusinessTime.java | 8 +- .../plot/example_plots/CatPlotBy.java | 2 +- .../plot/example_plots/OHLCChart.java | 13 +- .../plot/example_plots/OHLCPlotBy.java | 2 +- .../plot/example_plots/PlottingPQ.groovy | 2 +- .../plot/example_plots/PlottingPQ.py | 2 +- .../plot/example_plots/PrettyChart1.java | 123 +- .../plot/example_plots/SimpleCatError.java | 12 +- .../example_plots/SimpleTsDBDatePlot.java | 21 +- .../plot/example_plots/SimpleXYDateTime.java | 26 +- .../plot/example_plots/SimpleXYError.java | 16 +- .../plot/example_plots/SimpleXYTable.java | 8 +- .../example_plots/plotting_samples.groovy | 154 +- .../plot/util/TestArgumentValidations.java | 10 +- .../util/tables/TestColumnHandlerFactory.java | 32 +- .../io/deephaven/util/type/TypeUtils.java | 2 +- debezium/scripts/demo.py | 2 +- .../engine/table/ColumnDefinition.java | 6 +- .../java/io/deephaven/engine/table/Table.java | 22 - .../engine/MatchFilterBenchmark.java | 8 +- .../engine/RangeFilterBenchmark.java | 20 +- .../engine/RegionedColumnSourceBenchmark.java | 2 +- ...=> SingleTableKeyedInstantOperations.java} | 14 +- .../deephaven/engine/context/QueryScope.java | 20 +- .../engine/context/TestQueryCompiler.java | 4 +- .../table/impl/AbstractColumnSource.java | 3 +- .../engine/table/impl/BucketingContext.java | 8 +- .../engine/table/impl/CodecLookup.java | 4 +- .../table/impl/ColumnSourceGetDefaults.java | 17 +- .../ImmutableColumnSourceGetDefaults.java | 10 +- .../impl/InstrumentedTableListenerBase.java | 2 +- ...nstrumentedTableUpdateListenerAdapter.java | 2 +- .../impl/MutableColumnSourceGetDefaults.java | 15 +- .../engine/table/impl/QueryTable.java | 14 +- ...tObliviousInstrumentedListenerAdapter.java | 2 +- .../engine/table/impl/TableAdapter.java | 5 - .../engine/table/impl/TableCreatorImpl.java | 4 +- .../engine/table/impl/TableDefaults.java | 7 - .../engine/table/impl/TimeTable.java | 111 +- .../impl/UnboxedDateTimeWritableSource.java | 38 - .../impl/UnboxedLongBackedColumnSource.java | 3 +- .../engine/table/impl/UncoalescedTable.java | 6 - .../table/impl/by/AggregationProcessor.java | 31 +- .../by/LongChunkedAddOnlyMinMaxOperator.java | 9 +- .../impl/by/TDigestPercentileOperator.java | 8 +- ...pper.java => InstantSsmSourceWrapper.java} | 56 +- .../SsmBackedColumnSource.java | 22 - .../distinct/LongChunkedDistinctOperator.java | 9 +- .../distinct/LongRollupDistinctOperator.java | 9 +- .../unique/LongChunkedUniqueOperator.java | 9 +- .../unique/LongRollupUniqueOperator.java | 9 +- ...meSetResult.java => InstantSetResult.java} | 13 +- .../ssmminmax/SsmChunkedMinMaxOperator.java | 8 +- ....java => InstantPercentileTypeHelper.java} | 11 +- .../SsmChunkedPercentileOperator.java | 18 +- .../impl/PartitionedTableLocationKey.java | 2 +- .../impl/preview/ColumnPreviewManager.java | 2 +- .../table/impl/remote/ConstructSnapshot.java | 4 +- .../impl/remote/InitialSnapshotTable.java | 6 +- .../table/impl/replay/DataDrivenReplayer.java | 31 +- .../table/impl/replay/DateTimeClock.java | 36 - .../table/impl/replay/FixedStepReplayer.java | 17 +- .../impl/replay/QueryReplayGroupedTable.java | 10 +- .../impl/replay/ReplayGroupedFullTable.java | 3 +- .../impl/replay/ReplayLastByGroupedTable.java | 10 +- .../engine/table/impl/replay/ReplayTable.java | 8 +- .../engine/table/impl/replay/Replayer.java | 40 +- .../impl/select/AbstractConditionFilter.java | 7 +- .../engine/table/impl/select/ClockFilter.java | 13 +- .../table/impl/select/ConditionFilter.java | 12 +- .../table/impl/select/DhFormulaColumn.java | 8 +- .../impl/select/DownsampledWhereFilter.java | 16 +- ...ngeFilter.java => InstantRangeFilter.java} | 58 +- .../engine/table/impl/select/MatchFilter.java | 8 +- .../impl/select/RangeConditionFilter.java | 14 +- .../impl/select/ReinterpretedColumn.java | 53 +- .../table/impl/select/SimulationClock.java | 31 +- .../table/impl/select/SortedClockFilter.java | 2 +- .../table/impl/select/TimeSeriesFilter.java | 13 +- .../impl/select/UnsortedClockFilter.java | 2 +- .../table/impl/select/WhereFilterFactory.java | 28 +- .../select/analyzers/SelectColumnLayer.java | 4 +- .../impl/select/codegen/FormulaAnalyzer.java | 6 +- .../impl/sources/ArrayBackedColumnSource.java | 42 +- .../table/impl/sources/BoxedColumnSource.java | 42 +- ...Source.java => ConvertibleTimeSource.java} | 12 +- .../impl/sources/DateTimeArraySource.java | 39 - .../sources/DateTimeAsLongColumnSource.java | 22 - .../sources/DateTimeSparseArraySource.java | 36 - .../impl/sources/InMemoryColumnSource.java | 15 +- .../impl/sources/InstantArraySource.java | 4 +- .../sources/InstantAsLongColumnSource.java | 2 +- .../sources/InstantSparseArraySource.java | 6 +- .../impl/sources/LocalDateWrapperSource.java | 4 +- .../impl/sources/LocalTimeWrapperSource.java | 4 +- .../table/impl/sources/LongArraySource.java | 12 +- .../sources/LongAsDateTimeColumnSource.java | 22 - .../sources/LongAsInstantColumnSource.java | 2 +- .../sources/LongAsLocalDateColumnSource.java | 2 +- .../sources/LongAsLocalTimeColumnSource.java | 2 +- .../LongAsZonedDateTimeColumnSource.java | 4 +- .../impl/sources/LongSparseArraySource.java | 13 +- .../sources/NanosBasedTimeArraySource.java | 13 +- .../NanosBasedTimeSparseArraySource.java | 13 +- .../impl/sources/RedirectedColumnSource.java | 26 +- .../table/impl/sources/ReinterpretUtils.java | 58 +- .../impl/sources/ShiftedColumnSource.java | 28 +- .../impl/sources/SparseArrayColumnSource.java | 7 +- .../UnboxedLongBackedColumnSource.java | 5 +- .../WritableLongAsDateTimeColumnSource.java | 89 - .../sources/ZonedDateTimeArraySource.java | 11 +- .../sources/ZonedDateTimeAsLongSource.java | 2 +- .../ZonedDateTimeSparseArraySource.java | 11 +- .../Immutable2DDateTimeArraySource.java | 41 - .../Immutable2DInstantArraySource.java | 4 +- .../immutable/Immutable2DLongArraySource.java | 13 +- .../Immutable2DNanosBasedTimeArraySource.java | 15 +- .../Immutable2DZonedDateTimeArraySource.java | 8 +- .../ImmutableConstantDateTimeSource.java | 40 - .../ImmutableConstantInstantSource.java | 4 +- .../ImmutableConstantLongSource.java | 13 +- ...ImmutableConstantNanosBasedTimeSource.java | 15 +- .../ImmutableConstantZonedDateTimeSource.java | 8 +- .../ImmutableDateTimeArraySource.java | 44 - .../ImmutableInstantArraySource.java | 4 +- .../immutable/ImmutableLongArraySource.java | 13 +- .../ImmutableLongAsDateTimeColumnSource.java | 15 - .../ImmutableNanosBasedTimeArraySource.java | 13 +- .../ImmutableZonedDateTimeArraySource.java | 8 +- .../RegionedColumnSourceDateTime.java | 95 - .../regioned/RegionedColumnSourceInstant.java | 14 +- .../regioned/RegionedColumnSourceLong.java | 15 +- .../RegionedColumnSourceZonedDateTime.java | 16 +- .../RegionedTableComponentFactoryImpl.java | 2 - .../impl/sources/ring/RingColumnSource.java | 4 - .../ssms/LongSegmentedSortedMultiset.java | 59 +- .../updateby/UpdateByOperatorFactory.java | 6 +- .../updateby/fill/LongFillByOperator.java | 10 +- .../minmax/LongCumMinMaxOperator.java | 10 +- .../table/impl/util/AsyncErrorLogger.java | 8 +- .../engine/table/impl/util/ColumnHolder.java | 33 +- .../table/impl/util/TableTimeConversions.java | 36 +- .../impl/util/TailInitializationFilter.java | 28 +- .../impl/util/freezeby/FreezeByOperator.java | 3 +- .../impl/QueryLibraryImportsDefaults.java | 53 +- ...erationPerformanceLogLoggerMemoryImpl.java | 18 +- .../QueryPerformanceLogLoggerMemoryImpl.java | 18 +- .../ServerStateLogLoggerMemoryImpl.java | 10 +- .../UpdatePerformanceLogLoggerMemoryImpl.java | 21 +- .../engine/util/GroovyDeephavenSession.java | 9 +- .../io/deephaven/engine/util/HtmlTable.java | 8 +- .../deephaven/engine/util/TableShowTools.java | 23 +- .../io/deephaven/engine/util/TableTools.java | 95 +- .../io/deephaven/engine/util/WindowCheck.java | 10 +- .../engine/util/caching/C14nUtil.java | 4 +- .../stream/StreamToBlinkTableAdapter.java | 10 +- .../engine/table/impl/FuzzerTest.java | 17 +- .../table/impl/PartitionedTableTest.java | 2 +- .../engine/table/impl/QueryFactory.java | 13 +- .../table/impl/QueryTableAggregationTest.java | 32 +- .../engine/table/impl/QueryTableAjTest.java | 14 +- .../engine/table/impl/QueryTableJoinTest.java | 16 +- .../table/impl/QueryTableNaturalJoinTest.java | 40 +- .../table/impl/QueryTableRangeJoinTest.java | 10 +- .../impl/QueryTableSelectUpdateTest.java | 10 +- .../engine/table/impl/QueryTableSortTest.java | 4 +- .../engine/table/impl/QueryTableTest.java | 97 +- .../engine/table/impl/QueryTableTreeTest.java | 64 +- .../table/impl/QueryTableWhereTest.java | 20 +- .../engine/table/impl/SparseSelectTest.java | 13 +- .../engine/table/impl/TestAggBy.java | 25 +- .../table/impl/TestBlinkTableTools.java | 19 +- .../impl/TestDownsampledWhereFilter.java | 11 +- .../impl/TestFormulaArrayEvaluation.java | 5 +- .../table/impl/TestPartitioningColumns.java | 5 +- .../deephaven/engine/table/impl/TestSort.java | 12 +- .../impl/lang/TestQueryLanguageParser.java | 34 +- .../impl/select/FilterKernelArraySample.java | 10 +- .../table/impl/select/FilterKernelSample.java | 10 +- .../impl/select/FormulaKernelSample.java | 10 +- .../table/impl/select/FormulaSample.java | 10 +- .../table/impl/select/TestClockFilters.java | 10 +- .../table/impl/select/TestFormulaColumn.java | 8 +- .../impl/select/TestReinterpretedColumn.java | 129 +- .../impl/select/TestSimulationClock.java | 7 +- .../impl/select/WhereFilterFactoryTest.java | 49 +- .../sources/ArrayBackedColumnSourceTest.java | 10 +- .../TestChunkColumnSource.java | 25 +- .../TestChunkedRegionedOperations.java | 10 +- ...a => TestRegionedColumnSourceInstant.java} | 125 +- .../impl/sources/ring/RingTableToolsTest.java | 17 +- .../engine/table/impl/updateby/TestDelta.java | 43 +- .../table/impl/updateby/TestEmMinMax.java | 94 +- .../engine/table/impl/updateby/TestEmStd.java | 58 +- .../engine/table/impl/updateby/TestEma.java | 74 +- .../engine/table/impl/updateby/TestEms.java | 86 +- .../table/impl/updateby/TestRollingAvg.java | 34 +- .../table/impl/updateby/TestRollingCount.java | 34 +- .../table/impl/updateby/TestRollingGroup.java | 74 +- .../impl/updateby/TestRollingMinMax.java | 34 +- .../impl/updateby/TestRollingProduct.java | 34 +- .../table/impl/updateby/TestRollingStd.java | 34 +- .../table/impl/updateby/TestRollingSum.java | 102 +- .../table/impl/updateby/TestRollingWAvg.java | 62 +- .../impl/updateby/TestUpdateByGeneral.java | 16 +- .../impl/util/TestDynamicTableWriter.java | 28 +- .../engine/table/impl/util/TestFreezeBy.java | 8 +- .../util/TestTailInitializationFilter.java | 33 +- .../table/impl/util/TestTimeSeriesFilter.java | 14 +- .../util/TestCalendarMethodsFromTable.java | 10 +- .../deephaven/engine/util/TestTableTools.java | 26 +- .../deephaven/engine/util/TestTypeUtils.java | 14 +- .../engine/util/TestWindowCheck.java | 56 +- .../deephaven/engine/util/TimeTableTest.java | 32 +- .../stream/TestStreamToBlinkTableAdapter.java | 20 +- .../engine/table/impl/fuzzertest.groovy | 4 +- .../deephaven/engine/testutil/ColumnInfo.java | 5 +- .../deephaven/engine/testutil/TstUtils.java | 18 +- .../generator/SortedDateTimeGenerator.java | 38 - .../generator/SortedInstantGenerator.java | 40 + .../generator/UnsortedDateTimeGenerator.java | 40 - .../UnsortedDateTimeLongGenerator.java | 45 - .../generator/UnsortedInstantGenerator.java | 42 + .../UnsortedInstantLongGenerator.java | 46 + .../testutil/sources/DateTimeTestSource.java | 155 - .../sources/ImmutableDateTimeTestSource.java | 131 - .../sources/ImmutableInstantTestSource.java | 9 +- .../testutil/sources/InstantTestSource.java | 8 +- .../sources/UnboxedDateTimeTestSource.java | 39 - engine/time/build.gradle | 1 - .../main/java/io/deephaven/time/DateTime.java | 475 -- .../io/deephaven/time/DateTimeFormatter.java | 83 +- .../io/deephaven/time/DateTimeFormatters.java | 37 +- .../java/io/deephaven/time/DateTimeUtils.java | 4453 +++++++++++------ .../main/java/io/deephaven/time/Period.java | 67 - .../time/TimeLiteralReplacedExpression.java | 153 + .../main/java/io/deephaven/time/TimeZone.java | 215 - .../io/deephaven/time/TimeZoneAliases.java | 256 + .../calendar/AbstractBusinessCalendar.java | 98 +- .../time/calendar/AbstractCalendar.java | 48 +- .../time/calendar/BusinessCalendar.java | 73 +- .../time/calendar/BusinessPeriod.java | 20 +- .../time/calendar/BusinessSchedule.java | 23 +- .../io/deephaven/time/calendar/Calendar.java | 49 +- .../calendar/DefaultBusinessCalendar.java | 55 +- .../DefaultNoHolidayBusinessCalendar.java | 33 +- .../time/calendar/StaticCalendarMethods.java | 91 +- .../java/io/deephaven/time/TestDateTime.java | 119 - .../deephaven/time/TestDateTimeFormatter.java | 37 +- .../time/TestDateTimeFormatters.java | 23 + .../io/deephaven/time/TestDateTimeUtils.java | 3138 ++++++++++-- .../java/io/deephaven/time/TestPeriod.java | 72 - .../TestTimeLiteralReplacedExpression.java | 127 + .../deephaven/time/TestTimeZoneAliases.java | 52 + .../calendar/StaticCalendarMethodsTest.java | 8 +- .../time/calendar/TestBusinessPeriod.java | 19 +- .../time/calendar/TestBusinessSchedule.java | 61 +- .../time/calendar/TestCalendars.java | 32 +- .../calendar/TestDefaultBusinessCalendar.java | 587 +-- .../TestDefaultNoHolidayBusinessCalendar.java | 18 +- engine/tuple/build.gradle | 6 + .../serialization/SerializationUtils.java | 11 +- .../serialization/TestSerializationUtils.java | 4 +- .../tuplesource/TupleSourceCreatorImpl.java | 4 +- ...oleanBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... BooleanByteInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...eanCharacterInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ooleanDoubleInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...BooleanFloatInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...oleanInstantBooleanColumnTupleSource.java} | 42 +- ... BooleanInstantByteColumnTupleSource.java} | 42 +- ...eanInstantCharacterColumnTupleSource.java} | 42 +- ...a => BooleanInstantColumnTupleSource.java} | 42 +- ...ooleanInstantDoubleColumnTupleSource.java} | 42 +- ...BooleanInstantFloatColumnTupleSource.java} | 42 +- ...oleanInstantInstantColumnTupleSource.java} | 64 +- ...oleanInstantIntegerColumnTupleSource.java} | 42 +- ... BooleanInstantLongColumnTupleSource.java} | 42 +- ...ooleanInstantObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...BooleanInstantShortColumnTupleSource.java} | 42 +- ...oleanIntegerInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... BooleanLongInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ooleanObjectInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ...BooleanShortInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... ByteBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... => ByteByteInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...yteCharacterInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...> ByteDoubleInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...=> ByteFloatInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... ByteInstantBooleanColumnTupleSource.java} | 42 +- ... => ByteInstantByteColumnTupleSource.java} | 42 +- ...yteInstantCharacterColumnTupleSource.java} | 42 +- ...java => ByteInstantColumnTupleSource.java} | 42 +- ...> ByteInstantDoubleColumnTupleSource.java} | 42 +- ...=> ByteInstantFloatColumnTupleSource.java} | 42 +- ... ByteInstantInstantColumnTupleSource.java} | 64 +- ... ByteInstantIntegerColumnTupleSource.java} | 42 +- ... => ByteInstantLongColumnTupleSource.java} | 42 +- ...> ByteInstantObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...=> ByteInstantShortColumnTupleSource.java} | 42 +- ... ByteIntegerInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... => ByteLongInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...> ByteObjectInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ...=> ByteShortInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...acterBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...haracterByteInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...terCharacterInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...racterDoubleInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...aracterFloatInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...acterInstantBooleanColumnTupleSource.java} | 42 +- ...haracterInstantByteColumnTupleSource.java} | 42 +- ...terInstantCharacterColumnTupleSource.java} | 42 +- ...=> CharacterInstantColumnTupleSource.java} | 42 +- ...racterInstantDoubleColumnTupleSource.java} | 42 +- ...aracterInstantFloatColumnTupleSource.java} | 42 +- ...acterInstantInstantColumnTupleSource.java} | 64 +- ...acterInstantIntegerColumnTupleSource.java} | 42 +- ...haracterInstantLongColumnTupleSource.java} | 42 +- ...racterInstantObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...aracterInstantShortColumnTupleSource.java} | 42 +- ...acterIntegerInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...haracterLongInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...racterObjectInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ...aracterShortInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...oubleBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...> DoubleByteInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...bleCharacterInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...DoubleDoubleInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... DoubleFloatInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...oubleInstantBooleanColumnTupleSource.java} | 42 +- ...> DoubleInstantByteColumnTupleSource.java} | 42 +- ...bleInstantCharacterColumnTupleSource.java} | 42 +- ...va => DoubleInstantColumnTupleSource.java} | 42 +- ...DoubleInstantDoubleColumnTupleSource.java} | 42 +- ... DoubleInstantFloatColumnTupleSource.java} | 42 +- ...oubleInstantInstantColumnTupleSource.java} | 64 +- ...oubleInstantIntegerColumnTupleSource.java} | 42 +- ...> DoubleInstantLongColumnTupleSource.java} | 42 +- ...DoubleInstantObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ... DoubleInstantShortColumnTupleSource.java} | 42 +- ...oubleIntegerInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...> DoubleLongInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...DoubleObjectInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ... DoubleShortInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...FloatBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...=> FloatByteInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...oatCharacterInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... FloatDoubleInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...> FloatFloatInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...FloatInstantBooleanColumnTupleSource.java} | 42 +- ...=> FloatInstantByteColumnTupleSource.java} | 42 +- ...oatInstantCharacterColumnTupleSource.java} | 42 +- ...ava => FloatInstantColumnTupleSource.java} | 42 +- ... FloatInstantDoubleColumnTupleSource.java} | 42 +- ...> FloatInstantFloatColumnTupleSource.java} | 42 +- ...FloatInstantInstantColumnTupleSource.java} | 64 +- ...FloatInstantIntegerColumnTupleSource.java} | 42 +- ...=> FloatInstantLongColumnTupleSource.java} | 42 +- ... FloatInstantObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...> FloatInstantShortColumnTupleSource.java} | 42 +- ...FloatIntegerInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...=> FloatLongInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... FloatObjectInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ...> FloatShortInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...stantBooleanBooleanColumnTupleSource.java} | 42 +- ... InstantBooleanByteColumnTupleSource.java} | 42 +- ...antBooleanCharacterColumnTupleSource.java} | 42 +- ...a => InstantBooleanColumnTupleSource.java} | 42 +- ...nstantBooleanDoubleColumnTupleSource.java} | 42 +- ...InstantBooleanFloatColumnTupleSource.java} | 42 +- ...stantBooleanInstantColumnTupleSource.java} | 64 +- ...stantBooleanIntegerColumnTupleSource.java} | 42 +- ... InstantBooleanLongColumnTupleSource.java} | 42 +- ...nstantBooleanObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...InstantBooleanShortColumnTupleSource.java} | 42 +- ... InstantByteBooleanColumnTupleSource.java} | 42 +- ... => InstantByteByteColumnTupleSource.java} | 42 +- ...nstantByteCharacterColumnTupleSource.java} | 42 +- ...java => InstantByteColumnTupleSource.java} | 42 +- ...> InstantByteDoubleColumnTupleSource.java} | 42 +- ...=> InstantByteFloatColumnTupleSource.java} | 42 +- ... InstantByteInstantColumnTupleSource.java} | 64 +- ... InstantByteIntegerColumnTupleSource.java} | 42 +- ... => InstantByteLongColumnTupleSource.java} | 42 +- ...> InstantByteObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...=> InstantByteShortColumnTupleSource.java} | 42 +- ...antCharacterBooleanColumnTupleSource.java} | 42 +- ...nstantCharacterByteColumnTupleSource.java} | 42 +- ...tCharacterCharacterColumnTupleSource.java} | 42 +- ...=> InstantCharacterColumnTupleSource.java} | 42 +- ...tantCharacterDoubleColumnTupleSource.java} | 42 +- ...stantCharacterFloatColumnTupleSource.java} | 42 +- ...antCharacterInstantColumnTupleSource.java} | 64 +- ...antCharacterIntegerColumnTupleSource.java} | 42 +- ...nstantCharacterLongColumnTupleSource.java} | 42 +- ...tantCharacterObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...stantCharacterShortColumnTupleSource.java} | 42 +- ...nstantDoubleBooleanColumnTupleSource.java} | 42 +- ...> InstantDoubleByteColumnTupleSource.java} | 42 +- ...tantDoubleCharacterColumnTupleSource.java} | 42 +- ...va => InstantDoubleColumnTupleSource.java} | 42 +- ...InstantDoubleDoubleColumnTupleSource.java} | 42 +- ... InstantDoubleFloatColumnTupleSource.java} | 42 +- ...nstantDoubleInstantColumnTupleSource.java} | 64 +- ...nstantDoubleIntegerColumnTupleSource.java} | 42 +- ...> InstantDoubleLongColumnTupleSource.java} | 42 +- ...InstantDoubleObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ... InstantDoubleShortColumnTupleSource.java} | 42 +- ...InstantFloatBooleanColumnTupleSource.java} | 42 +- ...=> InstantFloatByteColumnTupleSource.java} | 42 +- ...stantFloatCharacterColumnTupleSource.java} | 42 +- ...ava => InstantFloatColumnTupleSource.java} | 42 +- ... InstantFloatDoubleColumnTupleSource.java} | 42 +- ...> InstantFloatFloatColumnTupleSource.java} | 42 +- ...InstantFloatInstantColumnTupleSource.java} | 64 +- ...InstantFloatIntegerColumnTupleSource.java} | 42 +- ...=> InstantFloatLongColumnTupleSource.java} | 42 +- ... InstantFloatObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...> InstantFloatShortColumnTupleSource.java} | 42 +- ...stantInstantBooleanColumnTupleSource.java} | 64 +- ... InstantInstantByteColumnTupleSource.java} | 64 +- ...antInstantCharacterColumnTupleSource.java} | 64 +- ...a => InstantInstantColumnTupleSource.java} | 64 +- ...nstantInstantDoubleColumnTupleSource.java} | 64 +- ...InstantInstantFloatColumnTupleSource.java} | 64 +- ...stantInstantInstantColumnTupleSource.java} | 86 +- ...stantInstantIntegerColumnTupleSource.java} | 64 +- ... InstantInstantLongColumnTupleSource.java} | 64 +- ...nstantInstantObjectColumnTupleSource.java} | 64 +- ...einterpretedBooleanColumnTupleSource.java} | 64 +- ...einterpretedInstantColumnTupleSource.java} | 70 +- ...InstantInstantShortColumnTupleSource.java} | 64 +- ...stantIntegerBooleanColumnTupleSource.java} | 42 +- ... InstantIntegerByteColumnTupleSource.java} | 42 +- ...antIntegerCharacterColumnTupleSource.java} | 42 +- ...a => InstantIntegerColumnTupleSource.java} | 42 +- ...nstantIntegerDoubleColumnTupleSource.java} | 42 +- ...InstantIntegerFloatColumnTupleSource.java} | 42 +- ...stantIntegerInstantColumnTupleSource.java} | 64 +- ...stantIntegerIntegerColumnTupleSource.java} | 42 +- ... InstantIntegerLongColumnTupleSource.java} | 42 +- ...nstantIntegerObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...InstantIntegerShortColumnTupleSource.java} | 42 +- ... InstantLongBooleanColumnTupleSource.java} | 42 +- ... => InstantLongByteColumnTupleSource.java} | 42 +- ...nstantLongCharacterColumnTupleSource.java} | 42 +- ...java => InstantLongColumnTupleSource.java} | 42 +- ...> InstantLongDoubleColumnTupleSource.java} | 42 +- ...=> InstantLongFloatColumnTupleSource.java} | 42 +- ... InstantLongInstantColumnTupleSource.java} | 64 +- ... InstantLongIntegerColumnTupleSource.java} | 42 +- ... => InstantLongLongColumnTupleSource.java} | 42 +- ...> InstantLongObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...=> InstantLongShortColumnTupleSource.java} | 42 +- ...nstantObjectBooleanColumnTupleSource.java} | 42 +- ...> InstantObjectByteColumnTupleSource.java} | 42 +- ...tantObjectCharacterColumnTupleSource.java} | 42 +- ...va => InstantObjectColumnTupleSource.java} | 42 +- ...InstantObjectDoubleColumnTupleSource.java} | 42 +- ... InstantObjectFloatColumnTupleSource.java} | 42 +- ...nstantObjectInstantColumnTupleSource.java} | 64 +- ...nstantObjectIntegerColumnTupleSource.java} | 42 +- ...> InstantObjectLongColumnTupleSource.java} | 42 +- ...InstantObjectObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ... InstantObjectShortColumnTupleSource.java} | 42 +- ...retedBooleanBooleanColumnTupleSource.java} | 42 +- ...erpretedBooleanByteColumnTupleSource.java} | 42 +- ...tedBooleanCharacterColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...pretedBooleanDoubleColumnTupleSource.java} | 42 +- ...rpretedBooleanFloatColumnTupleSource.java} | 42 +- ...retedBooleanInstantColumnTupleSource.java} | 64 +- ...retedBooleanIntegerColumnTupleSource.java} | 42 +- ...erpretedBooleanLongColumnTupleSource.java} | 42 +- ...pretedBooleanObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...rpretedBooleanShortColumnTupleSource.java} | 42 +- ...retedInstantBooleanColumnTupleSource.java} | 48 +- ...erpretedInstantByteColumnTupleSource.java} | 48 +- ...tedInstantCharacterColumnTupleSource.java} | 48 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...pretedInstantDoubleColumnTupleSource.java} | 48 +- ...rpretedInstantFloatColumnTupleSource.java} | 48 +- ...retedInstantInstantColumnTupleSource.java} | 70 +- ...retedInstantIntegerColumnTupleSource.java} | 48 +- ...erpretedInstantLongColumnTupleSource.java} | 48 +- ...pretedInstantObjectColumnTupleSource.java} | 48 +- ...einterpretedBooleanColumnTupleSource.java} | 48 +- ...einterpretedInstantColumnTupleSource.java} | 54 +- ...rpretedInstantShortColumnTupleSource.java} | 48 +- ...InstantShortBooleanColumnTupleSource.java} | 42 +- ...=> InstantShortByteColumnTupleSource.java} | 42 +- ...stantShortCharacterColumnTupleSource.java} | 42 +- ...ava => InstantShortColumnTupleSource.java} | 42 +- ... InstantShortDoubleColumnTupleSource.java} | 42 +- ...> InstantShortFloatColumnTupleSource.java} | 42 +- ...InstantShortInstantColumnTupleSource.java} | 64 +- ...InstantShortIntegerColumnTupleSource.java} | 42 +- ...=> InstantShortLongColumnTupleSource.java} | 42 +- ... InstantShortObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...> InstantShortShortColumnTupleSource.java} | 42 +- ...tegerBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... IntegerByteInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...gerCharacterInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ntegerDoubleInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...IntegerFloatInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...tegerInstantBooleanColumnTupleSource.java} | 42 +- ... IntegerInstantByteColumnTupleSource.java} | 42 +- ...gerInstantCharacterColumnTupleSource.java} | 42 +- ...a => IntegerInstantColumnTupleSource.java} | 42 +- ...ntegerInstantDoubleColumnTupleSource.java} | 42 +- ...IntegerInstantFloatColumnTupleSource.java} | 42 +- ...tegerInstantInstantColumnTupleSource.java} | 64 +- ...tegerInstantIntegerColumnTupleSource.java} | 42 +- ... IntegerInstantLongColumnTupleSource.java} | 42 +- ...ntegerInstantObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...IntegerInstantShortColumnTupleSource.java} | 42 +- ...tegerIntegerInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... IntegerLongInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ntegerObjectInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ...IntegerShortInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... LongBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... => LongByteInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ongCharacterInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...> LongDoubleInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...=> LongFloatInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... LongInstantBooleanColumnTupleSource.java} | 42 +- ... => LongInstantByteColumnTupleSource.java} | 42 +- ...ongInstantCharacterColumnTupleSource.java} | 42 +- ...java => LongInstantColumnTupleSource.java} | 42 +- ...> LongInstantDoubleColumnTupleSource.java} | 42 +- ...=> LongInstantFloatColumnTupleSource.java} | 42 +- ... LongInstantInstantColumnTupleSource.java} | 64 +- ... LongInstantIntegerColumnTupleSource.java} | 42 +- ... => LongInstantLongColumnTupleSource.java} | 42 +- ...> LongInstantObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...=> LongInstantShortColumnTupleSource.java} | 42 +- ... LongIntegerInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... => LongLongInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...> LongObjectInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ...=> LongShortInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...bjectBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...> ObjectByteInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ectCharacterInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ObjectDoubleInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... ObjectFloatInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...bjectInstantBooleanColumnTupleSource.java} | 42 +- ...> ObjectInstantByteColumnTupleSource.java} | 42 +- ...ectInstantCharacterColumnTupleSource.java} | 42 +- ...va => ObjectInstantColumnTupleSource.java} | 42 +- ...ObjectInstantDoubleColumnTupleSource.java} | 42 +- ... ObjectInstantFloatColumnTupleSource.java} | 42 +- ...bjectInstantInstantColumnTupleSource.java} | 64 +- ...bjectInstantIntegerColumnTupleSource.java} | 42 +- ...> ObjectInstantLongColumnTupleSource.java} | 42 +- ...ObjectInstantObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ... ObjectInstantShortColumnTupleSource.java} | 42 +- ...bjectIntegerInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...> ObjectLongInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ObjectObjectInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ... ObjectShortInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...oleanBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...dBooleanByteInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...eanCharacterInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ooleanDoubleInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...BooleanFloatInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...oleanInstantBooleanColumnTupleSource.java} | 42 +- ...dBooleanInstantByteColumnTupleSource.java} | 42 +- ...eanInstantCharacterColumnTupleSource.java} | 42 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...ooleanInstantDoubleColumnTupleSource.java} | 42 +- ...BooleanInstantFloatColumnTupleSource.java} | 42 +- ...oleanInstantInstantColumnTupleSource.java} | 64 +- ...oleanInstantIntegerColumnTupleSource.java} | 42 +- ...dBooleanInstantLongColumnTupleSource.java} | 42 +- ...ooleanInstantObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...BooleanInstantShortColumnTupleSource.java} | 42 +- ...oleanIntegerInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...dBooleanLongInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ooleanObjectInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ...BooleanShortInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...stantBooleanBooleanColumnTupleSource.java} | 18 +- ...dInstantBooleanByteColumnTupleSource.java} | 18 +- ...antBooleanCharacterColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...nstantBooleanDoubleColumnTupleSource.java} | 18 +- ...InstantBooleanFloatColumnTupleSource.java} | 18 +- ...stantBooleanInstantColumnTupleSource.java} | 48 +- ...stantBooleanIntegerColumnTupleSource.java} | 18 +- ...dInstantBooleanLongColumnTupleSource.java} | 18 +- ...nstantBooleanObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...InstantBooleanShortColumnTupleSource.java} | 18 +- ...dInstantByteBooleanColumnTupleSource.java} | 18 +- ...etedInstantByteByteColumnTupleSource.java} | 18 +- ...nstantByteCharacterColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...edInstantByteDoubleColumnTupleSource.java} | 18 +- ...tedInstantByteFloatColumnTupleSource.java} | 18 +- ...dInstantByteInstantColumnTupleSource.java} | 48 +- ...dInstantByteIntegerColumnTupleSource.java} | 18 +- ...etedInstantByteLongColumnTupleSource.java} | 18 +- ...edInstantByteObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...tedInstantByteShortColumnTupleSource.java} | 18 +- ...antCharacterBooleanColumnTupleSource.java} | 18 +- ...nstantCharacterByteColumnTupleSource.java} | 18 +- ...tCharacterCharacterColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...tantCharacterDoubleColumnTupleSource.java} | 18 +- ...stantCharacterFloatColumnTupleSource.java} | 18 +- ...antCharacterInstantColumnTupleSource.java} | 48 +- ...antCharacterIntegerColumnTupleSource.java} | 18 +- ...nstantCharacterLongColumnTupleSource.java} | 18 +- ...tantCharacterObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...stantCharacterShortColumnTupleSource.java} | 18 +- ...nstantDoubleBooleanColumnTupleSource.java} | 18 +- ...edInstantDoubleByteColumnTupleSource.java} | 18 +- ...tantDoubleCharacterColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...InstantDoubleDoubleColumnTupleSource.java} | 18 +- ...dInstantDoubleFloatColumnTupleSource.java} | 18 +- ...nstantDoubleInstantColumnTupleSource.java} | 48 +- ...nstantDoubleIntegerColumnTupleSource.java} | 18 +- ...edInstantDoubleLongColumnTupleSource.java} | 18 +- ...InstantDoubleObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...dInstantDoubleShortColumnTupleSource.java} | 18 +- ...InstantFloatBooleanColumnTupleSource.java} | 18 +- ...tedInstantFloatByteColumnTupleSource.java} | 18 +- ...stantFloatCharacterColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...dInstantFloatDoubleColumnTupleSource.java} | 18 +- ...edInstantFloatFloatColumnTupleSource.java} | 18 +- ...InstantFloatInstantColumnTupleSource.java} | 48 +- ...InstantFloatIntegerColumnTupleSource.java} | 18 +- ...tedInstantFloatLongColumnTupleSource.java} | 18 +- ...dInstantFloatObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...edInstantFloatShortColumnTupleSource.java} | 18 +- ...stantInstantBooleanColumnTupleSource.java} | 48 +- ...dInstantInstantByteColumnTupleSource.java} | 48 +- ...antInstantCharacterColumnTupleSource.java} | 48 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...nstantInstantDoubleColumnTupleSource.java} | 48 +- ...InstantInstantFloatColumnTupleSource.java} | 48 +- ...stantInstantInstantColumnTupleSource.java} | 70 +- ...stantInstantIntegerColumnTupleSource.java} | 48 +- ...dInstantInstantLongColumnTupleSource.java} | 48 +- ...nstantInstantObjectColumnTupleSource.java} | 48 +- ...einterpretedBooleanColumnTupleSource.java} | 48 +- ...einterpretedInstantColumnTupleSource.java} | 54 +- ...InstantInstantShortColumnTupleSource.java} | 48 +- ...stantIntegerBooleanColumnTupleSource.java} | 18 +- ...dInstantIntegerByteColumnTupleSource.java} | 18 +- ...antIntegerCharacterColumnTupleSource.java} | 18 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...nstantIntegerDoubleColumnTupleSource.java} | 18 +- ...InstantIntegerFloatColumnTupleSource.java} | 18 +- ...stantIntegerInstantColumnTupleSource.java} | 48 +- ...stantIntegerIntegerColumnTupleSource.java} | 18 +- ...dInstantIntegerLongColumnTupleSource.java} | 18 +- ...nstantIntegerObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...InstantIntegerShortColumnTupleSource.java} | 18 +- ...dInstantLongBooleanColumnTupleSource.java} | 18 +- ...etedInstantLongByteColumnTupleSource.java} | 18 +- ...nstantLongCharacterColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...edInstantLongDoubleColumnTupleSource.java} | 18 +- ...tedInstantLongFloatColumnTupleSource.java} | 18 +- ...dInstantLongInstantColumnTupleSource.java} | 48 +- ...dInstantLongIntegerColumnTupleSource.java} | 18 +- ...etedInstantLongLongColumnTupleSource.java} | 18 +- ...edInstantLongObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...tedInstantLongShortColumnTupleSource.java} | 18 +- ...nstantObjectBooleanColumnTupleSource.java} | 18 +- ...edInstantObjectByteColumnTupleSource.java} | 18 +- ...tantObjectCharacterColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...InstantObjectDoubleColumnTupleSource.java} | 18 +- ...dInstantObjectFloatColumnTupleSource.java} | 18 +- ...nstantObjectInstantColumnTupleSource.java} | 48 +- ...nstantObjectIntegerColumnTupleSource.java} | 18 +- ...edInstantObjectLongColumnTupleSource.java} | 18 +- ...InstantObjectObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...dInstantObjectShortColumnTupleSource.java} | 18 +- ...retedBooleanBooleanColumnTupleSource.java} | 18 +- ...erpretedBooleanByteColumnTupleSource.java} | 18 +- ...tedBooleanCharacterColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...pretedBooleanDoubleColumnTupleSource.java} | 18 +- ...rpretedBooleanFloatColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 48 +- ...retedBooleanIntegerColumnTupleSource.java} | 18 +- ...erpretedBooleanLongColumnTupleSource.java} | 18 +- ...pretedBooleanObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedBooleanShortColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 24 +- ...erpretedInstantByteColumnTupleSource.java} | 24 +- ...tedInstantCharacterColumnTupleSource.java} | 24 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...pretedInstantDoubleColumnTupleSource.java} | 24 +- ...rpretedInstantFloatColumnTupleSource.java} | 24 +- ...retedInstantInstantColumnTupleSource.java} | 54 +- ...retedInstantIntegerColumnTupleSource.java} | 24 +- ...erpretedInstantLongColumnTupleSource.java} | 24 +- ...pretedInstantObjectColumnTupleSource.java} | 24 +- ...einterpretedBooleanColumnTupleSource.java} | 24 +- ...einterpretedInstantColumnTupleSource.java} | 30 +- ...rpretedInstantShortColumnTupleSource.java} | 24 +- ...InstantShortBooleanColumnTupleSource.java} | 18 +- ...tedInstantShortByteColumnTupleSource.java} | 18 +- ...stantShortCharacterColumnTupleSource.java} | 18 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ...dInstantShortDoubleColumnTupleSource.java} | 18 +- ...edInstantShortFloatColumnTupleSource.java} | 18 +- ...InstantShortInstantColumnTupleSource.java} | 48 +- ...InstantShortIntegerColumnTupleSource.java} | 18 +- ...tedInstantShortLongColumnTupleSource.java} | 18 +- ...dInstantShortObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...edInstantShortShortColumnTupleSource.java} | 18 +- ...ShortBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...=> ShortByteInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ortCharacterInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... ShortDoubleInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...> ShortFloatInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...ShortInstantBooleanColumnTupleSource.java} | 42 +- ...=> ShortInstantByteColumnTupleSource.java} | 42 +- ...ortInstantCharacterColumnTupleSource.java} | 42 +- ...ava => ShortInstantColumnTupleSource.java} | 42 +- ... ShortInstantDoubleColumnTupleSource.java} | 42 +- ...> ShortInstantFloatColumnTupleSource.java} | 42 +- ...ShortInstantInstantColumnTupleSource.java} | 64 +- ...ShortInstantIntegerColumnTupleSource.java} | 42 +- ...=> ShortInstantLongColumnTupleSource.java} | 42 +- ... ShortInstantObjectColumnTupleSource.java} | 42 +- ...einterpretedBooleanColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 48 +- ...> ShortInstantShortColumnTupleSource.java} | 42 +- ...ShortIntegerInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...=> ShortLongInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ... ShortObjectInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedBooleanInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...retedInstantBooleanColumnTupleSource.java} | 18 +- ...erpretedInstantByteColumnTupleSource.java} | 18 +- ...tedInstantCharacterColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- ...pretedInstantDoubleColumnTupleSource.java} | 18 +- ...rpretedInstantFloatColumnTupleSource.java} | 18 +- ...retedInstantInstantColumnTupleSource.java} | 48 +- ...retedInstantIntegerColumnTupleSource.java} | 18 +- ...erpretedInstantLongColumnTupleSource.java} | 18 +- ...pretedInstantObjectColumnTupleSource.java} | 18 +- ...einterpretedBooleanColumnTupleSource.java} | 18 +- ...einterpretedInstantColumnTupleSource.java} | 24 +- ...rpretedInstantShortColumnTupleSource.java} | 18 +- ...> ShortShortInstantColumnTupleSource.java} | 42 +- ...einterpretedInstantColumnTupleSource.java} | 18 +- .../extensions/arrow/ArrowWrapperTools.java | 6 +- ...rce.java => ArrowInstantColumnSource.java} | 18 +- .../arrow/ArrowTimestampVectorTest.java | 10 +- .../barrage/BarragePerformanceLog.java | 10 +- .../BarrageSnapshotPerformanceLogger.java | 16 +- .../BarrageSubscriptionPerformanceLogger.java | 16 +- .../chunk/ChunkInputStreamGenerator.java | 28 +- .../barrage/table/BarrageTable.java | 7 +- .../extensions/barrage/util/BarrageUtil.java | 9 +- .../chunk/BarrageColumnRoundTripTest.java | 13 - .../main/java/io/deephaven/csv/CsvTools.java | 120 +- .../csv/DeephavenTimeZoneParser.java | 65 +- .../io/deephaven/csv/DeephavenCsvTest.java | 15 +- .../java/io/deephaven/csv/TestCsvTools.java | 94 +- .../io/deephaven/jdbc/JdbcToTableAdapter.java | 3 +- .../io/deephaven/jdbc/JdbcTypeMapper.java | 82 +- .../jdbc/JdbcToTableAdapterTest.java | 37 +- .../java/io/deephaven/kafka/KafkaTools.java | 8 +- .../ingest/GenericRecordChunkAdapter.java | 19 +- ...GenericRecordInstantArrayFieldCopier.java} | 14 +- .../kafka/ingest/JsonNodeChunkAdapter.java | 6 +- ...r.java => JsonNodeInstantFieldCopier.java} | 11 +- .../deephaven/kafka/ingest/JsonNodeUtil.java | 34 +- .../GenericRecordKeyOrValueSerializer.java | 21 +- .../kafka/ingest/TestAvroAdapter.java | 28 +- .../parquet/table/TableWriteBenchmark.java | 2 +- .../BrotliParquetTableReadWriteTest.java | 2 +- .../parquet/table/ParquetSchemaReader.java | 6 +- .../parquet/table/ParquetTableWriter.java | 8 +- .../io/deephaven/parquet/table/TypeInfos.java | 8 +- .../table/location/ParquetColumnLocation.java | 4 +- ...ToDateTimePage.java => ToInstantPage.java} | 46 +- ...Int96.java => ToInstantPageFromInt96.java} | 34 +- .../table/ParquetTableReadWriteTest.java | 6 +- .../parquet/table/TestParquetTools.java | 2 +- .../AppendOnlyFixedSizePageRegionTest.java | 6 +- .../deephaven/client/impl/FieldAdapter.java | 3 +- .../lang/completion/ChunkerCompleter.java | 4 +- .../lang/completion/CompletionRequest.java | 2 +- ...lumnExpressionCompletionHandlerTest.groovy | 33 +- .../figure/FigureWidgetTranslator.java | 17 +- .../main/resources/calendar/BEIJING.calendar | 2 +- .../src/main/resources/calendar/DTB.calendar | 2 +- .../src/main/resources/calendar/GBLO.calendar | 2 +- .../main/resources/calendar/GLOBAL.calendar | 2 +- .../main/resources/calendar/JPOSE.calendar | 2 +- .../src/main/resources/calendar/LSE.calendar | 2 +- .../main/resources/calendar/MOSCOW.calendar | 2 +- .../main/resources/calendar/MUMBAI.calendar | 2 +- .../src/main/resources/calendar/USNY.calendar | 2 +- .../main/resources/calendar/USNYSE.calendar | 2 +- .../calendar/USNYSEWEEKDAYS.calendar | 2 +- .../src/main/resources/calendar/UTC.calendar | 2 +- .../resources/default_time_zone_aliases.csv | 7 + .../src/main/resources/dh-defaults.prop | 6 +- .../src/main/resources/dh-tests.prop | 6 +- .../main/resources/test_time_zone_aliases.csv | 24 + py/client/pydeephaven/_arrow.py | 4 +- py/client/tests/test_updateby.py | 2 +- py/client2/demo_process_ticking.py | 2 +- py/client2/demo_process_ticking_generator.py | 2 +- py/server/deephaven/arrow.py | 4 +- py/server/deephaven/calendar.py | 20 +- py/server/deephaven/column.py | 2 +- py/server/deephaven/config/__init__.py | 15 +- py/server/deephaven/csv.py | 2 +- py/server/deephaven/dtypes.py | 30 +- py/server/deephaven/numpy.py | 4 +- py/server/deephaven/plot/axisformat.py | 2 +- py/server/deephaven/plot/figure.py | 98 +- py/server/deephaven/replay.py | 12 +- py/server/deephaven/table_factory.py | 2 +- py/server/deephaven/time.py | 1896 +++++-- py/server/deephaven/updateby.py | 164 +- py/server/tests/test_arrow.py | 7 +- py/server/tests/test_calendar.py | 18 +- py/server/tests/test_column.py | 3 +- py/server/tests/test_config.py | 4 +- py/server/tests/test_dtypes.py | 72 +- py/server/tests/test_experiments.py | 6 +- py/server/tests/test_kafka_consumer.py | 10 +- py/server/tests/test_liveness.py | 2 +- py/server/tests/test_numpy.py | 3 +- py/server/tests/test_pandas.py | 22 +- py/server/tests/test_parquet.py | 5 +- py/server/tests/test_partitioned_table.py | 14 +- py/server/tests/test_plot/test_plot.py | 4 +- py/server/tests/test_pt_proxy.py | 6 +- py/server/tests/test_replay.py | 24 +- py/server/tests/test_table.py | 22 +- py/server/tests/test_table_factory.py | 25 +- py/server/tests/test_table_listener.py | 4 +- py/server/tests/test_time.py | 1043 +++- py/server/tests/test_ugp.py | 44 +- py/server/tests/test_updateby.py | 66 +- .../util/TestWorkerPythonEnvironment.java | 2 +- .../GenerateArrowColumnSourceTests.java | 4 +- .../GenerateArrowColumnSources.java | 10 +- .../replicators/ReplicateOperators.java | 9 +- .../ReplicateRegionsAndRegionedSources.java | 16 +- .../ReplicateSegmentedSortedMultiset.java | 78 +- .../ReplicateSourcesAndChunks.java | 63 +- .../replicators/ReplicateUpdateBy.java | 14 +- .../replicators/TupleSourceCodeGenerator.java | 24 +- .../barrage/BarrageMessageProducer.java | 6 +- .../HierarchicalTableViewSubscription.java | 6 +- .../table/ops/TableServiceGrpcImpl.java | 9 +- .../server/table/ops/TimeTableGrpcImpl.java | 2 +- .../table/ops/filter/FilterFactory.java | 6 +- .../table/ops/filter/FilterPrinter.java | 2 +- .../validation/ColumnExpressionValidator.java | 11 +- .../test/app.d/01-groovy-query-scope.groovy | 2 +- server/src/test/app.d/01-groovy.groovy | 2 +- server/src/test/app.d/02-python-pretty.py | 4 +- .../src/test/app.d/02-python-query-scope.py | 2 +- server/src/test/app.d/02-python.py | 4 +- .../server/appmode/ApplicationConfigs.java | 4 +- .../barrage/BarrageMessageRoundTripTest.java | 18 +- .../server/session/SessionStateTest.java | 4 +- .../table/ExportTableUpdateListenerTest.java | 2 +- .../server/table/ops/SnapshotGrpcTest.java | 4 +- .../table/ops/SnapshotWhenGrpcTestBase.java | 36 +- .../server/table/ops/WhereInGrpcTest.java | 6 +- .../server/util/TestControlledScheduler.java | 39 +- .../test/FlightMessageRoundTripTest.java | 2 +- .../client/api/barrage/WebBarrageUtils.java | 1 - .../web/client/api/parse/JsDataHandler.java | 2 +- .../subscription/SubscriptionTableData.java | 1 - .../client/api/subscription/ViewportData.java | 3 +- .../web/client/api/widget/plot/JsFigure.java | 2 +- .../io/deephaven/web/client/fu/JsData.java | 1 - .../io/deephaven/web/public/table_filter.html | 4 +- .../io/deephaven/web/public/table_sort.html | 4 +- .../deephaven/web/public/table_viewport.html | 4 +- 1200 files changed, 25960 insertions(+), 21805 deletions(-) rename BenchmarkSupport/src/main/java/io/deephaven/benchmarking/generator/{DateColumnGenerator.java => InstantColumnGenerator.java} (61%) rename Plot/src/main/java/io/deephaven/plot/datasets/data/{IndexableDataDateTime.java => IndexableDataInstant.java} (65%) rename Plot/src/main/java/io/deephaven/plot/datasets/data/{IndexableNumericDataArrayDateTime.java => IndexableNumericDataArrayInstant.java} (71%) rename engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/{SingleTableKeyedDateTimeOperations.java => SingleTableKeyedInstantOperations.java} (87%) delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/UnboxedDateTimeWritableSource.java rename engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/{DateTimeSsmSourceWrapper.java => InstantSsmSourceWrapper.java} (62%) rename engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/{DateTimeSetResult.java => InstantSetResult.java} (78%) rename engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/{DateTimePercentileTypeHelper.java => InstantPercentileTypeHelper.java} (92%) delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/replay/DateTimeClock.java rename engine/table/src/main/java/io/deephaven/engine/table/impl/select/{DateTimeRangeFilter.java => InstantRangeFilter.java} (52%) rename engine/table/src/main/java/io/deephaven/engine/table/impl/sources/{ConvertableTimeSource.java => ConvertibleTimeSource.java} (84%) delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeArraySource.java delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeAsLongColumnSource.java delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeSparseArraySource.java delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsDateTimeColumnSource.java delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/sources/WritableLongAsDateTimeColumnSource.java delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DDateTimeArraySource.java delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantDateTimeSource.java delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableDateTimeArraySource.java delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableLongAsDateTimeColumnSource.java delete mode 100644 engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceDateTime.java rename engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/{TestRegionedColumnSourceDateTime.java => TestRegionedColumnSourceInstant.java} (59%) delete mode 100644 engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedDateTimeGenerator.java create mode 100644 engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedInstantGenerator.java delete mode 100644 engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedDateTimeGenerator.java delete mode 100644 engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedDateTimeLongGenerator.java create mode 100644 engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedInstantGenerator.java create mode 100644 engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedInstantLongGenerator.java delete mode 100644 engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/DateTimeTestSource.java delete mode 100644 engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableDateTimeTestSource.java delete mode 100644 engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/UnboxedDateTimeTestSource.java delete mode 100644 engine/time/src/main/java/io/deephaven/time/DateTime.java delete mode 100644 engine/time/src/main/java/io/deephaven/time/Period.java create mode 100644 engine/time/src/main/java/io/deephaven/time/TimeLiteralReplacedExpression.java delete mode 100644 engine/time/src/main/java/io/deephaven/time/TimeZone.java create mode 100644 engine/time/src/main/java/io/deephaven/time/TimeZoneAliases.java delete mode 100644 engine/time/src/test/java/io/deephaven/time/TestDateTime.java create mode 100644 engine/time/src/test/java/io/deephaven/time/TestDateTimeFormatters.java delete mode 100644 engine/time/src/test/java/io/deephaven/time/TestPeriod.java create mode 100644 engine/time/src/test/java/io/deephaven/time/TestTimeLiteralReplacedExpression.java create mode 100644 engine/time/src/test/java/io/deephaven/time/TestTimeZoneAliases.java rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanBooleanDateTimeColumnTupleSource.java => BooleanBooleanInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanBooleanReinterpretedDateTimeColumnTupleSource.java => BooleanBooleanReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanByteDateTimeColumnTupleSource.java => BooleanByteInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanByteReinterpretedDateTimeColumnTupleSource.java => BooleanByteReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanCharacterDateTimeColumnTupleSource.java => BooleanCharacterInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanCharacterReinterpretedDateTimeColumnTupleSource.java => BooleanCharacterReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDoubleDateTimeColumnTupleSource.java => BooleanDoubleInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDoubleReinterpretedDateTimeColumnTupleSource.java => BooleanDoubleReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanFloatDateTimeColumnTupleSource.java => BooleanFloatInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanFloatReinterpretedDateTimeColumnTupleSource.java => BooleanFloatReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeBooleanColumnTupleSource.java => BooleanInstantBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeByteColumnTupleSource.java => BooleanInstantByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeCharacterColumnTupleSource.java => BooleanInstantCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeColumnTupleSource.java => BooleanInstantColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeDoubleColumnTupleSource.java => BooleanInstantDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeFloatColumnTupleSource.java => BooleanInstantFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeDateTimeColumnTupleSource.java => BooleanInstantInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeIntegerColumnTupleSource.java => BooleanInstantIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeLongColumnTupleSource.java => BooleanInstantLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeObjectColumnTupleSource.java => BooleanInstantObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeReinterpretedBooleanColumnTupleSource.java => BooleanInstantReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeReinterpretedDateTimeColumnTupleSource.java => BooleanInstantReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanDateTimeShortColumnTupleSource.java => BooleanInstantShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanIntegerDateTimeColumnTupleSource.java => BooleanIntegerInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanIntegerReinterpretedDateTimeColumnTupleSource.java => BooleanIntegerReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanLongDateTimeColumnTupleSource.java => BooleanLongInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanLongReinterpretedDateTimeColumnTupleSource.java => BooleanLongReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanObjectDateTimeColumnTupleSource.java => BooleanObjectInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanObjectReinterpretedDateTimeColumnTupleSource.java => BooleanObjectReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedBooleanDateTimeColumnTupleSource.java => BooleanReinterpretedBooleanInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => BooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeBooleanColumnTupleSource.java => BooleanReinterpretedInstantBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeByteColumnTupleSource.java => BooleanReinterpretedInstantByteColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeCharacterColumnTupleSource.java => BooleanReinterpretedInstantCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeColumnTupleSource.java => BooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeDoubleColumnTupleSource.java => BooleanReinterpretedInstantDoubleColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeFloatColumnTupleSource.java => BooleanReinterpretedInstantFloatColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeDateTimeColumnTupleSource.java => BooleanReinterpretedInstantInstantColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeIntegerColumnTupleSource.java => BooleanReinterpretedInstantIntegerColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeLongColumnTupleSource.java => BooleanReinterpretedInstantLongColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeObjectColumnTupleSource.java => BooleanReinterpretedInstantObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => BooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => BooleanReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanReinterpretedDateTimeShortColumnTupleSource.java => BooleanReinterpretedInstantShortColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanShortDateTimeColumnTupleSource.java => BooleanShortInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{BooleanShortReinterpretedDateTimeColumnTupleSource.java => BooleanShortReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteBooleanDateTimeColumnTupleSource.java => ByteBooleanInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteBooleanReinterpretedDateTimeColumnTupleSource.java => ByteBooleanReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteByteDateTimeColumnTupleSource.java => ByteByteInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteByteReinterpretedDateTimeColumnTupleSource.java => ByteByteReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteCharacterDateTimeColumnTupleSource.java => ByteCharacterInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteCharacterReinterpretedDateTimeColumnTupleSource.java => ByteCharacterReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDoubleDateTimeColumnTupleSource.java => ByteDoubleInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDoubleReinterpretedDateTimeColumnTupleSource.java => ByteDoubleReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteFloatDateTimeColumnTupleSource.java => ByteFloatInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteFloatReinterpretedDateTimeColumnTupleSource.java => ByteFloatReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeBooleanColumnTupleSource.java => ByteInstantBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeByteColumnTupleSource.java => ByteInstantByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeCharacterColumnTupleSource.java => ByteInstantCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeColumnTupleSource.java => ByteInstantColumnTupleSource.java} (78%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeDoubleColumnTupleSource.java => ByteInstantDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeFloatColumnTupleSource.java => ByteInstantFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeDateTimeColumnTupleSource.java => ByteInstantInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeIntegerColumnTupleSource.java => ByteInstantIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeLongColumnTupleSource.java => ByteInstantLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeObjectColumnTupleSource.java => ByteInstantObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeReinterpretedBooleanColumnTupleSource.java => ByteInstantReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeReinterpretedDateTimeColumnTupleSource.java => ByteInstantReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteDateTimeShortColumnTupleSource.java => ByteInstantShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteIntegerDateTimeColumnTupleSource.java => ByteIntegerInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteIntegerReinterpretedDateTimeColumnTupleSource.java => ByteIntegerReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteLongDateTimeColumnTupleSource.java => ByteLongInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteLongReinterpretedDateTimeColumnTupleSource.java => ByteLongReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteObjectDateTimeColumnTupleSource.java => ByteObjectInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteObjectReinterpretedDateTimeColumnTupleSource.java => ByteObjectReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedBooleanDateTimeColumnTupleSource.java => ByteReinterpretedBooleanInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => ByteReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeBooleanColumnTupleSource.java => ByteReinterpretedInstantBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeByteColumnTupleSource.java => ByteReinterpretedInstantByteColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeCharacterColumnTupleSource.java => ByteReinterpretedInstantCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeColumnTupleSource.java => ByteReinterpretedInstantColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeDoubleColumnTupleSource.java => ByteReinterpretedInstantDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeFloatColumnTupleSource.java => ByteReinterpretedInstantFloatColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeDateTimeColumnTupleSource.java => ByteReinterpretedInstantInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeIntegerColumnTupleSource.java => ByteReinterpretedInstantIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeLongColumnTupleSource.java => ByteReinterpretedInstantLongColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeObjectColumnTupleSource.java => ByteReinterpretedInstantObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => ByteReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => ByteReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteReinterpretedDateTimeShortColumnTupleSource.java => ByteReinterpretedInstantShortColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteShortDateTimeColumnTupleSource.java => ByteShortInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ByteShortReinterpretedDateTimeColumnTupleSource.java => ByteShortReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterBooleanDateTimeColumnTupleSource.java => CharacterBooleanInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterBooleanReinterpretedDateTimeColumnTupleSource.java => CharacterBooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterByteDateTimeColumnTupleSource.java => CharacterByteInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterByteReinterpretedDateTimeColumnTupleSource.java => CharacterByteReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterCharacterDateTimeColumnTupleSource.java => CharacterCharacterInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterCharacterReinterpretedDateTimeColumnTupleSource.java => CharacterCharacterReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDoubleDateTimeColumnTupleSource.java => CharacterDoubleInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDoubleReinterpretedDateTimeColumnTupleSource.java => CharacterDoubleReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterFloatDateTimeColumnTupleSource.java => CharacterFloatInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterFloatReinterpretedDateTimeColumnTupleSource.java => CharacterFloatReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeBooleanColumnTupleSource.java => CharacterInstantBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeByteColumnTupleSource.java => CharacterInstantByteColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeCharacterColumnTupleSource.java => CharacterInstantCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeColumnTupleSource.java => CharacterInstantColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeDoubleColumnTupleSource.java => CharacterInstantDoubleColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeFloatColumnTupleSource.java => CharacterInstantFloatColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeDateTimeColumnTupleSource.java => CharacterInstantInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeIntegerColumnTupleSource.java => CharacterInstantIntegerColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeLongColumnTupleSource.java => CharacterInstantLongColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeObjectColumnTupleSource.java => CharacterInstantObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeReinterpretedBooleanColumnTupleSource.java => CharacterInstantReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeReinterpretedDateTimeColumnTupleSource.java => CharacterInstantReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterDateTimeShortColumnTupleSource.java => CharacterInstantShortColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterIntegerDateTimeColumnTupleSource.java => CharacterIntegerInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterIntegerReinterpretedDateTimeColumnTupleSource.java => CharacterIntegerReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterLongDateTimeColumnTupleSource.java => CharacterLongInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterLongReinterpretedDateTimeColumnTupleSource.java => CharacterLongReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterObjectDateTimeColumnTupleSource.java => CharacterObjectInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterObjectReinterpretedDateTimeColumnTupleSource.java => CharacterObjectReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedBooleanDateTimeColumnTupleSource.java => CharacterReinterpretedBooleanInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => CharacterReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeBooleanColumnTupleSource.java => CharacterReinterpretedInstantBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeByteColumnTupleSource.java => CharacterReinterpretedInstantByteColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeCharacterColumnTupleSource.java => CharacterReinterpretedInstantCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeColumnTupleSource.java => CharacterReinterpretedInstantColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeDoubleColumnTupleSource.java => CharacterReinterpretedInstantDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeFloatColumnTupleSource.java => CharacterReinterpretedInstantFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeDateTimeColumnTupleSource.java => CharacterReinterpretedInstantInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeIntegerColumnTupleSource.java => CharacterReinterpretedInstantIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeLongColumnTupleSource.java => CharacterReinterpretedInstantLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeObjectColumnTupleSource.java => CharacterReinterpretedInstantObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => CharacterReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => CharacterReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterReinterpretedDateTimeShortColumnTupleSource.java => CharacterReinterpretedInstantShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterShortDateTimeColumnTupleSource.java => CharacterShortInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{CharacterShortReinterpretedDateTimeColumnTupleSource.java => CharacterShortReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleBooleanDateTimeColumnTupleSource.java => DoubleBooleanInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleBooleanReinterpretedDateTimeColumnTupleSource.java => DoubleBooleanReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleByteDateTimeColumnTupleSource.java => DoubleByteInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleByteReinterpretedDateTimeColumnTupleSource.java => DoubleByteReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleCharacterDateTimeColumnTupleSource.java => DoubleCharacterInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleCharacterReinterpretedDateTimeColumnTupleSource.java => DoubleCharacterReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDoubleDateTimeColumnTupleSource.java => DoubleDoubleInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDoubleReinterpretedDateTimeColumnTupleSource.java => DoubleDoubleReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleFloatDateTimeColumnTupleSource.java => DoubleFloatInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleFloatReinterpretedDateTimeColumnTupleSource.java => DoubleFloatReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeBooleanColumnTupleSource.java => DoubleInstantBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeByteColumnTupleSource.java => DoubleInstantByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeCharacterColumnTupleSource.java => DoubleInstantCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeColumnTupleSource.java => DoubleInstantColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeDoubleColumnTupleSource.java => DoubleInstantDoubleColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeFloatColumnTupleSource.java => DoubleInstantFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeDateTimeColumnTupleSource.java => DoubleInstantInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeIntegerColumnTupleSource.java => DoubleInstantIntegerColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeLongColumnTupleSource.java => DoubleInstantLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeObjectColumnTupleSource.java => DoubleInstantObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeReinterpretedBooleanColumnTupleSource.java => DoubleInstantReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeReinterpretedDateTimeColumnTupleSource.java => DoubleInstantReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleDateTimeShortColumnTupleSource.java => DoubleInstantShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleIntegerDateTimeColumnTupleSource.java => DoubleIntegerInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleIntegerReinterpretedDateTimeColumnTupleSource.java => DoubleIntegerReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleLongDateTimeColumnTupleSource.java => DoubleLongInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleLongReinterpretedDateTimeColumnTupleSource.java => DoubleLongReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleObjectDateTimeColumnTupleSource.java => DoubleObjectInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleObjectReinterpretedDateTimeColumnTupleSource.java => DoubleObjectReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedBooleanDateTimeColumnTupleSource.java => DoubleReinterpretedBooleanInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => DoubleReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeBooleanColumnTupleSource.java => DoubleReinterpretedInstantBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeByteColumnTupleSource.java => DoubleReinterpretedInstantByteColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeCharacterColumnTupleSource.java => DoubleReinterpretedInstantCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeColumnTupleSource.java => DoubleReinterpretedInstantColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeDoubleColumnTupleSource.java => DoubleReinterpretedInstantDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeFloatColumnTupleSource.java => DoubleReinterpretedInstantFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeDateTimeColumnTupleSource.java => DoubleReinterpretedInstantInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeIntegerColumnTupleSource.java => DoubleReinterpretedInstantIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeLongColumnTupleSource.java => DoubleReinterpretedInstantLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeObjectColumnTupleSource.java => DoubleReinterpretedInstantObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => DoubleReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => DoubleReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleReinterpretedDateTimeShortColumnTupleSource.java => DoubleReinterpretedInstantShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleShortDateTimeColumnTupleSource.java => DoubleShortInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DoubleShortReinterpretedDateTimeColumnTupleSource.java => DoubleShortReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatBooleanDateTimeColumnTupleSource.java => FloatBooleanInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatBooleanReinterpretedDateTimeColumnTupleSource.java => FloatBooleanReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatByteDateTimeColumnTupleSource.java => FloatByteInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatByteReinterpretedDateTimeColumnTupleSource.java => FloatByteReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatCharacterDateTimeColumnTupleSource.java => FloatCharacterInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatCharacterReinterpretedDateTimeColumnTupleSource.java => FloatCharacterReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDoubleDateTimeColumnTupleSource.java => FloatDoubleInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDoubleReinterpretedDateTimeColumnTupleSource.java => FloatDoubleReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatFloatDateTimeColumnTupleSource.java => FloatFloatInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatFloatReinterpretedDateTimeColumnTupleSource.java => FloatFloatReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeBooleanColumnTupleSource.java => FloatInstantBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeByteColumnTupleSource.java => FloatInstantByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeCharacterColumnTupleSource.java => FloatInstantCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeColumnTupleSource.java => FloatInstantColumnTupleSource.java} (78%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeDoubleColumnTupleSource.java => FloatInstantDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeFloatColumnTupleSource.java => FloatInstantFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeDateTimeColumnTupleSource.java => FloatInstantInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeIntegerColumnTupleSource.java => FloatInstantIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeLongColumnTupleSource.java => FloatInstantLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeObjectColumnTupleSource.java => FloatInstantObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeReinterpretedBooleanColumnTupleSource.java => FloatInstantReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeReinterpretedDateTimeColumnTupleSource.java => FloatInstantReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatDateTimeShortColumnTupleSource.java => FloatInstantShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatIntegerDateTimeColumnTupleSource.java => FloatIntegerInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatIntegerReinterpretedDateTimeColumnTupleSource.java => FloatIntegerReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatLongDateTimeColumnTupleSource.java => FloatLongInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatLongReinterpretedDateTimeColumnTupleSource.java => FloatLongReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatObjectDateTimeColumnTupleSource.java => FloatObjectInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatObjectReinterpretedDateTimeColumnTupleSource.java => FloatObjectReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedBooleanDateTimeColumnTupleSource.java => FloatReinterpretedBooleanInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => FloatReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeBooleanColumnTupleSource.java => FloatReinterpretedInstantBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeByteColumnTupleSource.java => FloatReinterpretedInstantByteColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeCharacterColumnTupleSource.java => FloatReinterpretedInstantCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeColumnTupleSource.java => FloatReinterpretedInstantColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeDoubleColumnTupleSource.java => FloatReinterpretedInstantDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeFloatColumnTupleSource.java => FloatReinterpretedInstantFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeDateTimeColumnTupleSource.java => FloatReinterpretedInstantInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeIntegerColumnTupleSource.java => FloatReinterpretedInstantIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeLongColumnTupleSource.java => FloatReinterpretedInstantLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeObjectColumnTupleSource.java => FloatReinterpretedInstantObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => FloatReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => FloatReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatReinterpretedDateTimeShortColumnTupleSource.java => FloatReinterpretedInstantShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatShortDateTimeColumnTupleSource.java => FloatShortInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{FloatShortReinterpretedDateTimeColumnTupleSource.java => FloatShortReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanBooleanColumnTupleSource.java => InstantBooleanBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanByteColumnTupleSource.java => InstantBooleanByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanCharacterColumnTupleSource.java => InstantBooleanCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanColumnTupleSource.java => InstantBooleanColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanDoubleColumnTupleSource.java => InstantBooleanDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanFloatColumnTupleSource.java => InstantBooleanFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanDateTimeColumnTupleSource.java => InstantBooleanInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanIntegerColumnTupleSource.java => InstantBooleanIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanLongColumnTupleSource.java => InstantBooleanLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanObjectColumnTupleSource.java => InstantBooleanObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanReinterpretedBooleanColumnTupleSource.java => InstantBooleanReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanReinterpretedDateTimeColumnTupleSource.java => InstantBooleanReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeBooleanShortColumnTupleSource.java => InstantBooleanShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteBooleanColumnTupleSource.java => InstantByteBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteByteColumnTupleSource.java => InstantByteByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteCharacterColumnTupleSource.java => InstantByteCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteColumnTupleSource.java => InstantByteColumnTupleSource.java} (78%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteDoubleColumnTupleSource.java => InstantByteDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteFloatColumnTupleSource.java => InstantByteFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteDateTimeColumnTupleSource.java => InstantByteInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteIntegerColumnTupleSource.java => InstantByteIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteLongColumnTupleSource.java => InstantByteLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteObjectColumnTupleSource.java => InstantByteObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteReinterpretedBooleanColumnTupleSource.java => InstantByteReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteReinterpretedDateTimeColumnTupleSource.java => InstantByteReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeByteShortColumnTupleSource.java => InstantByteShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterBooleanColumnTupleSource.java => InstantCharacterBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterByteColumnTupleSource.java => InstantCharacterByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterCharacterColumnTupleSource.java => InstantCharacterCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterColumnTupleSource.java => InstantCharacterColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterDoubleColumnTupleSource.java => InstantCharacterDoubleColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterFloatColumnTupleSource.java => InstantCharacterFloatColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterDateTimeColumnTupleSource.java => InstantCharacterInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterIntegerColumnTupleSource.java => InstantCharacterIntegerColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterLongColumnTupleSource.java => InstantCharacterLongColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterObjectColumnTupleSource.java => InstantCharacterObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterReinterpretedBooleanColumnTupleSource.java => InstantCharacterReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterReinterpretedDateTimeColumnTupleSource.java => InstantCharacterReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeCharacterShortColumnTupleSource.java => InstantCharacterShortColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleBooleanColumnTupleSource.java => InstantDoubleBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleByteColumnTupleSource.java => InstantDoubleByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleCharacterColumnTupleSource.java => InstantDoubleCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleColumnTupleSource.java => InstantDoubleColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleDoubleColumnTupleSource.java => InstantDoubleDoubleColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleFloatColumnTupleSource.java => InstantDoubleFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleDateTimeColumnTupleSource.java => InstantDoubleInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleIntegerColumnTupleSource.java => InstantDoubleIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleLongColumnTupleSource.java => InstantDoubleLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleObjectColumnTupleSource.java => InstantDoubleObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleReinterpretedBooleanColumnTupleSource.java => InstantDoubleReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleReinterpretedDateTimeColumnTupleSource.java => InstantDoubleReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDoubleShortColumnTupleSource.java => InstantDoubleShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatBooleanColumnTupleSource.java => InstantFloatBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatByteColumnTupleSource.java => InstantFloatByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatCharacterColumnTupleSource.java => InstantFloatCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatColumnTupleSource.java => InstantFloatColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatDoubleColumnTupleSource.java => InstantFloatDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatFloatColumnTupleSource.java => InstantFloatFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatDateTimeColumnTupleSource.java => InstantFloatInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatIntegerColumnTupleSource.java => InstantFloatIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatLongColumnTupleSource.java => InstantFloatLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatObjectColumnTupleSource.java => InstantFloatObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatReinterpretedBooleanColumnTupleSource.java => InstantFloatReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatReinterpretedDateTimeColumnTupleSource.java => InstantFloatReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeFloatShortColumnTupleSource.java => InstantFloatShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeBooleanColumnTupleSource.java => InstantInstantBooleanColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeByteColumnTupleSource.java => InstantInstantByteColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeCharacterColumnTupleSource.java => InstantInstantCharacterColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeColumnTupleSource.java => InstantInstantColumnTupleSource.java} (64%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeDoubleColumnTupleSource.java => InstantInstantDoubleColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeFloatColumnTupleSource.java => InstantInstantFloatColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeDateTimeColumnTupleSource.java => InstantInstantInstantColumnTupleSource.java} (58%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeIntegerColumnTupleSource.java => InstantInstantIntegerColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeLongColumnTupleSource.java => InstantInstantLongColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeObjectColumnTupleSource.java => InstantInstantObjectColumnTupleSource.java} (68%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeReinterpretedBooleanColumnTupleSource.java => InstantInstantReinterpretedBooleanColumnTupleSource.java} (68%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeReinterpretedDateTimeColumnTupleSource.java => InstantInstantReinterpretedInstantColumnTupleSource.java} (66%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeDateTimeShortColumnTupleSource.java => InstantInstantShortColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerBooleanColumnTupleSource.java => InstantIntegerBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerByteColumnTupleSource.java => InstantIntegerByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerCharacterColumnTupleSource.java => InstantIntegerCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerColumnTupleSource.java => InstantIntegerColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerDoubleColumnTupleSource.java => InstantIntegerDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerFloatColumnTupleSource.java => InstantIntegerFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerDateTimeColumnTupleSource.java => InstantIntegerInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerIntegerColumnTupleSource.java => InstantIntegerIntegerColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerLongColumnTupleSource.java => InstantIntegerLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerObjectColumnTupleSource.java => InstantIntegerObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerReinterpretedBooleanColumnTupleSource.java => InstantIntegerReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerReinterpretedDateTimeColumnTupleSource.java => InstantIntegerReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeIntegerShortColumnTupleSource.java => InstantIntegerShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongBooleanColumnTupleSource.java => InstantLongBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongByteColumnTupleSource.java => InstantLongByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongCharacterColumnTupleSource.java => InstantLongCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongColumnTupleSource.java => InstantLongColumnTupleSource.java} (78%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongDoubleColumnTupleSource.java => InstantLongDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongFloatColumnTupleSource.java => InstantLongFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongDateTimeColumnTupleSource.java => InstantLongInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongIntegerColumnTupleSource.java => InstantLongIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongLongColumnTupleSource.java => InstantLongLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongObjectColumnTupleSource.java => InstantLongObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongReinterpretedBooleanColumnTupleSource.java => InstantLongReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongReinterpretedDateTimeColumnTupleSource.java => InstantLongReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeLongShortColumnTupleSource.java => InstantLongShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectBooleanColumnTupleSource.java => InstantObjectBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectByteColumnTupleSource.java => InstantObjectByteColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectCharacterColumnTupleSource.java => InstantObjectCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectColumnTupleSource.java => InstantObjectColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectDoubleColumnTupleSource.java => InstantObjectDoubleColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectFloatColumnTupleSource.java => InstantObjectFloatColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectDateTimeColumnTupleSource.java => InstantObjectInstantColumnTupleSource.java} (68%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectIntegerColumnTupleSource.java => InstantObjectIntegerColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectLongColumnTupleSource.java => InstantObjectLongColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectObjectColumnTupleSource.java => InstantObjectObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectReinterpretedBooleanColumnTupleSource.java => InstantObjectReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectReinterpretedDateTimeColumnTupleSource.java => InstantObjectReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeObjectShortColumnTupleSource.java => InstantObjectShortColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanBooleanColumnTupleSource.java => InstantReinterpretedBooleanBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanByteColumnTupleSource.java => InstantReinterpretedBooleanByteColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanCharacterColumnTupleSource.java => InstantReinterpretedBooleanCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanColumnTupleSource.java => InstantReinterpretedBooleanColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanDoubleColumnTupleSource.java => InstantReinterpretedBooleanDoubleColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanFloatColumnTupleSource.java => InstantReinterpretedBooleanFloatColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanDateTimeColumnTupleSource.java => InstantReinterpretedBooleanInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanIntegerColumnTupleSource.java => InstantReinterpretedBooleanIntegerColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanLongColumnTupleSource.java => InstantReinterpretedBooleanLongColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanObjectColumnTupleSource.java => InstantReinterpretedBooleanObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java => InstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java} (78%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => InstantReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedBooleanShortColumnTupleSource.java => InstantReinterpretedBooleanShortColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeBooleanColumnTupleSource.java => InstantReinterpretedInstantBooleanColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeByteColumnTupleSource.java => InstantReinterpretedInstantByteColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeCharacterColumnTupleSource.java => InstantReinterpretedInstantCharacterColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeColumnTupleSource.java => InstantReinterpretedInstantColumnTupleSource.java} (73%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeDoubleColumnTupleSource.java => InstantReinterpretedInstantDoubleColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeFloatColumnTupleSource.java => InstantReinterpretedInstantFloatColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeDateTimeColumnTupleSource.java => InstantReinterpretedInstantInstantColumnTupleSource.java} (66%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeIntegerColumnTupleSource.java => InstantReinterpretedInstantIntegerColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeLongColumnTupleSource.java => InstantReinterpretedInstantLongColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeObjectColumnTupleSource.java => InstantReinterpretedInstantObjectColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => InstantReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => InstantReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (73%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeReinterpretedDateTimeShortColumnTupleSource.java => InstantReinterpretedInstantShortColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortBooleanColumnTupleSource.java => InstantShortBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortByteColumnTupleSource.java => InstantShortByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortCharacterColumnTupleSource.java => InstantShortCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortColumnTupleSource.java => InstantShortColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortDoubleColumnTupleSource.java => InstantShortDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortFloatColumnTupleSource.java => InstantShortFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortDateTimeColumnTupleSource.java => InstantShortInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortIntegerColumnTupleSource.java => InstantShortIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortLongColumnTupleSource.java => InstantShortLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortObjectColumnTupleSource.java => InstantShortObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortReinterpretedBooleanColumnTupleSource.java => InstantShortReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortReinterpretedDateTimeColumnTupleSource.java => InstantShortReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{DateTimeShortShortColumnTupleSource.java => InstantShortShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerBooleanDateTimeColumnTupleSource.java => IntegerBooleanInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerBooleanReinterpretedDateTimeColumnTupleSource.java => IntegerBooleanReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerByteDateTimeColumnTupleSource.java => IntegerByteInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerByteReinterpretedDateTimeColumnTupleSource.java => IntegerByteReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerCharacterDateTimeColumnTupleSource.java => IntegerCharacterInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerCharacterReinterpretedDateTimeColumnTupleSource.java => IntegerCharacterReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDoubleDateTimeColumnTupleSource.java => IntegerDoubleInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDoubleReinterpretedDateTimeColumnTupleSource.java => IntegerDoubleReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerFloatDateTimeColumnTupleSource.java => IntegerFloatInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerFloatReinterpretedDateTimeColumnTupleSource.java => IntegerFloatReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeBooleanColumnTupleSource.java => IntegerInstantBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeByteColumnTupleSource.java => IntegerInstantByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeCharacterColumnTupleSource.java => IntegerInstantCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeColumnTupleSource.java => IntegerInstantColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeDoubleColumnTupleSource.java => IntegerInstantDoubleColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeFloatColumnTupleSource.java => IntegerInstantFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeDateTimeColumnTupleSource.java => IntegerInstantInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeIntegerColumnTupleSource.java => IntegerInstantIntegerColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeLongColumnTupleSource.java => IntegerInstantLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeObjectColumnTupleSource.java => IntegerInstantObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeReinterpretedBooleanColumnTupleSource.java => IntegerInstantReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeReinterpretedDateTimeColumnTupleSource.java => IntegerInstantReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerDateTimeShortColumnTupleSource.java => IntegerInstantShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerIntegerDateTimeColumnTupleSource.java => IntegerIntegerInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerIntegerReinterpretedDateTimeColumnTupleSource.java => IntegerIntegerReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerLongDateTimeColumnTupleSource.java => IntegerLongInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerLongReinterpretedDateTimeColumnTupleSource.java => IntegerLongReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerObjectDateTimeColumnTupleSource.java => IntegerObjectInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerObjectReinterpretedDateTimeColumnTupleSource.java => IntegerObjectReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedBooleanDateTimeColumnTupleSource.java => IntegerReinterpretedBooleanInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => IntegerReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeBooleanColumnTupleSource.java => IntegerReinterpretedInstantBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeByteColumnTupleSource.java => IntegerReinterpretedInstantByteColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeCharacterColumnTupleSource.java => IntegerReinterpretedInstantCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeColumnTupleSource.java => IntegerReinterpretedInstantColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeDoubleColumnTupleSource.java => IntegerReinterpretedInstantDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeFloatColumnTupleSource.java => IntegerReinterpretedInstantFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeDateTimeColumnTupleSource.java => IntegerReinterpretedInstantInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeIntegerColumnTupleSource.java => IntegerReinterpretedInstantIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeLongColumnTupleSource.java => IntegerReinterpretedInstantLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeObjectColumnTupleSource.java => IntegerReinterpretedInstantObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => IntegerReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => IntegerReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerReinterpretedDateTimeShortColumnTupleSource.java => IntegerReinterpretedInstantShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerShortDateTimeColumnTupleSource.java => IntegerShortInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{IntegerShortReinterpretedDateTimeColumnTupleSource.java => IntegerShortReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongBooleanDateTimeColumnTupleSource.java => LongBooleanInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongBooleanReinterpretedDateTimeColumnTupleSource.java => LongBooleanReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongByteDateTimeColumnTupleSource.java => LongByteInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongByteReinterpretedDateTimeColumnTupleSource.java => LongByteReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongCharacterDateTimeColumnTupleSource.java => LongCharacterInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongCharacterReinterpretedDateTimeColumnTupleSource.java => LongCharacterReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDoubleDateTimeColumnTupleSource.java => LongDoubleInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDoubleReinterpretedDateTimeColumnTupleSource.java => LongDoubleReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongFloatDateTimeColumnTupleSource.java => LongFloatInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongFloatReinterpretedDateTimeColumnTupleSource.java => LongFloatReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeBooleanColumnTupleSource.java => LongInstantBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeByteColumnTupleSource.java => LongInstantByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeCharacterColumnTupleSource.java => LongInstantCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeColumnTupleSource.java => LongInstantColumnTupleSource.java} (78%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeDoubleColumnTupleSource.java => LongInstantDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeFloatColumnTupleSource.java => LongInstantFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeDateTimeColumnTupleSource.java => LongInstantInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeIntegerColumnTupleSource.java => LongInstantIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeLongColumnTupleSource.java => LongInstantLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeObjectColumnTupleSource.java => LongInstantObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeReinterpretedBooleanColumnTupleSource.java => LongInstantReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeReinterpretedDateTimeColumnTupleSource.java => LongInstantReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongDateTimeShortColumnTupleSource.java => LongInstantShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongIntegerDateTimeColumnTupleSource.java => LongIntegerInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongIntegerReinterpretedDateTimeColumnTupleSource.java => LongIntegerReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongLongDateTimeColumnTupleSource.java => LongLongInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongLongReinterpretedDateTimeColumnTupleSource.java => LongLongReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongObjectDateTimeColumnTupleSource.java => LongObjectInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongObjectReinterpretedDateTimeColumnTupleSource.java => LongObjectReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedBooleanDateTimeColumnTupleSource.java => LongReinterpretedBooleanInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => LongReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeBooleanColumnTupleSource.java => LongReinterpretedInstantBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeByteColumnTupleSource.java => LongReinterpretedInstantByteColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeCharacterColumnTupleSource.java => LongReinterpretedInstantCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeColumnTupleSource.java => LongReinterpretedInstantColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeDoubleColumnTupleSource.java => LongReinterpretedInstantDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeFloatColumnTupleSource.java => LongReinterpretedInstantFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeDateTimeColumnTupleSource.java => LongReinterpretedInstantInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeIntegerColumnTupleSource.java => LongReinterpretedInstantIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeLongColumnTupleSource.java => LongReinterpretedInstantLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeObjectColumnTupleSource.java => LongReinterpretedInstantObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => LongReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => LongReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongReinterpretedDateTimeShortColumnTupleSource.java => LongReinterpretedInstantShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongShortDateTimeColumnTupleSource.java => LongShortInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{LongShortReinterpretedDateTimeColumnTupleSource.java => LongShortReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectBooleanDateTimeColumnTupleSource.java => ObjectBooleanInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectBooleanReinterpretedDateTimeColumnTupleSource.java => ObjectBooleanReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectByteDateTimeColumnTupleSource.java => ObjectByteInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectByteReinterpretedDateTimeColumnTupleSource.java => ObjectByteReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectCharacterDateTimeColumnTupleSource.java => ObjectCharacterInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectCharacterReinterpretedDateTimeColumnTupleSource.java => ObjectCharacterReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDoubleDateTimeColumnTupleSource.java => ObjectDoubleInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDoubleReinterpretedDateTimeColumnTupleSource.java => ObjectDoubleReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectFloatDateTimeColumnTupleSource.java => ObjectFloatInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectFloatReinterpretedDateTimeColumnTupleSource.java => ObjectFloatReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeBooleanColumnTupleSource.java => ObjectInstantBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeByteColumnTupleSource.java => ObjectInstantByteColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeCharacterColumnTupleSource.java => ObjectInstantCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeColumnTupleSource.java => ObjectInstantColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeDoubleColumnTupleSource.java => ObjectInstantDoubleColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeFloatColumnTupleSource.java => ObjectInstantFloatColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeDateTimeColumnTupleSource.java => ObjectInstantInstantColumnTupleSource.java} (68%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeIntegerColumnTupleSource.java => ObjectInstantIntegerColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeLongColumnTupleSource.java => ObjectInstantLongColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeObjectColumnTupleSource.java => ObjectInstantObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeReinterpretedBooleanColumnTupleSource.java => ObjectInstantReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeReinterpretedDateTimeColumnTupleSource.java => ObjectInstantReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectDateTimeShortColumnTupleSource.java => ObjectInstantShortColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectIntegerDateTimeColumnTupleSource.java => ObjectIntegerInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectIntegerReinterpretedDateTimeColumnTupleSource.java => ObjectIntegerReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectLongDateTimeColumnTupleSource.java => ObjectLongInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectLongReinterpretedDateTimeColumnTupleSource.java => ObjectLongReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectObjectDateTimeColumnTupleSource.java => ObjectObjectInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectObjectReinterpretedDateTimeColumnTupleSource.java => ObjectObjectReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedBooleanDateTimeColumnTupleSource.java => ObjectReinterpretedBooleanInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => ObjectReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeBooleanColumnTupleSource.java => ObjectReinterpretedInstantBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeByteColumnTupleSource.java => ObjectReinterpretedInstantByteColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeCharacterColumnTupleSource.java => ObjectReinterpretedInstantCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeColumnTupleSource.java => ObjectReinterpretedInstantColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeDoubleColumnTupleSource.java => ObjectReinterpretedInstantDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeFloatColumnTupleSource.java => ObjectReinterpretedInstantFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeDateTimeColumnTupleSource.java => ObjectReinterpretedInstantInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeIntegerColumnTupleSource.java => ObjectReinterpretedInstantIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeLongColumnTupleSource.java => ObjectReinterpretedInstantLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeObjectColumnTupleSource.java => ObjectReinterpretedInstantObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => ObjectReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => ObjectReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectReinterpretedDateTimeShortColumnTupleSource.java => ObjectReinterpretedInstantShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectShortDateTimeColumnTupleSource.java => ObjectShortInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ObjectShortReinterpretedDateTimeColumnTupleSource.java => ObjectShortReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanBooleanDateTimeColumnTupleSource.java => ReinterpretedBooleanBooleanInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanBooleanReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanBooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanByteDateTimeColumnTupleSource.java => ReinterpretedBooleanByteInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanByteReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanByteReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanCharacterDateTimeColumnTupleSource.java => ReinterpretedBooleanCharacterInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanCharacterReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanCharacterReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDoubleDateTimeColumnTupleSource.java => ReinterpretedBooleanDoubleInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDoubleReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanDoubleReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanFloatDateTimeColumnTupleSource.java => ReinterpretedBooleanFloatInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanFloatReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanFloatReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeBooleanColumnTupleSource.java => ReinterpretedBooleanInstantBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeByteColumnTupleSource.java => ReinterpretedBooleanInstantByteColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeCharacterColumnTupleSource.java => ReinterpretedBooleanInstantCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeColumnTupleSource.java => ReinterpretedBooleanInstantColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeDoubleColumnTupleSource.java => ReinterpretedBooleanInstantDoubleColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeFloatColumnTupleSource.java => ReinterpretedBooleanInstantFloatColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeDateTimeColumnTupleSource.java => ReinterpretedBooleanInstantInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeIntegerColumnTupleSource.java => ReinterpretedBooleanInstantIntegerColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeLongColumnTupleSource.java => ReinterpretedBooleanInstantLongColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeObjectColumnTupleSource.java => ReinterpretedBooleanInstantObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeReinterpretedBooleanColumnTupleSource.java => ReinterpretedBooleanInstantReinterpretedBooleanColumnTupleSource.java} (78%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanInstantReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanDateTimeShortColumnTupleSource.java => ReinterpretedBooleanInstantShortColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanIntegerDateTimeColumnTupleSource.java => ReinterpretedBooleanIntegerInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanIntegerReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanIntegerReinterpretedInstantColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanLongDateTimeColumnTupleSource.java => ReinterpretedBooleanLongInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanLongReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanLongReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanObjectDateTimeColumnTupleSource.java => ReinterpretedBooleanObjectInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanObjectReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanObjectReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedBooleanDateTimeColumnTupleSource.java => ReinterpretedBooleanReinterpretedBooleanInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (92%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeBooleanColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeByteColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantByteColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeCharacterColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantCharacterColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (88%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeDoubleColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeFloatColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeDateTimeColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeIntegerColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantIntegerColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeLongColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeObjectColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantObjectColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanReinterpretedDateTimeShortColumnTupleSource.java => ReinterpretedBooleanReinterpretedInstantShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanShortDateTimeColumnTupleSource.java => ReinterpretedBooleanShortInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedBooleanShortReinterpretedDateTimeColumnTupleSource.java => ReinterpretedBooleanShortReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanBooleanColumnTupleSource.java => ReinterpretedInstantBooleanBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanByteColumnTupleSource.java => ReinterpretedInstantBooleanByteColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanCharacterColumnTupleSource.java => ReinterpretedInstantBooleanCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanColumnTupleSource.java => ReinterpretedInstantBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanDoubleColumnTupleSource.java => ReinterpretedInstantBooleanDoubleColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanFloatColumnTupleSource.java => ReinterpretedInstantBooleanFloatColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanDateTimeColumnTupleSource.java => ReinterpretedInstantBooleanInstantColumnTupleSource.java} (77%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanIntegerColumnTupleSource.java => ReinterpretedInstantBooleanIntegerColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanLongColumnTupleSource.java => ReinterpretedInstantBooleanLongColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanObjectColumnTupleSource.java => ReinterpretedInstantBooleanObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantBooleanReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantBooleanReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeBooleanShortColumnTupleSource.java => ReinterpretedInstantBooleanShortColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteBooleanColumnTupleSource.java => ReinterpretedInstantByteBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteByteColumnTupleSource.java => ReinterpretedInstantByteByteColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteCharacterColumnTupleSource.java => ReinterpretedInstantByteCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteColumnTupleSource.java => ReinterpretedInstantByteColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteDoubleColumnTupleSource.java => ReinterpretedInstantByteDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteFloatColumnTupleSource.java => ReinterpretedInstantByteFloatColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteDateTimeColumnTupleSource.java => ReinterpretedInstantByteInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteIntegerColumnTupleSource.java => ReinterpretedInstantByteIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteLongColumnTupleSource.java => ReinterpretedInstantByteLongColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteObjectColumnTupleSource.java => ReinterpretedInstantByteObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantByteReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantByteReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeByteShortColumnTupleSource.java => ReinterpretedInstantByteShortColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterBooleanColumnTupleSource.java => ReinterpretedInstantCharacterBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterByteColumnTupleSource.java => ReinterpretedInstantCharacterByteColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterCharacterColumnTupleSource.java => ReinterpretedInstantCharacterCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterColumnTupleSource.java => ReinterpretedInstantCharacterColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterDoubleColumnTupleSource.java => ReinterpretedInstantCharacterDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterFloatColumnTupleSource.java => ReinterpretedInstantCharacterFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterDateTimeColumnTupleSource.java => ReinterpretedInstantCharacterInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterIntegerColumnTupleSource.java => ReinterpretedInstantCharacterIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterLongColumnTupleSource.java => ReinterpretedInstantCharacterLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterObjectColumnTupleSource.java => ReinterpretedInstantCharacterObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantCharacterReinterpretedBooleanColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantCharacterReinterpretedInstantColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeCharacterShortColumnTupleSource.java => ReinterpretedInstantCharacterShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleBooleanColumnTupleSource.java => ReinterpretedInstantDoubleBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleByteColumnTupleSource.java => ReinterpretedInstantDoubleByteColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleCharacterColumnTupleSource.java => ReinterpretedInstantDoubleCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleColumnTupleSource.java => ReinterpretedInstantDoubleColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleDoubleColumnTupleSource.java => ReinterpretedInstantDoubleDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleFloatColumnTupleSource.java => ReinterpretedInstantDoubleFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleDateTimeColumnTupleSource.java => ReinterpretedInstantDoubleInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleIntegerColumnTupleSource.java => ReinterpretedInstantDoubleIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleLongColumnTupleSource.java => ReinterpretedInstantDoubleLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleObjectColumnTupleSource.java => ReinterpretedInstantDoubleObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantDoubleReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantDoubleReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDoubleShortColumnTupleSource.java => ReinterpretedInstantDoubleShortColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatBooleanColumnTupleSource.java => ReinterpretedInstantFloatBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatByteColumnTupleSource.java => ReinterpretedInstantFloatByteColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatCharacterColumnTupleSource.java => ReinterpretedInstantFloatCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatColumnTupleSource.java => ReinterpretedInstantFloatColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatDoubleColumnTupleSource.java => ReinterpretedInstantFloatDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatFloatColumnTupleSource.java => ReinterpretedInstantFloatFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatDateTimeColumnTupleSource.java => ReinterpretedInstantFloatInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatIntegerColumnTupleSource.java => ReinterpretedInstantFloatIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatLongColumnTupleSource.java => ReinterpretedInstantFloatLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatObjectColumnTupleSource.java => ReinterpretedInstantFloatObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantFloatReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantFloatReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeFloatShortColumnTupleSource.java => ReinterpretedInstantFloatShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeBooleanColumnTupleSource.java => ReinterpretedInstantInstantBooleanColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeByteColumnTupleSource.java => ReinterpretedInstantInstantByteColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeCharacterColumnTupleSource.java => ReinterpretedInstantInstantCharacterColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeColumnTupleSource.java => ReinterpretedInstantInstantColumnTupleSource.java} (73%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeDoubleColumnTupleSource.java => ReinterpretedInstantInstantDoubleColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeFloatColumnTupleSource.java => ReinterpretedInstantInstantFloatColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeDateTimeColumnTupleSource.java => ReinterpretedInstantInstantInstantColumnTupleSource.java} (66%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeIntegerColumnTupleSource.java => ReinterpretedInstantInstantIntegerColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeLongColumnTupleSource.java => ReinterpretedInstantInstantLongColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeObjectColumnTupleSource.java => ReinterpretedInstantInstantObjectColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantInstantReinterpretedBooleanColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantInstantReinterpretedInstantColumnTupleSource.java} (73%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeDateTimeShortColumnTupleSource.java => ReinterpretedInstantInstantShortColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerBooleanColumnTupleSource.java => ReinterpretedInstantIntegerBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerByteColumnTupleSource.java => ReinterpretedInstantIntegerByteColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerCharacterColumnTupleSource.java => ReinterpretedInstantIntegerCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerColumnTupleSource.java => ReinterpretedInstantIntegerColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerDoubleColumnTupleSource.java => ReinterpretedInstantIntegerDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerFloatColumnTupleSource.java => ReinterpretedInstantIntegerFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerDateTimeColumnTupleSource.java => ReinterpretedInstantIntegerInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerIntegerColumnTupleSource.java => ReinterpretedInstantIntegerIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerLongColumnTupleSource.java => ReinterpretedInstantIntegerLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerObjectColumnTupleSource.java => ReinterpretedInstantIntegerObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantIntegerReinterpretedBooleanColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantIntegerReinterpretedInstantColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeIntegerShortColumnTupleSource.java => ReinterpretedInstantIntegerShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongBooleanColumnTupleSource.java => ReinterpretedInstantLongBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongByteColumnTupleSource.java => ReinterpretedInstantLongByteColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongCharacterColumnTupleSource.java => ReinterpretedInstantLongCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongColumnTupleSource.java => ReinterpretedInstantLongColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongDoubleColumnTupleSource.java => ReinterpretedInstantLongDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongFloatColumnTupleSource.java => ReinterpretedInstantLongFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongDateTimeColumnTupleSource.java => ReinterpretedInstantLongInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongIntegerColumnTupleSource.java => ReinterpretedInstantLongIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongLongColumnTupleSource.java => ReinterpretedInstantLongLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongObjectColumnTupleSource.java => ReinterpretedInstantLongObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantLongReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantLongReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeLongShortColumnTupleSource.java => ReinterpretedInstantLongShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectBooleanColumnTupleSource.java => ReinterpretedInstantObjectBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectByteColumnTupleSource.java => ReinterpretedInstantObjectByteColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectCharacterColumnTupleSource.java => ReinterpretedInstantObjectCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectColumnTupleSource.java => ReinterpretedInstantObjectColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectDoubleColumnTupleSource.java => ReinterpretedInstantObjectDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectFloatColumnTupleSource.java => ReinterpretedInstantObjectFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectDateTimeColumnTupleSource.java => ReinterpretedInstantObjectInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectIntegerColumnTupleSource.java => ReinterpretedInstantObjectIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectLongColumnTupleSource.java => ReinterpretedInstantObjectLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectObjectColumnTupleSource.java => ReinterpretedInstantObjectObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantObjectReinterpretedBooleanColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantObjectReinterpretedInstantColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeObjectShortColumnTupleSource.java => ReinterpretedInstantObjectShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanBooleanColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanByteColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanByteColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanCharacterColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanCharacterColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (88%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanDoubleColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanFloatColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanDateTimeColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanIntegerColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanIntegerColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanLongColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanObjectColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanObjectColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedBooleanShortColumnTupleSource.java => ReinterpretedInstantReinterpretedBooleanShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeBooleanColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantBooleanColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeByteColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantByteColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeCharacterColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantCharacterColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (85%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeDoubleColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantDoubleColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeFloatColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantFloatColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeDateTimeColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantInstantColumnTupleSource.java} (73%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeIntegerColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantIntegerColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeLongColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantLongColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeObjectColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantObjectColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (86%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (83%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeReinterpretedDateTimeShortColumnTupleSource.java => ReinterpretedInstantReinterpretedInstantShortColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortBooleanColumnTupleSource.java => ReinterpretedInstantShortBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortByteColumnTupleSource.java => ReinterpretedInstantShortByteColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortCharacterColumnTupleSource.java => ReinterpretedInstantShortCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortColumnTupleSource.java => ReinterpretedInstantShortColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortDoubleColumnTupleSource.java => ReinterpretedInstantShortDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortFloatColumnTupleSource.java => ReinterpretedInstantShortFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortDateTimeColumnTupleSource.java => ReinterpretedInstantShortInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortIntegerColumnTupleSource.java => ReinterpretedInstantShortIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortLongColumnTupleSource.java => ReinterpretedInstantShortLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortObjectColumnTupleSource.java => ReinterpretedInstantShortObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortReinterpretedBooleanColumnTupleSource.java => ReinterpretedInstantShortReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortReinterpretedDateTimeColumnTupleSource.java => ReinterpretedInstantShortReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ReinterpretedDateTimeShortShortColumnTupleSource.java => ReinterpretedInstantShortShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortBooleanDateTimeColumnTupleSource.java => ShortBooleanInstantColumnTupleSource.java} (81%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortBooleanReinterpretedDateTimeColumnTupleSource.java => ShortBooleanReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortByteDateTimeColumnTupleSource.java => ShortByteInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortByteReinterpretedDateTimeColumnTupleSource.java => ShortByteReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortCharacterDateTimeColumnTupleSource.java => ShortCharacterInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortCharacterReinterpretedDateTimeColumnTupleSource.java => ShortCharacterReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDoubleDateTimeColumnTupleSource.java => ShortDoubleInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDoubleReinterpretedDateTimeColumnTupleSource.java => ShortDoubleReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortFloatDateTimeColumnTupleSource.java => ShortFloatInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortFloatReinterpretedDateTimeColumnTupleSource.java => ShortFloatReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeBooleanColumnTupleSource.java => ShortInstantBooleanColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeByteColumnTupleSource.java => ShortInstantByteColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeCharacterColumnTupleSource.java => ShortInstantCharacterColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeColumnTupleSource.java => ShortInstantColumnTupleSource.java} (78%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeDoubleColumnTupleSource.java => ShortInstantDoubleColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeFloatColumnTupleSource.java => ShortInstantFloatColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeDateTimeColumnTupleSource.java => ShortInstantInstantColumnTupleSource.java} (69%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeIntegerColumnTupleSource.java => ShortInstantIntegerColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeLongColumnTupleSource.java => ShortInstantLongColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeObjectColumnTupleSource.java => ShortInstantObjectColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeReinterpretedBooleanColumnTupleSource.java => ShortInstantReinterpretedBooleanColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeReinterpretedDateTimeColumnTupleSource.java => ShortInstantReinterpretedInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortDateTimeShortColumnTupleSource.java => ShortInstantShortColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortIntegerDateTimeColumnTupleSource.java => ShortIntegerInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortIntegerReinterpretedDateTimeColumnTupleSource.java => ShortIntegerReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortLongDateTimeColumnTupleSource.java => ShortLongInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortLongReinterpretedDateTimeColumnTupleSource.java => ShortLongReinterpretedInstantColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortObjectDateTimeColumnTupleSource.java => ShortObjectInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortObjectReinterpretedDateTimeColumnTupleSource.java => ShortObjectReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedBooleanDateTimeColumnTupleSource.java => ShortReinterpretedBooleanInstantColumnTupleSource.java} (79%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java => ShortReinterpretedBooleanReinterpretedInstantColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeBooleanColumnTupleSource.java => ShortReinterpretedInstantBooleanColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeByteColumnTupleSource.java => ShortReinterpretedInstantByteColumnTupleSource.java} (91%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeCharacterColumnTupleSource.java => ShortReinterpretedInstantCharacterColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeColumnTupleSource.java => ShortReinterpretedInstantColumnTupleSource.java} (89%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeDoubleColumnTupleSource.java => ShortReinterpretedInstantDoubleColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeFloatColumnTupleSource.java => ShortReinterpretedInstantFloatColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeDateTimeColumnTupleSource.java => ShortReinterpretedInstantInstantColumnTupleSource.java} (76%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeIntegerColumnTupleSource.java => ShortReinterpretedInstantIntegerColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeLongColumnTupleSource.java => ShortReinterpretedInstantLongColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeObjectColumnTupleSource.java => ShortReinterpretedInstantObjectColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java => ShortReinterpretedInstantReinterpretedBooleanColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java => ShortReinterpretedInstantReinterpretedInstantColumnTupleSource.java} (87%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortReinterpretedDateTimeShortColumnTupleSource.java => ShortReinterpretedInstantShortColumnTupleSource.java} (90%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortShortDateTimeColumnTupleSource.java => ShortShortInstantColumnTupleSource.java} (80%) rename engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/{ShortShortReinterpretedDateTimeColumnTupleSource.java => ShortShortReinterpretedInstantColumnTupleSource.java} (90%) rename extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/{ArrowDateTimeColumnSource.java => ArrowInstantColumnSource.java} (72%) rename extensions/kafka/src/main/java/io/deephaven/kafka/ingest/{GenericRecordDateTimeArrayFieldCopier.java => GenericRecordInstantArrayFieldCopier.java} (74%) rename extensions/kafka/src/main/java/io/deephaven/kafka/ingest/{JsonNodeDateTimeFieldCopier.java => JsonNodeInstantFieldCopier.java} (73%) rename extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/{ToDateTimePage.java => ToInstantPage.java} (56%) rename extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/{ToDateTimePageFromInt96.java => ToInstantPageFromInt96.java} (73%) create mode 100644 props/configs/src/main/resources/default_time_zone_aliases.csv create mode 100644 props/test-configs/src/main/resources/test_time_zone_aliases.csv diff --git a/BenchmarkSupport/src/main/java/io/deephaven/benchmarking/BenchmarkTools.java b/BenchmarkSupport/src/main/java/io/deephaven/benchmarking/BenchmarkTools.java index 7eb70c0e034..4e6638a5966 100644 --- a/BenchmarkSupport/src/main/java/io/deephaven/benchmarking/BenchmarkTools.java +++ b/BenchmarkSupport/src/main/java/io/deephaven/benchmarking/BenchmarkTools.java @@ -3,13 +3,11 @@ */ package io.deephaven.benchmarking; -import io.deephaven.configuration.Configuration; import io.deephaven.configuration.DataDir; import io.deephaven.engine.context.ExecutionContext; import io.deephaven.engine.table.ColumnDefinition; import io.deephaven.engine.table.Table; import io.deephaven.engine.table.TableDefinition; -import io.deephaven.time.DateTime; import io.deephaven.util.annotations.ScriptApi; import io.deephaven.benchmarking.generator.*; import io.deephaven.benchmarking.impl.PersistentBenchmarkTableBuilder; @@ -18,6 +16,7 @@ import org.openjdk.jmh.infra.BenchmarkParams; import java.nio.file.Path; +import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -147,24 +146,24 @@ public static ColumnGenerator charCol(String name, char min, char max /** * @param name The name of the column - * @return a {@link ColumnGenerator< DateTime >} for use with + * @return a {@link ColumnGenerator< Instant >} for use with * {@link BenchmarkTableBuilder#addColumn(ColumnGenerator)} */ @ScriptApi - public static ColumnGenerator dateCol(String name) { - return new DateColumnGenerator(name); + public static ColumnGenerator instantCol(String name) { + return new InstantColumnGenerator(name); } /** * @param name The name of the column * @param min the minimum value * @param max the maximum value - * @return a {@link ColumnGenerator< DateTime >} for use with + * @return a {@link ColumnGenerator< Instant >} for use with * {@link BenchmarkTableBuilder#addColumn(ColumnGenerator)} */ @ScriptApi - public static ColumnGenerator dateCol(String name, DateTime min, DateTime max) { - return new DateColumnGenerator(name, min, max); + public static ColumnGenerator instantCol(String name, Instant min, Instant max) { + return new InstantColumnGenerator(name, min, max); } /** diff --git a/BenchmarkSupport/src/main/java/io/deephaven/benchmarking/generator/DateColumnGenerator.java b/BenchmarkSupport/src/main/java/io/deephaven/benchmarking/generator/InstantColumnGenerator.java similarity index 61% rename from BenchmarkSupport/src/main/java/io/deephaven/benchmarking/generator/DateColumnGenerator.java rename to BenchmarkSupport/src/main/java/io/deephaven/benchmarking/generator/InstantColumnGenerator.java index d1f6ce2bf87..2420ffb7275 100644 --- a/BenchmarkSupport/src/main/java/io/deephaven/benchmarking/generator/DateColumnGenerator.java +++ b/BenchmarkSupport/src/main/java/io/deephaven/benchmarking/generator/InstantColumnGenerator.java @@ -4,32 +4,34 @@ package io.deephaven.benchmarking.generator; import io.deephaven.engine.table.ColumnDefinition; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.benchmarking.generator.random.ExtendedRandom; -public class DateColumnGenerator implements ColumnGenerator { +import java.time.Instant; + +public class InstantColumnGenerator implements ColumnGenerator { + private NumGenerator gen; - private final ColumnDefinition def; + private final ColumnDefinition def; private final long min; private final long max; - public DateColumnGenerator(String name) { + public InstantColumnGenerator(String name) { this(name, 0, Long.MAX_VALUE); } - public DateColumnGenerator(String name, DateTime min, DateTime max) { - this(name, min.getNanos(), max.getNanos()); + public InstantColumnGenerator(String name, Instant min, Instant max) { + this(name, DateTimeUtils.epochNanos(min), DateTimeUtils.epochNanos(max)); } - private DateColumnGenerator(String name, long min, long max) { + private InstantColumnGenerator(String name, long min, long max) { def = ColumnDefinition.ofTime(name); this.min = min; this.max = max; } @Override - public ColumnDefinition getDefinition() { + public ColumnDefinition getDefinition() { return def; } @@ -48,7 +50,7 @@ public void init(ExtendedRandom random) { gen = new NumGenerator(min, max, random); } - public DateTime get() { - return DateTimeUtils.nanosToTime(gen.getLong()); + public Instant get() { + return DateTimeUtils.epochNanosToInstant(gen.getLong()); } } diff --git a/ClientSupport/src/main/java/io/deephaven/clientsupport/gotorow/SeekRow.java b/ClientSupport/src/main/java/io/deephaven/clientsupport/gotorow/SeekRow.java index cec1eb81126..598ece5d9aa 100644 --- a/ClientSupport/src/main/java/io/deephaven/clientsupport/gotorow/SeekRow.java +++ b/ClientSupport/src/main/java/io/deephaven/clientsupport/gotorow/SeekRow.java @@ -1,5 +1,6 @@ package io.deephaven.clientsupport.gotorow; +import java.time.Instant; import java.util.function.Function; import gnu.trove.set.TLongSet; import gnu.trove.set.hash.TLongHashSet; @@ -12,7 +13,7 @@ import io.deephaven.engine.table.Table; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import java.util.Random; @@ -112,10 +113,10 @@ public Long apply(Table table) { log.info().append("Using numerical distance (").appendDouble(dl).append(", ").appendDouble(du) .append(")").endl(); return index.find(du < dl ? closestUpperRowYet : closestLowerRowYet); - } else if (DateTime.class.isAssignableFrom(columnType)) { - long nu = ((DateTime) closestUpperValueYet).getNanos(); - long nl = ((DateTime) closestLowerValueYet).getNanos(); - long ns = ((DateTime) seekValue).getNanos(); + } else if (Instant.class.isAssignableFrom(columnType)) { + long nu = DateTimeUtils.epochNanos(((Instant) closestUpperValueYet)); + long nl = DateTimeUtils.epochNanos(((Instant) closestLowerValueYet)); + long ns = DateTimeUtils.epochNanos(((Instant) seekValue)); long du = Math.abs(nu - ns); long dl = Math.abs(nl - ns); log.info().append("Using nano distance (").append(dl).append(", ").append(du).append(")").endl(); diff --git a/ClientSupport/src/main/java/io/deephaven/clientsupport/plotdownsampling/RunChartDownsample.java b/ClientSupport/src/main/java/io/deephaven/clientsupport/plotdownsampling/RunChartDownsample.java index 1ced6a9c3a7..f963fb74576 100644 --- a/ClientSupport/src/main/java/io/deephaven/clientsupport/plotdownsampling/RunChartDownsample.java +++ b/ClientSupport/src/main/java/io/deephaven/clientsupport/plotdownsampling/RunChartDownsample.java @@ -12,7 +12,6 @@ import io.deephaven.engine.rowset.chunkattributes.OrderedRowKeys; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.function.Numeric; -import io.deephaven.time.DateTime; import io.deephaven.hash.KeyedLongObjectHash; import io.deephaven.hash.KeyedLongObjectHashMap; import io.deephaven.hash.KeyedLongObjectKey; @@ -30,6 +29,7 @@ import org.apache.commons.lang3.mutable.MutableObject; import org.jetbrains.annotations.Nullable; +import java.time.Instant; import java.util.Arrays; import java.util.Iterator; import java.util.List; @@ -275,7 +275,9 @@ public BucketState newValue(final Long key) { } }; - private DownsamplerListener(final QueryTable sourceTable, final QueryTable resultTable, + private DownsamplerListener( + final QueryTable sourceTable, + final QueryTable resultTable, final DownsampleKey key) { super("downsample listener", sourceTable, resultTable); this.sourceTable = sourceTable; @@ -284,14 +286,14 @@ private DownsamplerListener(final QueryTable sourceTable, final QueryTable resul this.key = key; final ColumnSource xSource = sourceTable.getColumnSource(key.xColumnName); - if (xSource.getType() == DateTime.class) { - this.xColumnSource = ReinterpretUtils.dateTimeToLongSource(xSource); + if (xSource.getType() == Instant.class) { + this.xColumnSource = ReinterpretUtils.instantToLongSource(xSource); } else if (xSource.allowsReinterpret(long.class)) { // noinspection unchecked this.xColumnSource = xSource.reinterpret(long.class); } else { throw new IllegalArgumentException( - "Cannot use non-DateTime, non-long x column " + key.xColumnName + " in downsample"); + "Cannot use non-Instant, non-long x column " + key.xColumnName + " in downsample"); } this.valueColumnSources = Arrays.stream(this.key.yColumnNames) diff --git a/Configuration/src/main/java/io/deephaven/configuration/Configuration.java b/Configuration/src/main/java/io/deephaven/configuration/Configuration.java index cad1b131013..9bfca1feb31 100644 --- a/Configuration/src/main/java/io/deephaven/configuration/Configuration.java +++ b/Configuration/src/main/java/io/deephaven/configuration/Configuration.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.NotNull; import java.io.*; +import java.time.ZoneId; import java.util.*; /** @@ -160,7 +161,7 @@ private static String getRootPath() { * @return the TimeZone the server is running in */ public TimeZone getServerTimezone() { - return TimeZone.getTimeZone(getProperty("server.timezone")); + return TimeZone.getTimeZone(ZoneId.systemDefault()); } /** diff --git a/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java b/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java index 5e0467fce00..7c1c7776923 100644 --- a/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java +++ b/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java @@ -171,7 +171,7 @@ public Boolean isTime() { } }); - types.put("DateTime", new Type() { + types.put("Instant", new Type() { @Override public String getGenericSignature(int index) { return null; @@ -179,12 +179,12 @@ public String getGenericSignature(int index) { @Override public String getVariableType(int index) { - return "DateTime[]"; + return "Instant[]"; } @Override public String getIndexableDataCode(String variableName) { - return "new IndexableNumericDataArrayDateTime(" + variableName + ", " + PLOT_INFO_ID + ")"; + return "new IndexableNumericDataArrayInstant(" + variableName + ", " + PLOT_INFO_ID + ")"; } @Override @@ -568,7 +568,7 @@ private static ArrayList> constructRestrictedNumericalTypes(fina private static final String[] timeTypes = { "Date", - "DateTime" + "Instant" }; private static final String[] numberTypes = { diff --git a/Generators/src/main/java/io/deephaven/plot/util/GeneratePyV2FigureAPI.java b/Generators/src/main/java/io/deephaven/plot/util/GeneratePyV2FigureAPI.java index 0c8607c20fa..43b7cd23ae8 100644 --- a/Generators/src/main/java/io/deephaven/plot/util/GeneratePyV2FigureAPI.java +++ b/Generators/src/main/java/io/deephaven/plot/util/GeneratePyV2FigureAPI.java @@ -1064,8 +1064,8 @@ private static Map getPyArgs() { final String[] taTable = new String[] {"Table", "SelectableDataSet"}; final String[] taDataCategory = new String[] {"str", "List[str]", "List[int]", "List[float]"}; - final String[] taDataNumeric = new String[] {"str", "List[int]", "List[float]", "List[DateTime]"}; - final String[] taDataTime = new String[] {"str", "List[DateTime]"}; + final String[] taDataNumeric = new String[] {"str", "List[int]", "List[float]", "List[Instant]"}; + final String[] taDataTime = new String[] {"str", "List[Instant]"}; final String[] taMultiSeriesKey = new String[] {"List[Any]"}; // todo keys are technically Object[]. How to // support? final String[] taColor = new String[] {"str", "int", "Color"}; diff --git a/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py b/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py index ac91441646e..e789f5c9a6f 100644 --- a/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py +++ b/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py @@ -19,7 +19,7 @@ from deephaven import DHError, dtypes from deephaven._wrapper import JObjectWrapper -from deephaven.dtypes import DateTime, PyObject +from deephaven.dtypes import Instant, PyObject from deephaven.plot import LineStyle, PlotStyle, Color, Font, AxisFormat, Shape, AxisTransform, \ SelectableDataSet from deephaven.table import Table diff --git a/Integrations/src/main/java/io/deephaven/integrations/common/PrimitiveArrayConversionUtility.java b/Integrations/src/main/java/io/deephaven/integrations/common/PrimitiveArrayConversionUtility.java index b89b9c9015c..2ad1466d7ba 100644 --- a/Integrations/src/main/java/io/deephaven/integrations/common/PrimitiveArrayConversionUtility.java +++ b/Integrations/src/main/java/io/deephaven/integrations/common/PrimitiveArrayConversionUtility.java @@ -3,10 +3,11 @@ */ package io.deephaven.integrations.common; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.BooleanUtils; +import java.time.Instant; + /** * General purpose helper methods for array conversion methods from specific object types to/from primitive types. This * is specifically intended to improve performance in integration with Python, where conversion of primitive type arrays @@ -44,31 +45,31 @@ public static Boolean[] translateArrayByteToBoolean(final byte[] array) { } /** - * Translates a DateTime array to a long array. The mapping will be performed according to - * {@link DateTimeUtils#nanos(DateTime)}. This is the (psuedo)inverse of `translateArrayLongToDateTime`. + * Translates an Instant array to a long array. The mapping will be performed according to + * {@link DateTimeUtils#epochNanos(Instant)}. This is the (psuedo)inverse of `translateArrayLongToInstant`. * - * @param array - the DateTime array + * @param array - the Instant array * @return the corresponding long array */ - public static long[] translateArrayDateTimeToLong(final DateTime[] array) { + public static long[] translateArrayInstantToLong(final Instant[] array) { final long[] out = new long[array.length]; for (int ai = 0; ai < array.length; ai++) { - out[ai] = DateTimeUtils.nanos(array[ai]); + out[ai] = DateTimeUtils.epochNanos(array[ai]); } return out; } /** - * Translates a long array to a DateTime array. The mapping will be performed according to - * {@link DateTimeUtils#nanosToTime(long)}. This is the (psuedo)inverse of `translateArrayLongToDateTime`. + * Translates a long array to an Instant array. The mapping will be performed according to + * {@link DateTimeUtils#epochNanosToInstant(long)}. This is the (psuedo)inverse of `translateArrayLongToInstant`. * * @param array - the long array * @return the corresponding DateTime array */ - public static DateTime[] translateArrayLongToDateTime(final long[] array) { - final DateTime[] out = new DateTime[array.length]; + public static Instant[] translateArrayLongToInstant(final long[] array) { + final Instant[] out = new Instant[array.length]; for (int ai = 0; ai < array.length; ai++) { - out[ai] = DateTimeUtils.nanosToTime(array[ai]); + out[ai] = DateTimeUtils.epochNanosToInstant(array[ai]); } return out; } diff --git a/ModelFarm/src/main/java/io/deephaven/modelfarm/util/ModelFarmUtils.java b/ModelFarm/src/main/java/io/deephaven/modelfarm/util/ModelFarmUtils.java index c5b8420f310..1d19872ad23 100644 --- a/ModelFarm/src/main/java/io/deephaven/modelfarm/util/ModelFarmUtils.java +++ b/ModelFarm/src/main/java/io/deephaven/modelfarm/util/ModelFarmUtils.java @@ -6,7 +6,8 @@ import io.deephaven.base.verify.Require; import io.deephaven.engine.table.Table; import io.deephaven.vector.*; -import io.deephaven.time.DateTime; + +import java.time.Instant; /** * Utilities for building model farms. @@ -53,9 +54,9 @@ public static String[] arrayString(final Object o) { * @param o table cell value. * @return date time array. */ - public static DateTime[] arrayDateTime(final Object o) { + public static Instant[] arrayInstant(final Object o) { // noinspection unchecked - return o == null ? null : ((ObjectVector) o).toArray(); + return o == null ? null : ((ObjectVector) o).toArray(); } /** diff --git a/ModelFarm/src/test/java/io/deephaven/modelfarm/util/TestModelFarmUtils.java b/ModelFarm/src/test/java/io/deephaven/modelfarm/util/TestModelFarmUtils.java index e54668acf3f..840d3d8a0a1 100644 --- a/ModelFarm/src/test/java/io/deephaven/modelfarm/util/TestModelFarmUtils.java +++ b/ModelFarm/src/test/java/io/deephaven/modelfarm/util/TestModelFarmUtils.java @@ -10,11 +10,12 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.util.SafeCloseable; import io.deephaven.vector.*; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; import org.junit.After; import org.junit.Before; +import java.time.Instant; + public class TestModelFarmUtils extends BaseArrayTestCase { private SafeCloseable executionContext; @@ -63,13 +64,14 @@ public void testArrayString() { assertNull(ModelFarmUtils.arrayString(null)); } - public void testArrayDateTime() { - final DateTime[] target = {DateTimeUtils.convertDateTime("2018-01-11T01:01:01 NY"), - DateTimeUtils.convertDateTime("2018-02-11T01:01:01 NY"), - DateTimeUtils.convertDateTime("2018-03-11T01:01:01 NY")}; - final DateTime[] result = ModelFarmUtils.arrayDateTime(new ObjectVectorDirect<>(target)); + public void testArrayInstant() { + final Instant[] target = { + DateTimeUtils.parseInstant("2018-01-11T01:01:01 NY"), + DateTimeUtils.parseInstant("2018-02-11T01:01:01 NY"), + DateTimeUtils.parseInstant("2018-03-11T01:01:01 NY")}; + final Instant[] result = ModelFarmUtils.arrayInstant(new ObjectVectorDirect<>(target)); assertEquals(target, result); - assertNull(ModelFarmUtils.arrayDateTime(null)); + assertNull(ModelFarmUtils.arrayInstant(null)); } public void testArrayFloat() { diff --git a/Numerics/Numerics.gradle b/Numerics/Numerics.gradle index d2bc2f00b05..d5b654b7346 100644 --- a/Numerics/Numerics.gradle +++ b/Numerics/Numerics.gradle @@ -11,8 +11,14 @@ configurations { dependencies { api project(':engine-time') implementation project(':engine-function') + implementation project(':log-factory') testImplementation project(':base-test-utils') testRuntimeOnly project(path: ':configs') testRuntimeOnly project(path: ':test-configs') + + testRuntimeOnly project(':log-to-slf4j'), + project(path: ':configs'), + project(path: ':test-configs') + Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') } diff --git a/Numerics/src/main/java/io/deephaven/numerics/movingaverages/ByEma.java b/Numerics/src/main/java/io/deephaven/numerics/movingaverages/ByEma.java index 82a2b1e2d26..49e50ec3c5d 100644 --- a/Numerics/src/main/java/io/deephaven/numerics/movingaverages/ByEma.java +++ b/Numerics/src/main/java/io/deephaven/numerics/movingaverages/ByEma.java @@ -5,9 +5,10 @@ import io.deephaven.base.verify.Require; import io.deephaven.function.Basic; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import java.io.Serializable; +import java.time.Instant; import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -88,12 +89,12 @@ public synchronized double update(double value, Object... by) { return update(Long.MIN_VALUE, value, by); } - public synchronized double update(DateTime timestamp, double value) { + public synchronized double update(Instant timestamp, double value) { return update(timestamp, value, (Object) null); } - public synchronized double update(DateTime timestamp, double value, Object... by) { - return update(timestamp.getNanos(), value, by); + public synchronized double update(Instant timestamp, double value, Object... by) { + return update(DateTimeUtils.epochNanos(timestamp), value, by); } public synchronized double update(long timestampNanos, double value, Object... by) { diff --git a/Numerics/src/test/java/io/deephaven/numerics/movingaverages/ByEmaTest.java b/Numerics/src/test/java/io/deephaven/numerics/movingaverages/ByEmaTest.java index 2e6862bdca7..1984d0e61da 100644 --- a/Numerics/src/test/java/io/deephaven/numerics/movingaverages/ByEmaTest.java +++ b/Numerics/src/test/java/io/deephaven/numerics/movingaverages/ByEmaTest.java @@ -4,10 +4,12 @@ package io.deephaven.numerics.movingaverages; import io.deephaven.base.testing.RecordingMockObject; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import junit.framework.TestCase; +import java.time.Instant; + /** * Test ByEma. */ @@ -79,70 +81,70 @@ public void testEverything() { assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); - DateTime ts0 = new DateTime(DAY * 1000000); + Instant ts0 = DateTimeUtils.epochNanosToInstant(DAY * 1000000); ByEma.Key k0 = new ByEma.Key("A", "B"); MA ma0 = new MA(target, k0); - ma0.processDoubleLocal(ts0.getNanos(), 1); + ma0.processDoubleLocal(DateTimeUtils.epochNanos(ts0), 1); ma0.getCurrent(); emaActual.update(ts0, 1, "A", "B"); assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); - DateTime ts1 = new DateTime(2 * DAY * 1000000); - ma0.processDoubleLocal(ts1.getNanos(), 2); + Instant ts1 = DateTimeUtils.epochNanosToInstant(2 * DAY * 1000000); + ma0.processDoubleLocal(DateTimeUtils.epochNanos(ts1), 2); ma0.getCurrent(); emaActual.update(ts1, 2, "A", "B"); assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); - DateTime ts2 = new DateTime(3 * DAY * 1000000); + Instant ts2 = DateTimeUtils.epochNanosToInstant(3 * DAY * 1000000); ByEma.Key k1 = new ByEma.Key("A", "C"); MA ma1 = new MA(target, k1); - ma1.processDoubleLocal(ts2.getNanos(), 3); + ma1.processDoubleLocal(DateTimeUtils.epochNanos(ts2), 3); ma1.getCurrent(); emaActual.update(ts2, 3, "A", "C"); assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); - DateTime ts3 = new DateTime(4 * DAY * 1000000); - ma0.processDoubleLocal(ts3.getNanos(), 4); + Instant ts3 = DateTimeUtils.epochNanosToInstant(4 * DAY * 1000000); + ma0.processDoubleLocal(DateTimeUtils.epochNanos(ts3), 4); ma0.getCurrent(); emaActual.update(ts3, 4, "A", "B"); assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); - DateTime ts4 = new DateTime(5 * DAY * 1000000); + Instant ts4 = DateTimeUtils.epochNanosToInstant(5 * DAY * 1000000); MA ma2 = new MA(target, k0); emaActual.update(ts4, NULL, "A", "B"); assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); - DateTime ts5 = new DateTime(6 * DAY * 1000000); - ma1.processDoubleLocal(ts5.getNanos(), 6); + Instant ts5 = DateTimeUtils.epochNanosToInstant(6 * DAY * 1000000); + ma1.processDoubleLocal(DateTimeUtils.epochNanos(ts5), 6); ma1.getCurrent(); emaActual.update(ts5, 6, "A", "C"); assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); - DateTime ts6 = new DateTime(5 * DAY * 1000000); - ma2.processDoubleLocal(ts6.getNanos(), 7); + Instant ts6 = DateTimeUtils.epochNanosToInstant(5 * DAY * 1000000); + ma2.processDoubleLocal(DateTimeUtils.epochNanos(ts6), 7); ma2.getCurrent(); emaActual.update(ts6, 7, "A", "B"); assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); - DateTime ts7 = new DateTime(6 * DAY * 1000000); + Instant ts7 = DateTimeUtils.epochNanosToInstant(6 * DAY * 1000000); MA ma3 = new MA(target, k0); emaActual.update(ts7, NAN, "A", "B"); assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); - DateTime ts8 = new DateTime(7 * DAY * 1000000); - ma3.processDoubleLocal(ts8.getNanos(), 8); + Instant ts8 = DateTimeUtils.epochNanosToInstant(7 * DAY * 1000000); + ma3.processDoubleLocal(DateTimeUtils.epochNanos(ts8), 8); ma3.getCurrent(); emaActual.update(ts8, 8, "A", "B"); assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); - DateTime ts9 = new DateTime(8 * DAY * 1000000); - ma1.processDoubleLocal(ts9.getNanos(), 8); + Instant ts9 = DateTimeUtils.epochNanosToInstant(8 * DAY * 1000000); + ma1.processDoubleLocal(DateTimeUtils.epochNanos(ts9), 8); ma1.getCurrent(); emaActual.update(ts9, 8, "A", "C"); assertEquals(target.getActivityRecordAndReset(), emaActual.logger.getActivityRecordAndReset()); // test no time version - DateTime ts10 = new DateTime(9 * DAY * 1000000); + Instant ts10 = DateTimeUtils.epochNanosToInstant(9 * DAY * 1000000); ma1.processDoubleLocal(Long.MIN_VALUE, 9); ma1.getCurrent(); emaActual.update(9, "A", "C"); diff --git a/Plot/src/main/java/io/deephaven/plot/Axes.java b/Plot/src/main/java/io/deephaven/plot/Axes.java index 32389ab65c1..541b20c7303 100644 --- a/Plot/src/main/java/io/deephaven/plot/Axes.java +++ b/Plot/src/main/java/io/deephaven/plot/Axes.java @@ -17,13 +17,13 @@ import io.deephaven.plot.datasets.xyerrorbar.XYErrorBarDataSeries; import io.deephaven.plot.filters.SelectableDataSet; import io.deephaven.engine.table.Table; -import io.deephaven.time.DateTime; import io.deephaven.gui.color.Paint; import io.deephaven.time.calendar.BusinessCalendar; import groovy.lang.Closure; import org.jetbrains.annotations.Nullable; import java.io.Serializable; +import java.time.Instant; import java.util.Date; import java.util.List; import java.util.function.DoubleUnaryOperator; @@ -1404,7 +1404,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final Date[] x, final DateTime[] y); + XYDataSeries plot(final Comparable seriesName, final Date[] x, final Instant[] y); /** * Creates an XY plot. @@ -1486,7 +1486,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final DateTime[] x, final Date[] y); + XYDataSeries plot(final Comparable seriesName, final Instant[] x, final Date[] y); /** * Creates an XY plot. @@ -1496,7 +1496,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final DateTime[] x, final DateTime[] y); + XYDataSeries plot(final Comparable seriesName, final Instant[] x, final Instant[] y); /** * Creates an XY plot. @@ -1506,7 +1506,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final DateTime[] x, final short[] y); + XYDataSeries plot(final Comparable seriesName, final Instant[] x, final short[] y); /** * Creates an XY plot. @@ -1516,7 +1516,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final DateTime[] x, final int[] y); + XYDataSeries plot(final Comparable seriesName, final Instant[] x, final int[] y); /** * Creates an XY plot. @@ -1526,7 +1526,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final DateTime[] x, final long[] y); + XYDataSeries plot(final Comparable seriesName, final Instant[] x, final long[] y); /** * Creates an XY plot. @@ -1536,7 +1536,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final DateTime[] x, final float[] y); + XYDataSeries plot(final Comparable seriesName, final Instant[] x, final float[] y); /** * Creates an XY plot. @@ -1546,7 +1546,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final DateTime[] x, final double[] y); + XYDataSeries plot(final Comparable seriesName, final Instant[] x, final double[] y); /** * Creates an XY plot. @@ -1557,7 +1557,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final DateTime[] x, final T1[] y); + XYDataSeries plot(final Comparable seriesName, final Instant[] x, final T1[] y); /** * Creates an XY plot. @@ -1568,7 +1568,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final DateTime[] x, final List y); + XYDataSeries plot(final Comparable seriesName, final Instant[] x, final List y); /** * Creates an XY plot. @@ -1588,7 +1588,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final short[] x, final DateTime[] y); + XYDataSeries plot(final Comparable seriesName, final short[] x, final Instant[] y); /** * Creates an XY plot. @@ -1680,7 +1680,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final int[] x, final DateTime[] y); + XYDataSeries plot(final Comparable seriesName, final int[] x, final Instant[] y); /** * Creates an XY plot. @@ -1772,7 +1772,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final long[] x, final DateTime[] y); + XYDataSeries plot(final Comparable seriesName, final long[] x, final Instant[] y); /** * Creates an XY plot. @@ -1864,7 +1864,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final float[] x, final DateTime[] y); + XYDataSeries plot(final Comparable seriesName, final float[] x, final Instant[] y); /** * Creates an XY plot. @@ -1956,7 +1956,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final double[] x, final DateTime[] y); + XYDataSeries plot(final Comparable seriesName, final double[] x, final Instant[] y); /** * Creates an XY plot. @@ -2050,7 +2050,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final T0[] x, final DateTime[] y); + XYDataSeries plot(final Comparable seriesName, final T0[] x, final Instant[] y); /** * Creates an XY plot. @@ -2151,7 +2151,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created for plot */ - XYDataSeries plot(final Comparable seriesName, final List x, final DateTime[] y); + XYDataSeries plot(final Comparable seriesName, final List x, final Instant[] y); /** * Creates an XY plot. @@ -2256,7 +2256,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param close close data * @return dataset created by the plot */ - OHLCDataSeries ohlcPlot(final Comparable seriesName, final DateTime[] time, final short[] open, final short[] high, final short[] low, final short[] close); + OHLCDataSeries ohlcPlot(final Comparable seriesName, final Instant[] time, final short[] open, final short[] high, final short[] low, final short[] close); /** * Creates an open-high-low-close plot. @@ -2282,7 +2282,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param close close data * @return dataset created by the plot */ - OHLCDataSeries ohlcPlot(final Comparable seriesName, final DateTime[] time, final int[] open, final int[] high, final int[] low, final int[] close); + OHLCDataSeries ohlcPlot(final Comparable seriesName, final Instant[] time, final int[] open, final int[] high, final int[] low, final int[] close); /** * Creates an open-high-low-close plot. @@ -2308,7 +2308,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param close close data * @return dataset created by the plot */ - OHLCDataSeries ohlcPlot(final Comparable seriesName, final DateTime[] time, final long[] open, final long[] high, final long[] low, final long[] close); + OHLCDataSeries ohlcPlot(final Comparable seriesName, final Instant[] time, final long[] open, final long[] high, final long[] low, final long[] close); /** * Creates an open-high-low-close plot. @@ -2334,7 +2334,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param close close data * @return dataset created by the plot */ - OHLCDataSeries ohlcPlot(final Comparable seriesName, final DateTime[] time, final float[] open, final float[] high, final float[] low, final float[] close); + OHLCDataSeries ohlcPlot(final Comparable seriesName, final Instant[] time, final float[] open, final float[] high, final float[] low, final float[] close); /** * Creates an open-high-low-close plot. @@ -2360,7 +2360,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param close close data * @return dataset created by the plot */ - OHLCDataSeries ohlcPlot(final Comparable seriesName, final DateTime[] time, final double[] open, final double[] high, final double[] low, final double[] close); + OHLCDataSeries ohlcPlot(final Comparable seriesName, final Instant[] time, final double[] open, final double[] high, final double[] low, final double[] close); /** * Creates an open-high-low-close plot. @@ -2394,7 +2394,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param close data type * @return dataset created by the plot */ - OHLCDataSeries ohlcPlot(final Comparable seriesName, final DateTime[] time, final T1[] open, final T2[] high, final T3[] low, final T4[] close); + OHLCDataSeries ohlcPlot(final Comparable seriesName, final Instant[] time, final T1[] open, final T2[] high, final T3[] low, final T4[] close); /** * Creates an open-high-low-close plot. @@ -2428,7 +2428,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param close data type * @return dataset created by the plot */ - OHLCDataSeries ohlcPlot(final Comparable seriesName, final DateTime[] time, final List open, final List high, final List low, final List close); + OHLCDataSeries ohlcPlot(final Comparable seriesName, final Instant[] time, final List open, final List high, final List low, final List close); /** * Creates a histogram. @@ -2724,7 +2724,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -2946,7 +2946,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final short[] y, final short[] yLow, final short[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final short[] y, final short[] yLow, final short[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -2960,7 +2960,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final short[] x, final short[] xLow, final short[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final short[] x, final short[] xLow, final short[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -2974,7 +2974,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final int[] y, final int[] yLow, final int[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final int[] y, final int[] yLow, final int[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -2988,7 +2988,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final int[] x, final int[] xLow, final int[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final int[] x, final int[] xLow, final int[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -3002,7 +3002,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final long[] y, final long[] yLow, final long[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final long[] y, final long[] yLow, final long[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -3016,7 +3016,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final long[] x, final long[] xLow, final long[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final long[] x, final long[] xLow, final long[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -3030,7 +3030,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final float[] y, final float[] yLow, final float[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final float[] y, final float[] yLow, final float[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -3044,7 +3044,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final float[] x, final float[] xLow, final float[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final float[] x, final float[] xLow, final float[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -3058,7 +3058,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final double[] y, final double[] yLow, final double[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final double[] y, final double[] yLow, final double[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -3072,7 +3072,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final double[] x, final double[] xLow, final double[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final double[] x, final double[] xLow, final double[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -3089,7 +3089,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final T3[] y, final T4[] yLow, final T5[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final T3[] y, final T4[] yLow, final T5[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -3106,7 +3106,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final T0[] x, final T1[] xLow, final T2[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final T0[] x, final T1[] xLow, final T2[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -3123,7 +3123,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final List y, final List yLow, final List yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final List y, final List yLow, final List yHigh); /** * Creates an XY plot with error bars in both the x and y directions. @@ -3140,7 +3140,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final List x, final List xLow, final List xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarXY(final Comparable seriesName, final List x, final List xLow, final List xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in the x direction. @@ -3256,7 +3256,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final DateTime[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final Instant[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3444,7 +3444,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final short[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final short[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3456,7 +3456,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final short[] x, final short[] xLow, final short[] xHigh, final DateTime[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final short[] x, final short[] xLow, final short[] xHigh, final Instant[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3468,7 +3468,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final int[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final int[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3480,7 +3480,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final int[] x, final int[] xLow, final int[] xHigh, final DateTime[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final int[] x, final int[] xLow, final int[] xHigh, final Instant[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3492,7 +3492,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final long[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final long[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3504,7 +3504,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final long[] x, final long[] xLow, final long[] xHigh, final DateTime[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final long[] x, final long[] xLow, final long[] xHigh, final Instant[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3516,7 +3516,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final float[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final float[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3528,7 +3528,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final float[] x, final float[] xLow, final float[] xHigh, final DateTime[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final float[] x, final float[] xLow, final float[] xHigh, final Instant[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3540,7 +3540,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final double[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final double[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3552,7 +3552,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param y y-values * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final double[] x, final double[] xLow, final double[] xHigh, final DateTime[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final double[] x, final double[] xLow, final double[] xHigh, final Instant[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3565,7 +3565,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final T3[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final T3[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3580,7 +3580,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final T0[] x, final T1[] xLow, final T2[] xHigh, final DateTime[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final T0[] x, final T1[] xLow, final T2[] xHigh, final Instant[] y); /** * Creates an XY plot with error bars in the x direction. @@ -3593,7 +3593,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final List y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final List y); /** * Creates an XY plot with error bars in the x direction. @@ -3608,7 +3608,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarX(final Comparable seriesName, final List x, final List xLow, final List xHigh, final DateTime[] y); + XYErrorBarDataSeries errorBarX(final Comparable seriesName, final List x, final List xLow, final List xHigh, final Instant[] y); /** * Creates an XY plot with error bars in the y direction. @@ -3724,7 +3724,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final DateTime[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final Instant[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -3912,7 +3912,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final DateTime[] x, final short[] y, final short[] yLow, final short[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final Instant[] x, final short[] y, final short[] yLow, final short[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -3924,7 +3924,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final short[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final short[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -3936,7 +3936,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final DateTime[] x, final int[] y, final int[] yLow, final int[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final Instant[] x, final int[] y, final int[] yLow, final int[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -3948,7 +3948,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final int[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final int[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -3960,7 +3960,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final DateTime[] x, final long[] y, final long[] yLow, final long[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final Instant[] x, final long[] y, final long[] yLow, final long[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -3972,7 +3972,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final long[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final long[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -3984,7 +3984,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final DateTime[] x, final float[] y, final float[] yLow, final float[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final Instant[] x, final float[] y, final float[] yLow, final float[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -3996,7 +3996,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final float[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final float[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -4008,7 +4008,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final DateTime[] x, final double[] y, final double[] yLow, final double[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final Instant[] x, final double[] y, final double[] yLow, final double[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -4020,7 +4020,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param yHigh high value in y dimension * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final double[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final double[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -4035,7 +4035,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final DateTime[] x, final T1[] y, final T2[] yLow, final T3[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final Instant[] x, final T1[] y, final T2[] yLow, final T3[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -4048,7 +4048,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final T0[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final T0[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -4063,7 +4063,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final DateTime[] x, final List y, final List yLow, final List yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final Instant[] x, final List y, final List yLow, final List yHigh); /** * Creates an XY plot with error bars in the y direction. @@ -4076,7 +4076,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param data type * @return dataset created by the plot */ - XYErrorBarDataSeries errorBarY(final Comparable seriesName, final List x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + XYErrorBarDataSeries errorBarY(final Comparable seriesName, final List x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates a category error bar plot with whiskers in the y direction. @@ -4296,7 +4296,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param type of the categorical data * @return dataset created by the plot */ - CategoryDataSeries catErrorBar(final Comparable seriesName, final T0[] categories, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh); + CategoryDataSeries catErrorBar(final Comparable seriesName, final T0[] categories, final Instant[] y, final Instant[] yLow, final Instant[] yHigh); /** * Creates a plot with discrete axis. @@ -4320,7 +4320,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param type of the categorical data * @return dataset created for plot */ - CategoryDataSeries catPlot(final Comparable seriesName, final T0[] categories, final DateTime[] y); + CategoryDataSeries catPlot(final Comparable seriesName, final T0[] categories, final Instant[] y); /** * Creates a plot with discrete axis. @@ -4430,7 +4430,7 @@ CategoryDataSeries piePlot(final Comparable seriesName, final SelectableDataSet * @param type of the categorical data * @return dataset created for plot */ - CategoryDataSeries catPlot(final Comparable seriesName, final List categories, final DateTime[] y); + CategoryDataSeries catPlot(final Comparable seriesName, final List categories, final Instant[] y); /** * Creates a plot with discrete axis. diff --git a/Plot/src/main/java/io/deephaven/plot/AxesImpl.java b/Plot/src/main/java/io/deephaven/plot/AxesImpl.java index f3f6b1d1183..c01869e8b51 100644 --- a/Plot/src/main/java/io/deephaven/plot/AxesImpl.java +++ b/Plot/src/main/java/io/deephaven/plot/AxesImpl.java @@ -4,11 +4,9 @@ package io.deephaven.plot; import io.deephaven.api.ColumnName; -import io.deephaven.api.Selectable; import io.deephaven.api.agg.Aggregation; import io.deephaven.datastructures.util.CollectionUtil; import io.deephaven.engine.table.impl.MemoizedOperationKey; -import io.deephaven.engine.table.impl.select.SelectColumn; import io.deephaven.plot.axisformatters.AxisFormat; import io.deephaven.plot.axisformatters.NanosAxisFormat; import io.deephaven.plot.axistransformations.AxisTransform; @@ -43,7 +41,7 @@ import io.deephaven.plot.util.tables.*; import io.deephaven.engine.table.Table; import io.deephaven.engine.table.TableDefinition; -import io.deephaven.time.DateTime; +import java.time.Instant; import io.deephaven.gui.color.Color; import io.deephaven.gui.color.Paint; import io.deephaven.time.calendar.BusinessCalendar; @@ -1911,8 +1909,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return plot(seriesName, new IndexableNumericDataArrayDate(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), true, true); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final Date[] x, final DateTime[] y) { - return plot(seriesName, new IndexableNumericDataArrayDate(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true, true); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final Date[] x, final Instant[] y) { + return plot(seriesName, new IndexableNumericDataArrayDate(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true, true); } @Override public XYDataSeriesArray plot(final Comparable seriesName, final Date[] x, final short[] y) { @@ -1943,48 +1941,48 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return plot(seriesName, new IndexableNumericDataArrayDate(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(y, new PlotInfo(this, seriesName)), true, false); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final DateTime[] x, final Date[] y) { - return plot(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), true, true); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final Instant[] x, final Date[] y) { + return plot(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), true, true); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final DateTime[] x, final DateTime[] y) { - return plot(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true, true); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final Instant[] x, final Instant[] y) { + return plot(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true, true); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final DateTime[] x, final short[] y) { - return plot(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(y, new PlotInfo(this, seriesName)), true, false); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final Instant[] x, final short[] y) { + return plot(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(y, new PlotInfo(this, seriesName)), true, false); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final DateTime[] x, final int[] y) { - return plot(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(y, new PlotInfo(this, seriesName)), true, false); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final Instant[] x, final int[] y) { + return plot(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(y, new PlotInfo(this, seriesName)), true, false); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final DateTime[] x, final long[] y) { - return plot(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(y, new PlotInfo(this, seriesName)), true, false); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final Instant[] x, final long[] y) { + return plot(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(y, new PlotInfo(this, seriesName)), true, false); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final DateTime[] x, final float[] y) { - return plot(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(y, new PlotInfo(this, seriesName)), true, false); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final Instant[] x, final float[] y) { + return plot(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(y, new PlotInfo(this, seriesName)), true, false); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final DateTime[] x, final double[] y) { - return plot(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(y, new PlotInfo(this, seriesName)), true, false); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final Instant[] x, final double[] y) { + return plot(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(y, new PlotInfo(this, seriesName)), true, false); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final DateTime[] x, final T1[] y) { - return plot(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(y, new PlotInfo(this, seriesName)), true, false); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final Instant[] x, final T1[] y) { + return plot(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(y, new PlotInfo(this, seriesName)), true, false); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final DateTime[] x, final List y) { - return plot(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(y, new PlotInfo(this, seriesName)), true, false); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final Instant[] x, final List y) { + return plot(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(y, new PlotInfo(this, seriesName)), true, false); } @Override public XYDataSeriesArray plot(final Comparable seriesName, final short[] x, final Date[] y) { return plot(seriesName, new IndexableNumericDataArrayShort(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), false, true); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final short[] x, final DateTime[] y) { - return plot(seriesName, new IndexableNumericDataArrayShort(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), false, true); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final short[] x, final Instant[] y) { + return plot(seriesName, new IndexableNumericDataArrayShort(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), false, true); } @Override public XYDataSeriesArray plot(final Comparable seriesName, final short[] x, final short[] y) { @@ -2019,8 +2017,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return plot(seriesName, new IndexableNumericDataArrayInt(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), false, true); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final int[] x, final DateTime[] y) { - return plot(seriesName, new IndexableNumericDataArrayInt(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), false, true); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final int[] x, final Instant[] y) { + return plot(seriesName, new IndexableNumericDataArrayInt(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), false, true); } @Override public XYDataSeriesArray plot(final Comparable seriesName, final int[] x, final short[] y) { @@ -2055,8 +2053,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return plot(seriesName, new IndexableNumericDataArrayLong(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), false, true); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final long[] x, final DateTime[] y) { - return plot(seriesName, new IndexableNumericDataArrayLong(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), false, true); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final long[] x, final Instant[] y) { + return plot(seriesName, new IndexableNumericDataArrayLong(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), false, true); } @Override public XYDataSeriesArray plot(final Comparable seriesName, final long[] x, final short[] y) { @@ -2091,8 +2089,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return plot(seriesName, new IndexableNumericDataArrayFloat(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), false, true); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final float[] x, final DateTime[] y) { - return plot(seriesName, new IndexableNumericDataArrayFloat(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), false, true); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final float[] x, final Instant[] y) { + return plot(seriesName, new IndexableNumericDataArrayFloat(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), false, true); } @Override public XYDataSeriesArray plot(final Comparable seriesName, final float[] x, final short[] y) { @@ -2127,8 +2125,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return plot(seriesName, new IndexableNumericDataArrayDouble(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), false, true); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final double[] x, final DateTime[] y) { - return plot(seriesName, new IndexableNumericDataArrayDouble(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), false, true); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final double[] x, final Instant[] y) { + return plot(seriesName, new IndexableNumericDataArrayDouble(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), false, true); } @Override public XYDataSeriesArray plot(final Comparable seriesName, final double[] x, final short[] y) { @@ -2163,8 +2161,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return plot(seriesName, new IndexableNumericDataArrayNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), false, true); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final T0[] x, final DateTime[] y) { - return plot(seriesName, new IndexableNumericDataArrayNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), false, true); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final T0[] x, final Instant[] y) { + return plot(seriesName, new IndexableNumericDataArrayNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), false, true); } @Override public XYDataSeriesArray plot(final Comparable seriesName, final T0[] x, final short[] y) { @@ -2199,8 +2197,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return plot(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), false, true); } - @Override public XYDataSeriesArray plot(final Comparable seriesName, final List x, final DateTime[] y) { - return plot(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), false, true); + @Override public XYDataSeriesArray plot(final Comparable seriesName, final List x, final Instant[] y) { + return plot(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), false, true); } @Override public XYDataSeriesArray plot(final Comparable seriesName, final List x, final short[] y) { @@ -2235,56 +2233,56 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return ohlcPlot(seriesName, new IndexableNumericDataArrayDate(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(close, new PlotInfo(this, seriesName))); } - @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final DateTime[] time, final short[] open, final short[] high, final short[] low, final short[] close) { - return ohlcPlot(seriesName, new IndexableNumericDataArrayDateTime(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(close, new PlotInfo(this, seriesName))); + @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Instant[] time, final short[] open, final short[] high, final short[] low, final short[] close) { + return ohlcPlot(seriesName, new IndexableNumericDataArrayInstant(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(close, new PlotInfo(this, seriesName))); } @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Date[] time, final int[] open, final int[] high, final int[] low, final int[] close) { return ohlcPlot(seriesName, new IndexableNumericDataArrayDate(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(close, new PlotInfo(this, seriesName))); } - @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final DateTime[] time, final int[] open, final int[] high, final int[] low, final int[] close) { - return ohlcPlot(seriesName, new IndexableNumericDataArrayDateTime(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(close, new PlotInfo(this, seriesName))); + @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Instant[] time, final int[] open, final int[] high, final int[] low, final int[] close) { + return ohlcPlot(seriesName, new IndexableNumericDataArrayInstant(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(close, new PlotInfo(this, seriesName))); } @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Date[] time, final long[] open, final long[] high, final long[] low, final long[] close) { return ohlcPlot(seriesName, new IndexableNumericDataArrayDate(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(close, new PlotInfo(this, seriesName))); } - @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final DateTime[] time, final long[] open, final long[] high, final long[] low, final long[] close) { - return ohlcPlot(seriesName, new IndexableNumericDataArrayDateTime(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(close, new PlotInfo(this, seriesName))); + @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Instant[] time, final long[] open, final long[] high, final long[] low, final long[] close) { + return ohlcPlot(seriesName, new IndexableNumericDataArrayInstant(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(close, new PlotInfo(this, seriesName))); } @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Date[] time, final float[] open, final float[] high, final float[] low, final float[] close) { return ohlcPlot(seriesName, new IndexableNumericDataArrayDate(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(close, new PlotInfo(this, seriesName))); } - @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final DateTime[] time, final float[] open, final float[] high, final float[] low, final float[] close) { - return ohlcPlot(seriesName, new IndexableNumericDataArrayDateTime(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(close, new PlotInfo(this, seriesName))); + @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Instant[] time, final float[] open, final float[] high, final float[] low, final float[] close) { + return ohlcPlot(seriesName, new IndexableNumericDataArrayInstant(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(close, new PlotInfo(this, seriesName))); } @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Date[] time, final double[] open, final double[] high, final double[] low, final double[] close) { return ohlcPlot(seriesName, new IndexableNumericDataArrayDate(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(close, new PlotInfo(this, seriesName))); } - @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final DateTime[] time, final double[] open, final double[] high, final double[] low, final double[] close) { - return ohlcPlot(seriesName, new IndexableNumericDataArrayDateTime(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(close, new PlotInfo(this, seriesName))); + @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Instant[] time, final double[] open, final double[] high, final double[] low, final double[] close) { + return ohlcPlot(seriesName, new IndexableNumericDataArrayInstant(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(close, new PlotInfo(this, seriesName))); } @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Date[] time, final T1[] open, final T2[] high, final T3[] low, final T4[] close) { return ohlcPlot(seriesName, new IndexableNumericDataArrayDate(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(close, new PlotInfo(this, seriesName))); } - @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final DateTime[] time, final T1[] open, final T2[] high, final T3[] low, final T4[] close) { - return ohlcPlot(seriesName, new IndexableNumericDataArrayDateTime(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(close, new PlotInfo(this, seriesName))); + @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Instant[] time, final T1[] open, final T2[] high, final T3[] low, final T4[] close) { + return ohlcPlot(seriesName, new IndexableNumericDataArrayInstant(time, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(open, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(high, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(low, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(close, new PlotInfo(this, seriesName))); } @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Date[] time, final List open, final List high, final List low, final List close) { return ohlcPlot(seriesName, new IndexableNumericDataArrayDate(time, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(open, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(high, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(low, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(close, new PlotInfo(this, seriesName))); } - @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final DateTime[] time, final List open, final List high, final List low, final List close) { - return ohlcPlot(seriesName, new IndexableNumericDataArrayDateTime(time, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(open, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(high, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(low, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(close, new PlotInfo(this, seriesName))); + @Override public OHLCDataSeriesArray ohlcPlot(final Comparable seriesName, final Instant[] time, final List open, final List high, final List low, final List close) { + return ohlcPlot(seriesName, new IndexableNumericDataArrayInstant(time, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(open, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(high, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(low, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(close, new PlotInfo(this, seriesName))); } @Override public IntervalXYDataSeriesArray histPlot(final Comparable seriesName, final short[] x, final int nbins) { @@ -2375,8 +2373,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return errorBarXY(seriesName, new IndexableNumericDataArrayDate(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(yHigh, new PlotInfo(this, seriesName)), true, true, true, true); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), true, true, true, true); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), true, true, true, true); } @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final Date[] x, final Date[] xLow, final Date[] xHigh, final short[] y, final short[] yLow, final short[] yHigh) { @@ -2435,60 +2433,60 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return errorBarXY(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final short[] y, final short[] yLow, final short[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final short[] y, final short[] yLow, final short[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final short[] x, final short[] xLow, final short[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayShort(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final short[] x, final short[] xLow, final short[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayShort(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final int[] y, final int[] yLow, final int[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final int[] y, final int[] yLow, final int[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final int[] x, final int[] xLow, final int[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayInt(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final int[] x, final int[] xLow, final int[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayInt(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final long[] y, final long[] yLow, final long[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final long[] y, final long[] yLow, final long[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final long[] x, final long[] xLow, final long[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayLong(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final long[] x, final long[] xLow, final long[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayLong(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final float[] y, final float[] yLow, final float[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final float[] y, final float[] yLow, final float[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final float[] x, final float[] xLow, final float[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayFloat(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final float[] x, final float[] xLow, final float[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayFloat(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final double[] y, final double[] yLow, final double[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final double[] y, final double[] yLow, final double[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final double[] x, final double[] xLow, final double[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayDouble(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final double[] x, final double[] xLow, final double[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayDouble(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final T3[] y, final T4[] yLow, final T5[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final T3[] y, final T4[] yLow, final T5[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final T0[] x, final T1[] xLow, final T2[] xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final T0[] x, final T1[] xLow, final T2[] xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final List y, final List yLow, final List yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(y, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final List y, final List yLow, final List yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(y, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(yHigh, new PlotInfo(this, seriesName)), true, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final List x, final List xLow, final List xHigh, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarXY(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarXY(final Comparable seriesName, final List x, final List xLow, final List xHigh, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarXY(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), true, true, false, true); } @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final short[] x, final short[] xLow, final short[] xHigh, final short[] y) { @@ -2523,8 +2521,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return errorBarX(seriesName, new IndexableNumericDataArrayDate(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), true, false, true, true); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final DateTime[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true, false, true, true); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final Instant[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true, false, true, true); } @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final Date[] x, final Date[] xLow, final Date[] xHigh, final short[] y) { @@ -2583,60 +2581,60 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return errorBarX(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), true, false, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final short[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(y, new PlotInfo(this, seriesName)), true, false, true, false); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final short[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(y, new PlotInfo(this, seriesName)), true, false, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final short[] x, final short[] xLow, final short[] xHigh, final DateTime[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayShort(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true, false, false, true); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final short[] x, final short[] xLow, final short[] xHigh, final Instant[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayShort(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true, false, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final int[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(y, new PlotInfo(this, seriesName)), true, false, true, false); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final int[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(y, new PlotInfo(this, seriesName)), true, false, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final int[] x, final int[] xLow, final int[] xHigh, final DateTime[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayInt(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true, false, false, true); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final int[] x, final int[] xLow, final int[] xHigh, final Instant[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayInt(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true, false, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final long[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(y, new PlotInfo(this, seriesName)), true, false, true, false); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final long[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(y, new PlotInfo(this, seriesName)), true, false, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final long[] x, final long[] xLow, final long[] xHigh, final DateTime[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayLong(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true, false, false, true); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final long[] x, final long[] xLow, final long[] xHigh, final Instant[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayLong(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true, false, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final float[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(y, new PlotInfo(this, seriesName)), true, false, true, false); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final float[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(y, new PlotInfo(this, seriesName)), true, false, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final float[] x, final float[] xLow, final float[] xHigh, final DateTime[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayFloat(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true, false, false, true); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final float[] x, final float[] xLow, final float[] xHigh, final Instant[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayFloat(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true, false, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final double[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(y, new PlotInfo(this, seriesName)), true, false, true, false); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final double[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(y, new PlotInfo(this, seriesName)), true, false, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final double[] x, final double[] xLow, final double[] xHigh, final DateTime[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayDouble(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true, false, false, true); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final double[] x, final double[] xLow, final double[] xHigh, final Instant[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayDouble(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true, false, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final T3[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(y, new PlotInfo(this, seriesName)), true, false, true, false); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final T3[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(y, new PlotInfo(this, seriesName)), true, false, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final T0[] x, final T1[] xLow, final T2[] xHigh, final DateTime[] y) { - return errorBarX(seriesName, new IndexableNumericDataArrayNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true, false, false, true); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final T0[] x, final T1[] xLow, final T2[] xHigh, final Instant[] y) { + return errorBarX(seriesName, new IndexableNumericDataArrayNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true, false, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final DateTime[] x, final DateTime[] xLow, final DateTime[] xHigh, final List y) { - return errorBarX(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(y, new PlotInfo(this, seriesName)), true, false, true, false); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final Instant[] x, final Instant[] xLow, final Instant[] xHigh, final List y) { + return errorBarX(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(y, new PlotInfo(this, seriesName)), true, false, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final List x, final List xLow, final List xHigh, final DateTime[] y) { - return errorBarX(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true, false, false, true); + @Override public XYErrorBarDataSeriesArray errorBarX(final Comparable seriesName, final List x, final List xLow, final List xHigh, final Instant[] y) { + return errorBarX(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xLow, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(xHigh, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true, false, false, true); } @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final short[] x, final short[] y, final short[] yLow, final short[] yHigh) { @@ -2671,8 +2669,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return errorBarY(seriesName, new IndexableNumericDataArrayDate(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(yHigh, new PlotInfo(this, seriesName)), false, true, true, true); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final DateTime[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), false, true, true, true); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final Instant[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), false, true, true, true); } @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final Date[] x, final short[] y, final short[] yLow, final short[] yHigh) { @@ -2731,60 +2729,60 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return errorBarY(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final DateTime[] x, final short[] y, final short[] yLow, final short[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final Instant[] x, final short[] y, final short[] yLow, final short[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayShort(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final short[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayShort(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final short[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayShort(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final DateTime[] x, final int[] y, final int[] yLow, final int[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final Instant[] x, final int[] y, final int[] yLow, final int[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInt(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final int[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayInt(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final int[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayInt(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final DateTime[] x, final long[] y, final long[] yLow, final long[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final Instant[] x, final long[] y, final long[] yLow, final long[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayLong(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final long[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayLong(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final long[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayLong(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final DateTime[] x, final float[] y, final float[] yLow, final float[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final Instant[] x, final float[] y, final float[] yLow, final float[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayFloat(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final float[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayFloat(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final float[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayFloat(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final DateTime[] x, final double[] y, final double[] yLow, final double[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final Instant[] x, final double[] y, final double[] yLow, final double[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDouble(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final double[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayDouble(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final double[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayDouble(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final DateTime[] x, final T1[] y, final T2[] yLow, final T3[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final Instant[] x, final T1[] y, final T2[] yLow, final T3[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayNumber<>(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final T0[] x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final T0[] x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final DateTime[] x, final List y, final List yLow, final List yHigh) { - return errorBarY(seriesName, new IndexableNumericDataArrayDateTime(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(y, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final Instant[] x, final List y, final List yLow, final List yHigh) { + return errorBarY(seriesName, new IndexableNumericDataArrayInstant(x, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(y, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataListNumber<>(yHigh, new PlotInfo(this, seriesName)), false, true, true, false); } - @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final List x, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return errorBarY(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); + @Override public XYErrorBarDataSeriesArray errorBarY(final Comparable seriesName, final List x, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return errorBarY(seriesName, new IndexableNumericDataListNumber<>(x, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName)), false, true, false, true); } @Override public CategoryDataSeriesInternal catErrorBar(final Comparable seriesName, final T0[] categories, final short[] y, final short[] yLow, final short[] yHigh) { @@ -2847,16 +2845,16 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return catPlot(new CategoryErrorBarDataSeriesMap(this, dataSeries.nextId(), seriesName, new IndexableDataArray<>(categories, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(yHigh, new PlotInfo(this, seriesName))), null, null, true); } - @Override public CategoryDataSeriesInternal catErrorBar(final Comparable seriesName, final T0[] categories, final DateTime[] y, final DateTime[] yLow, final DateTime[] yHigh) { - return catPlot(new CategoryErrorBarDataSeriesMap(this, dataSeries.nextId(), seriesName, new IndexableDataArray<>(categories, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(yHigh, new PlotInfo(this, seriesName))), null, null, true); + @Override public CategoryDataSeriesInternal catErrorBar(final Comparable seriesName, final T0[] categories, final Instant[] y, final Instant[] yLow, final Instant[] yHigh) { + return catPlot(new CategoryErrorBarDataSeriesMap(this, dataSeries.nextId(), seriesName, new IndexableDataArray<>(categories, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yLow, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(yHigh, new PlotInfo(this, seriesName))), null, null, true); } @Override public CategoryDataSeriesInternal catPlot(final Comparable seriesName, final T0[] categories, final Date[] y) { return catPlot(seriesName, new IndexableDataArray<>(categories, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), true); } - @Override public CategoryDataSeriesInternal catPlot(final Comparable seriesName, final T0[] categories, final DateTime[] y) { - return catPlot(seriesName, new IndexableDataArray<>(categories, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true); + @Override public CategoryDataSeriesInternal catPlot(final Comparable seriesName, final T0[] categories, final Instant[] y) { + return catPlot(seriesName, new IndexableDataArray<>(categories, new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true); } @Override public CategoryDataSeriesInternal catPlot(final Comparable seriesName, final T0[] categories, final short[] y) { @@ -2891,8 +2889,8 @@ public CategoryDataSeries treemapPlot(Comparable seriesName, Table t, String ids return catPlot(seriesName, new IndexableDataArray<>(categories.toArray(new Comparable[categories.size()]), new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDate(y, new PlotInfo(this, seriesName)), true); } - @Override public CategoryDataSeriesInternal catPlot(final Comparable seriesName, final List categories, final DateTime[] y) { - return catPlot(seriesName, new IndexableDataArray<>(categories.toArray(new Comparable[categories.size()]), new PlotInfo(this, seriesName)), new IndexableNumericDataArrayDateTime(y, new PlotInfo(this, seriesName)), true); + @Override public CategoryDataSeriesInternal catPlot(final Comparable seriesName, final List categories, final Instant[] y) { + return catPlot(seriesName, new IndexableDataArray<>(categories.toArray(new Comparable[categories.size()]), new PlotInfo(this, seriesName)), new IndexableNumericDataArrayInstant(y, new PlotInfo(this, seriesName)), true); } @Override public CategoryDataSeriesInternal catPlot(final Comparable seriesName, final List categories, final short[] y) { diff --git a/Plot/src/main/java/io/deephaven/plot/Figure.java b/Plot/src/main/java/io/deephaven/plot/Figure.java index e57a7bd6a88..c7411e554bd 100644 --- a/Plot/src/main/java/io/deephaven/plot/Figure.java +++ b/Plot/src/main/java/io/deephaven/plot/Figure.java @@ -69,7 +69,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure catErrorBar( java.lang.Comparable seriesName, T0[] categories, long[] y, long[] yLow, long[] yHigh ); - @Override Figure catErrorBar( java.lang.Comparable seriesName, T0[] categories, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure catErrorBar( java.lang.Comparable seriesName, T0[] categories, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure catErrorBar( java.lang.Comparable seriesName, T0[] categories, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @@ -125,7 +125,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure catPlot( java.lang.Comparable seriesName, T0[] categories, long[] y ); - @Override Figure catPlot( java.lang.Comparable seriesName, T0[] categories, io.deephaven.time.DateTime[] y ); + @Override Figure catPlot( java.lang.Comparable seriesName, T0[] categories, java.time.Instant[] y ); @Override Figure catPlot( java.lang.Comparable seriesName, T0[] categories, java.util.Date[] y ); @@ -145,7 +145,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure catPlot( java.lang.Comparable seriesName, java.util.List categories, long[] y ); - @Override Figure catPlot( java.lang.Comparable seriesName, java.util.List categories, io.deephaven.time.DateTime[] y ); + @Override Figure catPlot( java.lang.Comparable seriesName, java.util.List categories, java.time.Instant[] y ); @Override Figure catPlot( java.lang.Comparable seriesName, java.util.List categories, java.util.Date[] y ); @@ -193,49 +193,49 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure errorBarX( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, T3[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, io.deephaven.time.DateTime[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, java.time.Instant[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, java.util.Date[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, double[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, io.deephaven.time.DateTime[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, java.time.Instant[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, java.util.Date[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, float[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, io.deephaven.time.DateTime[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, java.time.Instant[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, java.util.Date[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, int[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, io.deephaven.time.DateTime[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, java.time.Instant[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, java.util.Date[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, long[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, io.deephaven.time.DateTime[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, java.time.Instant[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, java.util.Date[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, T3[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, T3[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, double[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, double[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, float[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, float[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, int[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, int[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, long[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, long[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, io.deephaven.time.DateTime[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.time.Instant[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, short[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, short[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, java.util.List y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.util.List y ); @Override Figure errorBarX( java.lang.Comparable seriesName, java.util.Date[] x, java.util.Date[] xLow, java.util.Date[] xHigh, T3[] y ); @@ -253,13 +253,13 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure errorBarX( java.lang.Comparable seriesName, java.util.Date[] x, java.util.Date[] xLow, java.util.Date[] xHigh, java.util.List y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, io.deephaven.time.DateTime[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, java.time.Instant[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, java.util.Date[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, short[] y ); - @Override Figure errorBarX( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, io.deephaven.time.DateTime[] y ); + @Override Figure errorBarX( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, java.time.Instant[] y ); @Override Figure errorBarX( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, java.util.Date[] y ); @@ -275,49 +275,49 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure errorBarXY( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, T3[] y, T4[] yLow, T5[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, double[] y, double[] yLow, double[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, float[] y, float[] yLow, float[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, int[] y, int[] yLow, int[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, long[] y, long[] yLow, long[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, T3[] y, T4[] yLow, T5[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, T3[] y, T4[] yLow, T5[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, double[] y, double[] yLow, double[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, double[] y, double[] yLow, double[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, float[] y, float[] yLow, float[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, float[] y, float[] yLow, float[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, int[] y, int[] yLow, int[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, int[] y, int[] yLow, int[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, long[] y, long[] yLow, long[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, long[] y, long[] yLow, long[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, short[] y, short[] yLow, short[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, short[] y, short[] yLow, short[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, java.util.List y, java.util.List yLow, java.util.List yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.util.List y, java.util.List yLow, java.util.List yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, java.util.Date[] x, java.util.Date[] xLow, java.util.Date[] xHigh, T3[] y, T4[] yLow, T5[] yHigh ); @@ -335,13 +335,13 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure errorBarXY( java.lang.Comparable seriesName, java.util.Date[] x, java.util.Date[] xLow, java.util.Date[] xHigh, java.util.List y, java.util.List yLow, java.util.List yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, short[] y, short[] yLow, short[] yHigh ); - @Override Figure errorBarXY( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarXY( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarXY( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @@ -357,49 +357,49 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure errorBarY( java.lang.Comparable seriesName, T0[] x, T1[] y, T2[] yLow, T3[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, T0[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, T0[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, T0[] x, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, double[] x, double[] y, double[] yLow, double[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, double[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, double[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, double[] x, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, float[] x, float[] y, float[] yLow, float[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, float[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, float[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, float[] x, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, int[] x, int[] y, int[] yLow, int[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, int[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, int[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, int[] x, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, long[] x, long[] y, long[] yLow, long[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, long[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, long[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, long[] x, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, T1[] y, T2[] yLow, T3[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, T1[] y, T2[] yLow, T3[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, double[] y, double[] yLow, double[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, double[] y, double[] yLow, double[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, float[] y, float[] yLow, float[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, float[] y, float[] yLow, float[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, int[] y, int[] yLow, int[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, int[] y, int[] yLow, int[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, long[] y, long[] yLow, long[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, long[] y, long[] yLow, long[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, short[] y, short[] yLow, short[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, short[] y, short[] yLow, short[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, java.util.List y, java.util.List yLow, java.util.List yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, java.util.List y, java.util.List yLow, java.util.List yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, java.util.Date[] x, T1[] y, T2[] yLow, T3[] yHigh ); @@ -417,13 +417,13 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure errorBarY( java.lang.Comparable seriesName, java.util.Date[] x, java.util.List y, java.util.List yLow, java.util.List yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, short[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, short[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, short[] x, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, short[] x, short[] y, short[] yLow, short[] yHigh ); - @Override Figure errorBarY( java.lang.Comparable seriesName, java.util.List x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ); + @Override Figure errorBarY( java.lang.Comparable seriesName, java.util.List x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ); @Override Figure errorBarY( java.lang.Comparable seriesName, java.util.List x, java.util.Date[] y, java.util.Date[] yLow, java.util.Date[] yHigh ); @@ -535,19 +535,19 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure newChart( int rowNum, int colNum ); - @Override Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, T1[] open, T2[] high, T3[] low, T4[] close ); + @Override Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, T1[] open, T2[] high, T3[] low, T4[] close ); - @Override Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, double[] open, double[] high, double[] low, double[] close ); + @Override Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, double[] open, double[] high, double[] low, double[] close ); - @Override Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, float[] open, float[] high, float[] low, float[] close ); + @Override Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, float[] open, float[] high, float[] low, float[] close ); - @Override Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, int[] open, int[] high, int[] low, int[] close ); + @Override Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, int[] open, int[] high, int[] low, int[] close ); - @Override Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, long[] open, long[] high, long[] low, long[] close ); + @Override Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, long[] open, long[] high, long[] low, long[] close ); - @Override Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, short[] open, short[] high, short[] low, short[] close ); + @Override Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, short[] open, short[] high, short[] low, short[] close ); - @Override Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, java.util.List open, java.util.List high, java.util.List low, java.util.List close ); + @Override Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, java.util.List open, java.util.List high, java.util.List low, java.util.List close ); @Override Figure ohlcPlot( java.lang.Comparable seriesName, java.util.Date[] time, T1[] open, T2[] high, T3[] low, T4[] close ); @@ -621,7 +621,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure plot( java.lang.Comparable seriesName, T0[] x, long[] y ); - @Override Figure plot( java.lang.Comparable seriesName, T0[] x, io.deephaven.time.DateTime[] y ); + @Override Figure plot( java.lang.Comparable seriesName, T0[] x, java.time.Instant[] y ); @Override Figure plot( java.lang.Comparable seriesName, T0[] x, java.util.Date[] y ); @@ -639,7 +639,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure plot( java.lang.Comparable seriesName, double[] x, long[] y ); - @Override Figure plot( java.lang.Comparable seriesName, double[] x, io.deephaven.time.DateTime[] y ); + @Override Figure plot( java.lang.Comparable seriesName, double[] x, java.time.Instant[] y ); @Override Figure plot( java.lang.Comparable seriesName, double[] x, java.util.Date[] y ); @@ -657,7 +657,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure plot( java.lang.Comparable seriesName, float[] x, long[] y ); - @Override Figure plot( java.lang.Comparable seriesName, float[] x, io.deephaven.time.DateTime[] y ); + @Override Figure plot( java.lang.Comparable seriesName, float[] x, java.time.Instant[] y ); @Override Figure plot( java.lang.Comparable seriesName, float[] x, java.util.Date[] y ); @@ -675,7 +675,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure plot( java.lang.Comparable seriesName, int[] x, long[] y ); - @Override Figure plot( java.lang.Comparable seriesName, int[] x, io.deephaven.time.DateTime[] y ); + @Override Figure plot( java.lang.Comparable seriesName, int[] x, java.time.Instant[] y ); @Override Figure plot( java.lang.Comparable seriesName, int[] x, java.util.Date[] y ); @@ -693,7 +693,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure plot( java.lang.Comparable seriesName, long[] x, long[] y ); - @Override Figure plot( java.lang.Comparable seriesName, long[] x, io.deephaven.time.DateTime[] y ); + @Override Figure plot( java.lang.Comparable seriesName, long[] x, java.time.Instant[] y ); @Override Figure plot( java.lang.Comparable seriesName, long[] x, java.util.Date[] y ); @@ -701,23 +701,23 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure plot( java.lang.Comparable seriesName, long[] x, java.util.List y ); - @Override Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, T1[] y ); + @Override Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, T1[] y ); - @Override Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, double[] y ); + @Override Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, double[] y ); - @Override Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, float[] y ); + @Override Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, float[] y ); - @Override Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, int[] y ); + @Override Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, int[] y ); - @Override Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, long[] y ); + @Override Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, long[] y ); - @Override Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] y ); + @Override Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] y ); - @Override Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, java.util.Date[] y ); + @Override Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, java.util.Date[] y ); - @Override Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, short[] y ); + @Override Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, short[] y ); - @Override Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, java.util.List y ); + @Override Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, java.util.List y ); @Override Figure plot( java.lang.Comparable seriesName, java.util.Date[] x, T1[] y ); @@ -729,7 +729,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure plot( java.lang.Comparable seriesName, java.util.Date[] x, long[] y ); - @Override Figure plot( java.lang.Comparable seriesName, java.util.Date[] x, io.deephaven.time.DateTime[] y ); + @Override Figure plot( java.lang.Comparable seriesName, java.util.Date[] x, java.time.Instant[] y ); @Override Figure plot( java.lang.Comparable seriesName, java.util.Date[] x, java.util.Date[] y ); @@ -747,7 +747,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure plot( java.lang.Comparable seriesName, short[] x, long[] y ); - @Override Figure plot( java.lang.Comparable seriesName, short[] x, io.deephaven.time.DateTime[] y ); + @Override Figure plot( java.lang.Comparable seriesName, short[] x, java.time.Instant[] y ); @Override Figure plot( java.lang.Comparable seriesName, short[] x, java.util.Date[] y ); @@ -765,7 +765,7 @@ public interface Figure extends java.io.Serializable, io.deephaven.plot.BaseFigu @Override Figure plot( java.lang.Comparable seriesName, java.util.List x, long[] y ); - @Override Figure plot( java.lang.Comparable seriesName, java.util.List x, io.deephaven.time.DateTime[] y ); + @Override Figure plot( java.lang.Comparable seriesName, java.util.List x, java.time.Instant[] y ); @Override Figure plot( java.lang.Comparable seriesName, java.util.List x, java.util.Date[] y ); diff --git a/Plot/src/main/java/io/deephaven/plot/FigureImpl.java b/Plot/src/main/java/io/deephaven/plot/FigureImpl.java index 451116a3113..5fe25773a52 100644 --- a/Plot/src/main/java/io/deephaven/plot/FigureImpl.java +++ b/Plot/src/main/java/io/deephaven/plot/FigureImpl.java @@ -36,10 +36,10 @@ import io.deephaven.plot.errors.PlotUnsupportedOperationException; import io.deephaven.plot.filters.SelectableDataSet; import io.deephaven.plot.util.PlotUtils; -import io.deephaven.time.DateTime; import io.deephaven.time.calendar.BusinessCalendar; import java.lang.Comparable; import java.lang.String; +import java.time.Instant; import java.util.Arrays; import java.util.Date; import java.util.HashMap; @@ -487,7 +487,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl catErrorBar( java.lang.Comparable seriesName, T0[] categories, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl catErrorBar( java.lang.Comparable seriesName, T0[] categories, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).catErrorBar( seriesName, categories, y, yLow, yHigh); return make(series); @@ -655,7 +655,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl catPlot( java.lang.Comparable seriesName, T0[] categories, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl catPlot( java.lang.Comparable seriesName, T0[] categories, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).catPlot( seriesName, categories, y); return make(series); @@ -715,7 +715,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl catPlot( java.lang.Comparable seriesName, java.util.List categories, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl catPlot( java.lang.Comparable seriesName, java.util.List categories, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).catPlot( seriesName, categories, y); return make(series); @@ -859,7 +859,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); @@ -877,7 +877,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); @@ -895,7 +895,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); @@ -913,7 +913,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); @@ -931,7 +931,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); @@ -943,49 +943,49 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, T3[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, T3[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, double[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, double[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, float[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, float[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, int[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, int[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, long[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, long[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, short[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, short[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, java.util.List y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.util.List y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); @@ -1039,7 +1039,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); @@ -1057,7 +1057,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl errorBarX( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarX( seriesName, x, xLow, xHigh, y); return make(series); @@ -1105,7 +1105,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); @@ -1123,7 +1123,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); @@ -1141,7 +1141,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); @@ -1159,7 +1159,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); @@ -1177,7 +1177,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); @@ -1189,49 +1189,49 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, T3[] y, T4[] yLow, T5[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, T3[] y, T4[] yLow, T5[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, double[] y, double[] yLow, double[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, double[] y, double[] yLow, double[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, float[] y, float[] yLow, float[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, float[] y, float[] yLow, float[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, int[] y, int[] yLow, int[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, int[] y, int[] yLow, int[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, long[] y, long[] yLow, long[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, long[] y, long[] yLow, long[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, short[] y, short[] yLow, short[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, short[] y, short[] yLow, short[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, java.util.List y, java.util.List yLow, java.util.List yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.util.List y, java.util.List yLow, java.util.List yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); @@ -1285,7 +1285,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); @@ -1303,7 +1303,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarXY( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh); return make(series); @@ -1351,7 +1351,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, T0[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, T0[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); @@ -1369,7 +1369,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, double[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, double[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); @@ -1387,7 +1387,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, float[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, float[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); @@ -1405,7 +1405,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, int[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, int[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); @@ -1423,7 +1423,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, long[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, long[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); @@ -1435,49 +1435,49 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, T1[] y, T2[] yLow, T3[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, T1[] y, T2[] yLow, T3[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, double[] y, double[] yLow, double[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, double[] y, double[] yLow, double[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, float[] y, float[] yLow, float[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, float[] y, float[] yLow, float[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, int[] y, int[] yLow, int[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, int[] y, int[] yLow, int[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, long[] y, long[] yLow, long[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, long[] y, long[] yLow, long[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, short[] y, short[] yLow, short[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, short[] y, short[] yLow, short[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, java.util.List y, java.util.List yLow, java.util.List yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, java.util.List y, java.util.List yLow, java.util.List yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); @@ -1531,7 +1531,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, short[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, short[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); @@ -1549,7 +1549,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, java.util.List x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + @Override public FigureImpl errorBarY( java.lang.Comparable seriesName, java.util.List x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).errorBarY( seriesName, x, y, yLow, yHigh); return make(series); @@ -1885,43 +1885,43 @@ private FigureImpl applyFunctionalProperties() { return make(chart); } - @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, T1[] open, T2[] high, T3[] low, T4[] close ) { + @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, T1[] open, T2[] high, T3[] low, T4[] close ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).ohlcPlot( seriesName, time, open, high, low, close); return make(series); } - @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, double[] open, double[] high, double[] low, double[] close ) { + @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, double[] open, double[] high, double[] low, double[] close ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).ohlcPlot( seriesName, time, open, high, low, close); return make(series); } - @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, float[] open, float[] high, float[] low, float[] close ) { + @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, float[] open, float[] high, float[] low, float[] close ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).ohlcPlot( seriesName, time, open, high, low, close); return make(series); } - @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, int[] open, int[] high, int[] low, int[] close ) { + @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, int[] open, int[] high, int[] low, int[] close ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).ohlcPlot( seriesName, time, open, high, low, close); return make(series); } - @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, long[] open, long[] high, long[] low, long[] close ) { + @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, long[] open, long[] high, long[] low, long[] close ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).ohlcPlot( seriesName, time, open, high, low, close); return make(series); } - @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, short[] open, short[] high, short[] low, short[] close ) { + @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, short[] open, short[] high, short[] low, short[] close ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).ohlcPlot( seriesName, time, open, high, low, close); return make(series); } - @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, java.util.List open, java.util.List high, java.util.List low, java.util.List close ) { + @Override public FigureImpl ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, java.util.List open, java.util.List high, java.util.List low, java.util.List close ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).ohlcPlot( seriesName, time, open, high, low, close); return make(series); @@ -2143,7 +2143,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, T0[] x, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, T0[] x, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); @@ -2197,7 +2197,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, double[] x, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, double[] x, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); @@ -2251,7 +2251,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, float[] x, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, float[] x, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); @@ -2305,7 +2305,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, int[] x, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, int[] x, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); @@ -2359,7 +2359,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, long[] x, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, long[] x, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); @@ -2383,55 +2383,55 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, T1[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.time.Instant[] x, T1[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, double[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.time.Instant[] x, double[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, float[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.time.Instant[] x, float[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, int[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.time.Instant[] x, int[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, long[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.time.Instant[] x, long[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, java.util.Date[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.time.Instant[] x, java.util.Date[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, short[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.time.Instant[] x, short[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, java.util.List y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.time.Instant[] x, java.util.List y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); @@ -2467,7 +2467,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, java.util.Date[] x, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.util.Date[] x, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); @@ -2521,7 +2521,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, short[] x, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, short[] x, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); @@ -2575,7 +2575,7 @@ private FigureImpl applyFunctionalProperties() { return make(series); } - @Override public FigureImpl plot( java.lang.Comparable seriesName, java.util.List x, io.deephaven.time.DateTime[] y ) { + @Override public FigureImpl plot( java.lang.Comparable seriesName, java.util.List x, java.time.Instant[] y ) { final BaseFigureImpl fc = this.figure.copy(); final DataSeriesInternal series = (DataSeriesInternal) axes(fc).plot( seriesName, x, y); return make(series); diff --git a/Plot/src/main/java/io/deephaven/plot/PlottingConvenience.java b/Plot/src/main/java/io/deephaven/plot/PlottingConvenience.java index 36a58b79e3a..3b266861ab7 100644 --- a/Plot/src/main/java/io/deephaven/plot/PlottingConvenience.java +++ b/Plot/src/main/java/io/deephaven/plot/PlottingConvenience.java @@ -28,9 +28,9 @@ import io.deephaven.plot.filters.SelectableDataSet; import io.deephaven.plot.filters.SelectableDataSetOneClick; import io.deephaven.plot.filters.Selectables; -import io.deephaven.time.DateTime; import java.lang.Comparable; import java.lang.String; +import java.time.Instant; import java.util.Date; import java.util.List; import java.util.function.DoubleUnaryOperator; @@ -463,7 +463,7 @@ public static io.deephaven.plot.Figure catErro /** * See {@link io.deephaven.plot.Figure#catErrorBar} **/ - public static io.deephaven.plot.Figure catErrorBar( java.lang.Comparable seriesName, T0[] categories, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure catErrorBar( java.lang.Comparable seriesName, T0[] categories, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().catErrorBar( seriesName, categories, y, yLow, yHigh ); } @@ -659,7 +659,7 @@ public static io.deephaven.plot.Figure catPlot /** * See {@link io.deephaven.plot.Figure#catPlot} **/ - public static io.deephaven.plot.Figure catPlot( java.lang.Comparable seriesName, T0[] categories, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure catPlot( java.lang.Comparable seriesName, T0[] categories, java.time.Instant[] y ) { return FigureFactory.figure().catPlot( seriesName, categories, y ); } @@ -729,7 +729,7 @@ public static io.deephaven.plot.Figure catPlot /** * See {@link io.deephaven.plot.Figure#catPlot} **/ - public static io.deephaven.plot.Figure catPlot( java.lang.Comparable seriesName, java.util.List categories, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure catPlot( java.lang.Comparable seriesName, java.util.List categories, java.time.Instant[] y ) { return FigureFactory.figure().catPlot( seriesName, categories, y ); } @@ -792,7 +792,7 @@ public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, java.time.Instant[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } @@ -813,7 +813,7 @@ public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, java.time.Instant[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } @@ -834,7 +834,7 @@ public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, java.time.Instant[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } @@ -855,7 +855,7 @@ public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, java.time.Instant[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } @@ -876,7 +876,7 @@ public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, java.time.Instant[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } @@ -890,56 +890,56 @@ public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, T3[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, T3[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, double[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, double[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, float[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, float[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, int[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, int[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, long[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, long[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.time.Instant[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, short[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, short[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, java.util.List y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.util.List y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } @@ -1002,7 +1002,7 @@ public static io.deephaven.plot.Figure errorBarX( /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, short[] x, short[] xLow, short[] xHigh, java.time.Instant[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } @@ -1023,7 +1023,7 @@ public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarX} **/ - public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure errorBarX( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, java.time.Instant[] y ) { return FigureFactory.figure().errorBarX( seriesName, x, xLow, xHigh, y ); } @@ -1079,7 +1079,7 @@ public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, T0[] x, T1[] xLow, T2[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } @@ -1100,7 +1100,7 @@ public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesN /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, double[] x, double[] xLow, double[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } @@ -1121,7 +1121,7 @@ public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesN /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, float[] x, float[] xLow, float[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } @@ -1142,7 +1142,7 @@ public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesN /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, int[] x, int[] xLow, int[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } @@ -1163,7 +1163,7 @@ public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesN /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, long[] x, long[] xLow, long[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } @@ -1177,56 +1177,56 @@ public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesN /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, T3[] y, T4[] yLow, T5[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, T3[] y, T4[] yLow, T5[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, double[] y, double[] yLow, double[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, double[] y, double[] yLow, double[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, float[] y, float[] yLow, float[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, float[] y, float[] yLow, float[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, int[] y, int[] yLow, int[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, int[] y, int[] yLow, int[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, long[] y, long[] yLow, long[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, long[] y, long[] yLow, long[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, short[] y, short[] yLow, short[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, short[] y, short[] yLow, short[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarXY} **/ - public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] xLow, io.deephaven.time.DateTime[] xHigh, java.util.List y, java.util.List yLow, java.util.List yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] xLow, java.time.Instant[] xHigh, java.util.List y, java.util.List yLow, java.util.List yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } @@ -1289,7 +1289,7 @@ public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarXY( java.lang.Comparable seriesName, java.util.List x, java.util.List xLow, java.util.List xHigh, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarXY( seriesName, x, xLow, xHigh, y, yLow, yHigh ); } @@ -1366,7 +1366,7 @@ public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, T0[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, T0[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } @@ -1387,7 +1387,7 @@ public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, double[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, double[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } @@ -1408,7 +1408,7 @@ public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, float[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, float[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } @@ -1429,7 +1429,7 @@ public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, int[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, int[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } @@ -1450,7 +1450,7 @@ public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, long[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, long[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } @@ -1464,56 +1464,56 @@ public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesNa /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, T1[] y, T2[] yLow, T3[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, T1[] y, T2[] yLow, T3[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, double[] y, double[] yLow, double[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, double[] y, double[] yLow, double[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, float[] y, float[] yLow, float[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, float[] y, float[] yLow, float[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, int[] y, int[] yLow, int[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, int[] y, int[] yLow, int[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, long[] y, long[] yLow, long[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, long[] y, long[] yLow, long[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, short[] y, short[] yLow, short[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, short[] y, short[] yLow, short[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } /** * See {@link io.deephaven.plot.Figure#errorBarY} **/ - public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, java.util.List y, java.util.List yLow, java.util.List yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, java.time.Instant[] x, java.util.List y, java.util.List yLow, java.util.List yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } @@ -1576,7 +1576,7 @@ public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, java.util.List x, io.deephaven.time.DateTime[] y, io.deephaven.time.DateTime[] yLow, io.deephaven.time.DateTime[] yHigh ) { + public static io.deephaven.plot.Figure errorBarY( java.lang.Comparable seriesName, java.util.List x, java.time.Instant[] y, java.time.Instant[] yLow, java.time.Instant[] yHigh ) { return FigureFactory.figure().errorBarY( seriesName, x, y, yLow, yHigh ); } @@ -1828,49 +1828,49 @@ public static io.deephaven.plot.Figure newChart( int rowNum, int colNum ) { /** * See {@link io.deephaven.plot.Figure#ohlcPlot} **/ - public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, T1[] open, T2[] high, T3[] low, T4[] close ) { + public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, T1[] open, T2[] high, T3[] low, T4[] close ) { return FigureFactory.figure().ohlcPlot( seriesName, time, open, high, low, close ); } /** * See {@link io.deephaven.plot.Figure#ohlcPlot} **/ - public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, double[] open, double[] high, double[] low, double[] close ) { + public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, double[] open, double[] high, double[] low, double[] close ) { return FigureFactory.figure().ohlcPlot( seriesName, time, open, high, low, close ); } /** * See {@link io.deephaven.plot.Figure#ohlcPlot} **/ - public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, float[] open, float[] high, float[] low, float[] close ) { + public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, float[] open, float[] high, float[] low, float[] close ) { return FigureFactory.figure().ohlcPlot( seriesName, time, open, high, low, close ); } /** * See {@link io.deephaven.plot.Figure#ohlcPlot} **/ - public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, int[] open, int[] high, int[] low, int[] close ) { + public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, int[] open, int[] high, int[] low, int[] close ) { return FigureFactory.figure().ohlcPlot( seriesName, time, open, high, low, close ); } /** * See {@link io.deephaven.plot.Figure#ohlcPlot} **/ - public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, long[] open, long[] high, long[] low, long[] close ) { + public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, long[] open, long[] high, long[] low, long[] close ) { return FigureFactory.figure().ohlcPlot( seriesName, time, open, high, low, close ); } /** * See {@link io.deephaven.plot.Figure#ohlcPlot} **/ - public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, short[] open, short[] high, short[] low, short[] close ) { + public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, short[] open, short[] high, short[] low, short[] close ) { return FigureFactory.figure().ohlcPlot( seriesName, time, open, high, low, close ); } /** * See {@link io.deephaven.plot.Figure#ohlcPlot} **/ - public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] time, java.util.List open, java.util.List high, java.util.List low, java.util.List close ) { + public static io.deephaven.plot.Figure ohlcPlot( java.lang.Comparable seriesName, java.time.Instant[] time, java.util.List open, java.util.List high, java.util.List low, java.util.List close ) { return FigureFactory.figure().ohlcPlot( seriesName, time, open, high, low, close ); } @@ -2129,7 +2129,7 @@ public static io.deephaven.plot.Figure plot( java. /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, T0[] x, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, T0[] x, java.time.Instant[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } @@ -2192,7 +2192,7 @@ public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, d /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, double[] x, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, double[] x, java.time.Instant[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } @@ -2255,7 +2255,7 @@ public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, f /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, float[] x, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, float[] x, java.time.Instant[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } @@ -2318,7 +2318,7 @@ public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, i /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, int[] x, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, int[] x, java.time.Instant[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } @@ -2381,7 +2381,7 @@ public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, l /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, long[] x, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, long[] x, java.time.Instant[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } @@ -2409,63 +2409,63 @@ public static io.deephaven.plot.Figure plot( java. /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, T1[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, T1[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, double[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, double[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, float[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, float[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, int[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, int[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, long[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, long[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, java.time.Instant[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, java.util.Date[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, java.util.Date[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, short[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, short[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, io.deephaven.time.DateTime[] x, java.util.List y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.time.Instant[] x, java.util.List y ) { return FigureFactory.figure().plot( seriesName, x, y ); } @@ -2507,7 +2507,7 @@ public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, j /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.util.Date[] x, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.util.Date[] x, java.time.Instant[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } @@ -2570,7 +2570,7 @@ public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, s /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, short[] x, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, short[] x, java.time.Instant[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } @@ -2633,7 +2633,7 @@ public static io.deephaven.plot.Figure plot( java. /** * See {@link io.deephaven.plot.Figure#plot} **/ - public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.util.List x, io.deephaven.time.DateTime[] y ) { + public static io.deephaven.plot.Figure plot( java.lang.Comparable seriesName, java.util.List x, java.time.Instant[] y ) { return FigureFactory.figure().plot( seriesName, x, y ); } diff --git a/Plot/src/main/java/io/deephaven/plot/axisformatters/NanosAxisFormat.java b/Plot/src/main/java/io/deephaven/plot/axisformatters/NanosAxisFormat.java index 4f8cdd35e09..8dec67b9584 100644 --- a/Plot/src/main/java/io/deephaven/plot/axisformatters/NanosAxisFormat.java +++ b/Plot/src/main/java/io/deephaven/plot/axisformatters/NanosAxisFormat.java @@ -3,25 +3,25 @@ */ package io.deephaven.plot.axisformatters; -import io.deephaven.time.DateTime; -import io.deephaven.time.TimeZone; +import io.deephaven.time.DateTimeUtils; import java.io.Serializable; import java.text.FieldPosition; import java.text.NumberFormat; import java.text.ParsePosition; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; /** * A formatter for converting nanoseconds into formatted strings. - * + *

* For details on the supported patterns see the javadoc for * DateTimeFormatter */ public class NanosAxisFormat implements AxisFormat, Serializable { private static final long serialVersionUID = -2096650974534906333L; - private TimeZone tz; + private ZoneId tz; private String pattern; private NanosFormat instance = null; @@ -30,7 +30,7 @@ public class NanosAxisFormat implements AxisFormat, Serializable { * * @param tz timezone */ - public NanosAxisFormat(TimeZone tz) { + public NanosAxisFormat(ZoneId tz) { this.tz = tz; } @@ -38,7 +38,7 @@ public NanosAxisFormat(TimeZone tz) { * Creates a new NanosAxisFormat with the default timezone. */ public NanosAxisFormat() { - this(TimeZone.TZ_DEFAULT); + this(DateTimeUtils.timeZone()); } @Override @@ -63,7 +63,7 @@ public NumberFormat getNumberFormatter() { } /** - * Formatter for DateTime values. + * Formatter for date time values. */ public class NanosFormat extends NumberFormat { private static final long serialVersionUID = 6037426284760469353L; @@ -73,17 +73,17 @@ private NanosFormat() { updateFormatter(pattern); } - public void updateTimeZone(final TimeZone tz) { + public void updateTimeZone(final ZoneId tz) { NanosAxisFormat.this.tz = tz; if (formatter != null) { - formatter = formatter.withZone(tz.getTimeZone().toTimeZone().toZoneId()); + formatter = formatter.withZone(tz); } } private void updateFormatter(String format) { format = format == null ? "yyyy-MM-dd" : format; - this.formatter = DateTimeFormatter.ofPattern(format).withZone(tz.getTimeZone().toTimeZone().toZoneId()); + this.formatter = DateTimeFormatter.ofPattern(format).withZone(tz); } @Override @@ -93,7 +93,8 @@ public StringBuffer format(final double number, final StringBuffer toAppendTo, f @Override public StringBuffer format(final long number, final StringBuffer toAppendTo, final FieldPosition pos) { - return toAppendTo.append(formatter.format(new DateTime(number).getInstant())); + // noinspection DataFlowIssue + return toAppendTo.append(formatter.format(DateTimeUtils.epochNanosToInstant(number))); } @Override diff --git a/Plot/src/main/java/io/deephaven/plot/axistransformations/AxisTransformBusinessCalendar.java b/Plot/src/main/java/io/deephaven/plot/axistransformations/AxisTransformBusinessCalendar.java index 64edde255e1..5a635f78f0f 100644 --- a/Plot/src/main/java/io/deephaven/plot/axistransformations/AxisTransformBusinessCalendar.java +++ b/Plot/src/main/java/io/deephaven/plot/axistransformations/AxisTransformBusinessCalendar.java @@ -4,23 +4,23 @@ package io.deephaven.plot.axistransformations; import io.deephaven.base.verify.Require; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.time.calendar.BusinessCalendar; import io.deephaven.time.calendar.BusinessSchedule; import io.deephaven.time.calendar.BusinessPeriod; import java.io.Serializable; +import java.time.Instant; import java.util.ArrayList; import java.util.List; import java.util.function.Predicate; /** * AxisTransform into business time. Useful for plotting time series data with large gaps in non-business hours. - * + *

* The forward transform takes a data value from standard epoch time and translates it into the cumulative business time * for the dataset. The inverse transform takes it back to standard epoch time. - * + *

* Data values outside of business hours are not visible. */ public class AxisTransformBusinessCalendar implements AxisTransform, Serializable { @@ -64,13 +64,13 @@ private Nugget getNuggetByTime(final double timeNanos) { Nugget nMax = nuggets.size() == 0 ? null : nuggets.get(nuggets.size() - 1); if (nMin == null) { - final DateTime t = new DateTime((long) timeNanos); + final Instant t = DateTimeUtils.epochNanosToInstant((long) timeNanos); nMin = new Nugget(busCal.getBusinessSchedule(busCal.previousBusinessDay(t)), 0); nMax = nMin; nuggets.add(nMin); } - while (timeNanos < nMin.businessDay.getSOBD().getNanos()) { + while (timeNanos < DateTimeUtils.epochNanos(nMin.businessDay.getSOBD())) { final BusinessSchedule d = busCal.getBusinessSchedule(busCal.previousBusinessDay(nMin.businessDay.getSOBD())); final Nugget n = new Nugget(d, nMin.cumulativeBusinessTimeNanosAtStartOfDay - d.getLOBD()); @@ -80,7 +80,7 @@ private Nugget getNuggetByTime(final double timeNanos) { } // noinspection ConstantConditions nMax can't cause NPE (for now! Don't add nulls to nuggets!) - while (timeNanos > nMax.businessDay.getEOBD().getNanos()) { + while (timeNanos > DateTimeUtils.epochNanos(nMax.businessDay.getEOBD())) { final BusinessSchedule d = busCal.getBusinessSchedule(busCal.nextBusinessDay(nMax.businessDay.getEOBD())); final Nugget n = new Nugget(d, nMax.cumulativeBusinessTimeNanosAtStartOfDay + nMax.businessDay.getLOBD()); nuggets.add(n); @@ -88,7 +88,7 @@ private Nugget getNuggetByTime(final double timeNanos) { nMax = n; } - return findNugget(n -> timeNanos <= n.businessDay.getEOBD().getNanos()); + return findNugget(n -> timeNanos <= DateTimeUtils.epochNanos(n.businessDay.getEOBD())); } private Nugget getNuggetByValue(final double value) { @@ -155,7 +155,7 @@ private Nugget findNugget(final Predicate lessThanEqual) { @Override public boolean isVisible(final double timeNanos) { return !(Double.isInfinite(timeNanos) || Double.isNaN(timeNanos)) - && busCal.isBusinessTime(DateTimeUtils.nanosToTime((long) timeNanos)); + && busCal.isBusinessTime(DateTimeUtils.epochNanosToInstant((long) timeNanos)); } @@ -172,11 +172,11 @@ public double inverseTransform(final double value) { } double busDayNanos = value - n.cumulativeBusinessTimeNanosAtStartOfDay; - double timeNanos = n.businessDay.getSOBD().getNanos(); + double timeNanos = DateTimeUtils.epochNanos(n.businessDay.getSOBD()); for (BusinessPeriod period : n.businessDay.getBusinessPeriods()) { - final double start = period.getStartTime().getNanos(); - final double end = period.getEndTime().getNanos(); + final double start = DateTimeUtils.epochNanos(period.getStartTime()); + final double end = DateTimeUtils.epochNanos(period.getEndTime()); final double length = end - start; if (busDayNanos > 0 && length > 0) { @@ -204,8 +204,8 @@ public double transform(final double timeNanos) { double value = n.cumulativeBusinessTimeNanosAtStartOfDay; for (BusinessPeriod period : n.businessDay.getBusinessPeriods()) { - final double start = period.getStartTime().getNanos(); - final double end = period.getEndTime().getNanos(); + final double start = DateTimeUtils.epochNanos(period.getStartTime()); + final double end = DateTimeUtils.epochNanos(period.getEndTime()); if (timeNanos > start) { if (timeNanos < end) { diff --git a/Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableDataDateTime.java b/Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableDataInstant.java similarity index 65% rename from Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableDataDateTime.java rename to Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableDataInstant.java index 1fdf7092d1c..6803728d03a 100644 --- a/Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableDataDateTime.java +++ b/Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableDataInstant.java @@ -5,30 +5,32 @@ import io.deephaven.plot.errors.PlotInfo; import io.deephaven.plot.util.ArgumentValidations; -import io.deephaven.time.DateTime; import gnu.trove.map.hash.TLongObjectHashMap; +import io.deephaven.time.DateTimeUtils; + +import java.time.Instant; import static io.deephaven.util.QueryConstants.NULL_LONG; /** - * {@link IndexableData} dataset with {@link DateTime} values. + * {@link IndexableData} dataset with {@link Instant} values. * * Dataset values equal to {@link io.deephaven.util.QueryConstants#NULL_LONG} are treated as null. */ -public class IndexableDataDateTime extends IndexableData { +public class IndexableDataInstant extends IndexableData { private static final long serialVersionUID = 8122162323328323447L; private final long[] data; - private final TLongObjectHashMap dateTimeMap = new TLongObjectHashMap<>(); + private final TLongObjectHashMap instantMap = new TLongObjectHashMap<>(); /** - * Creates an IndexableDataDateTime instance. + * Creates an IndexableDataInstant instance. * * Values in {@code data} equal to {@link io.deephaven.util.QueryConstants#NULL_LONG} are treated as null. * * @param data data * @param plotInfo plot information */ - public IndexableDataDateTime(long[] data, final PlotInfo plotInfo) { + public IndexableDataInstant(long[] data, final PlotInfo plotInfo) { super(plotInfo); ArgumentValidations.assertNotNull(data, "data", getPlotInfo()); this.data = data; @@ -40,17 +42,17 @@ public int size() { } @Override - public DateTime get(int index) { + public Instant get(int index) { final long dataValue = data[index]; if (dataValue == NULL_LONG) { return null; } - DateTime cachedVal = dateTimeMap.get(dataValue); + Instant cachedVal = instantMap.get(dataValue); if (cachedVal == null) { - cachedVal = new DateTime(dataValue); - dateTimeMap.put(dataValue, cachedVal); + cachedVal = DateTimeUtils.epochNanosToInstant(dataValue); + instantMap.put(dataValue, cachedVal); } return cachedVal; diff --git a/Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableNumericDataArrayDateTime.java b/Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableNumericDataArrayInstant.java similarity index 71% rename from Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableNumericDataArrayDateTime.java rename to Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableNumericDataArrayInstant.java index 743d833be46..b66d3b2cfaf 100644 --- a/Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableNumericDataArrayDateTime.java +++ b/Plot/src/main/java/io/deephaven/plot/datasets/data/IndexableNumericDataArrayInstant.java @@ -5,26 +5,28 @@ import io.deephaven.plot.errors.PlotInfo; import io.deephaven.plot.util.ArgumentValidations; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; + +import java.time.Instant; /** - * {@link IndexableNumericData} dataset comprised of an array of {@link DateTime}s. + * {@link IndexableNumericData} dataset comprised of an array of {@link Instant instants}. * * Date values are accessed as nanoseconds from epoch. Data conversion to double means these values are accurate to * about 250 nanoseconds. */ -public class IndexableNumericDataArrayDateTime extends IndexableNumericData { +public class IndexableNumericDataArrayInstant extends IndexableNumericData { private static final long serialVersionUID = 2006200987348909028L; - private final DateTime[] data; + private final Instant[] data; /** - * Creates an IndexableNumericDataArrayDateTime instance. + * Creates an IndexableNumericDataArrayInstant instance. * * @throws io.deephaven.base.verify.RequirementFailure {@code data} must not be null * @param data data * @param plotInfo plot information */ - public IndexableNumericDataArrayDateTime(DateTime[] data, final PlotInfo plotInfo) { + public IndexableNumericDataArrayInstant(Instant[] data, final PlotInfo plotInfo) { super(plotInfo); ArgumentValidations.assertNotNull(data, "data", getPlotInfo()); this.data = data; @@ -41,9 +43,9 @@ public double get(final int i) { return Double.NaN; } double result = Double.NaN; - DateTime v = data[i]; + Instant v = data[i]; if (v != null) { - result = v.getNanos(); + result = DateTimeUtils.epochNanos(v); } return result; diff --git a/Plot/src/main/java/io/deephaven/plot/util/ArgumentValidations.java b/Plot/src/main/java/io/deephaven/plot/util/ArgumentValidations.java index ec311b81805..fedb9857370 100644 --- a/Plot/src/main/java/io/deephaven/plot/util/ArgumentValidations.java +++ b/Plot/src/main/java/io/deephaven/plot/util/ArgumentValidations.java @@ -9,14 +9,12 @@ import io.deephaven.plot.errors.*; import io.deephaven.plot.filters.SelectableDataSet; import io.deephaven.plot.util.tables.TableHandle; -import io.deephaven.engine.table.DataColumn; import io.deephaven.engine.table.Table; import io.deephaven.engine.table.TableDefinition; -import io.deephaven.qst.column.Column; -import io.deephaven.time.DateTime; import io.deephaven.util.type.TypeUtils; import org.apache.commons.lang3.ClassUtils; +import java.time.Instant; import java.util.*; /** @@ -348,15 +346,15 @@ public static Class getColumnType(final SelectableDataSet sds, final String colu } /** - * Whether the class is equal to Date.class or DateTime.class + * Whether the class is equal to Date.class or Instant.class * * @param c class * @param plotInfo source of the exception - * @return true if {@code c} equals Date.class or DateTime.class, false otherwise + * @return true if {@code c} equals Date.class or Instant.class, false otherwise */ public static boolean isTime(final Class c, final PlotInfo plotInfo) { assertNotNull(c, "c", plotInfo); - return c.equals(Date.class) || c.equals(DateTime.class); + return c == Date.class || c == Instant.class; } /** @@ -381,36 +379,36 @@ public static boolean isNumericOrTime(final Class c, final PlotInfo plotInfo) { } /** - * Whether the column's data type equals Date.class or DateTime.class + * Whether the column's data type equals Date.class or Instant.class * * @param t table * @param column column * @param plotInfo source of the exception - * @return true if the column's data type equals Date.class or DateTime.class, false otherwise + * @return true if the column's data type equals Date.class or Instant.class, false otherwise */ public static boolean isTime(final Table t, final String column, final PlotInfo plotInfo) { return isTime(getColumnType(t, column, plotInfo), plotInfo); } /** - * Whether the column's data type equals Date.class or DateTime.class + * Whether the column's data type equals Date.class or Instant.class * * @param t table * @param column column * @param plotInfo source of the exception - * @return true if the column's data type equals Date.class or DateTime.class, false otherwise + * @return true if the column's data type equals Date.class or Instant.class, false otherwise */ public static boolean isTime(final TableDefinition t, final String column, final PlotInfo plotInfo) { return isTime(getColumnType(t, column, plotInfo), plotInfo); } /** - * Whether the column's data type equals Date.class or DateTime.class + * Whether the column's data type equals Date.class or Instant.class * * @param sds selectable dataset * @param column column * @param plotInfo source of the exception - * @return true if the column's data type equals Date.class or DateTime.class, false otherwise + * @return true if the column's data type equals Date.class or Instant.class, false otherwise */ public static boolean isTime(final SelectableDataSet sds, final String column, final PlotInfo plotInfo) { return isTime(getColumnType(sds, column, plotInfo), plotInfo); diff --git a/Plot/src/main/java/io/deephaven/plot/util/PlotUtils.java b/Plot/src/main/java/io/deephaven/plot/util/PlotUtils.java index c5165e8f12a..5102990abdf 100644 --- a/Plot/src/main/java/io/deephaven/plot/util/PlotUtils.java +++ b/Plot/src/main/java/io/deephaven/plot/util/PlotUtils.java @@ -19,8 +19,8 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.table.TableDefinition; import io.deephaven.engine.context.QueryScope; -import io.deephaven.time.DateTime; import io.deephaven.gui.color.ColorPaletteArray; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.table.impl.BaseTable; @@ -32,6 +32,7 @@ import org.jetbrains.annotations.NotNull; import java.math.BigDecimal; +import java.time.Instant; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; @@ -49,7 +50,7 @@ public class PlotUtils { private PlotUtils() {} - /** Instances of ColorPaletteArray have some state, so this is kept privat. */ + /** Instances of ColorPaletteArray have some state, so this is kept private. */ private static final ColorPaletteArray MATPLOT_COLORS = new ColorPaletteArray(ColorPaletteArray.Palette.MATPLOTLIB); private static final Random rng = new Random(); @@ -63,7 +64,7 @@ private PlotUtils() {} private static final byte[] EMPTY_BYTE_ARRAY = new byte[0]; private static final Number[] EMPTY_NUMBER_ARRAY = new Number[0]; private static final Date[] EMPTY_DATE_ARRAY = new Date[0]; - private static final DateTime[] EMPTY_DATETIME_ARRAY = new DateTime[0]; + private static final Instant[] EMPTY_INSTANT_ARRAY = new Instant[0]; private static int randVar() { return abs(rng.nextInt()); @@ -750,15 +751,15 @@ public static Function getNumberFromNumericOrTimeSource(final Tabl final ColumnSource columnSource = t.getColumnSource(numericCol); - if (columnSource.getType() == DateTime.class) { + if (columnSource.getType() == Instant.class) { return key -> { - final DateTime dateTime = (DateTime) columnSource.get(key); - return dateTime == null ? NULL_LONG : dateTime.getNanos(); + final Instant instant = (Instant) columnSource.get(key); + return instant == null ? NULL_LONG : DateTimeUtils.epochNanos(instant); }; } else if (columnSource.getType() == Date.class) { return key -> { - final Date dateTime = (Date) columnSource.get(key); - return dateTime == null ? NULL_LONG : dateTime.getTime() * 1000000; + final Date instant = (Date) columnSource.get(key); + return instant == null ? NULL_LONG : instant.getTime() * 1000000; }; } else { return key -> (Number) columnSource.get(key); @@ -878,9 +879,9 @@ public static IndexableData createIndexableData(final Object data, final Cla return new IndexableDataCharacter((char[]) data, plotInfo); } else if (c.equals(byte.class)) { return new IndexableDataByte((byte[]) data, plotInfo); - } else if (c.equals(DateTime.class)) { + } else if (c.equals(Instant.class)) { if (data instanceof long[]) { - return new IndexableDataDateTime((long[]) data, plotInfo); + return new IndexableDataInstant((long[]) data, plotInfo); } } @@ -927,8 +928,8 @@ public static IndexableNumericData createEmptyIndexableNumericDataArray(final Cl return new IndexableNumericDataArrayLong(EMPTY_LONG_ARRAY, plotInfo); } else if (dataType == short.class) { return new IndexableNumericDataArrayShort(EMPTY_SHORT_ARRAY, plotInfo); - } else if (dataType == DateTime.class) { - return new IndexableNumericDataArrayDateTime(EMPTY_DATETIME_ARRAY, plotInfo); + } else if (dataType == Instant.class) { + return new IndexableNumericDataArrayInstant(EMPTY_INSTANT_ARRAY, plotInfo); } else if (dataType == Date.class) { return new IndexableNumericDataArrayDate(EMPTY_DATE_ARRAY, plotInfo); } else if (Number.class.isAssignableFrom(dataType)) { @@ -950,11 +951,11 @@ public static IndexableNumericData createIndexableNumericDataArray(final Object return new IndexableNumericDataArrayLong((long[]) data, plotInfo); } else if (dataType == short.class) { return new IndexableNumericDataArrayShort((short[]) data, plotInfo); - } else if (dataType == DateTime.class) { + } else if (dataType == Instant.class) { if (data instanceof long[]) { return new IndexableNumericDataArrayLong((long[]) data, plotInfo); } else { - return new IndexableNumericDataArrayDateTime((DateTime[]) data, plotInfo); + return new IndexableNumericDataArrayInstant((Instant[]) data, plotInfo); } } else if (dataType == Date.class) { return new IndexableNumericDataArrayDate((Date[]) data, plotInfo); diff --git a/Plot/src/main/java/io/deephaven/plot/util/tables/ColumnHandlerFactory.java b/Plot/src/main/java/io/deephaven/plot/util/tables/ColumnHandlerFactory.java index 73e9437422c..fe6446aebe6 100644 --- a/Plot/src/main/java/io/deephaven/plot/util/tables/ColumnHandlerFactory.java +++ b/Plot/src/main/java/io/deephaven/plot/util/tables/ColumnHandlerFactory.java @@ -8,10 +8,11 @@ import io.deephaven.plot.util.ArgumentValidations; import io.deephaven.engine.table.DataColumn; import io.deephaven.engine.table.Table; -import io.deephaven.time.DateTime; import io.deephaven.gui.color.Paint; +import io.deephaven.time.DateTimeUtils; import java.io.Serializable; +import java.time.Instant; import java.util.Date; import static io.deephaven.util.QueryConstants.*; @@ -384,7 +385,7 @@ public double getDouble(int i) { } }; - } else if (type.equals(DateTime.class)) { + } else if (type.equals(Instant.class)) { return new ColumnHandlerHandle(tableHandle, columnName, type, plotInfo) { @Override public TypeClassification typeClassification() { @@ -393,8 +394,8 @@ public TypeClassification typeClassification() { @Override public double getDouble(int i) { - final DateTime value = (DateTime) getDataColumn().get(i); - return value == null ? Double.NaN : value.getNanos(); + final Instant value = (Instant) getDataColumn().get(i); + return value == null ? Double.NaN : DateTimeUtils.epochNanos(value); } }; @@ -601,7 +602,7 @@ public double getDouble(int i) { } }; - } else if (type.equals(DateTime.class)) { + } else if (type.equals(Instant.class)) { return new ColumnHandlerTable(table, columnName, type, plotInfo) { @Override public TypeClassification typeClassification() { @@ -610,8 +611,8 @@ public TypeClassification typeClassification() { @Override public double getDouble(int i) { - final DateTime value = (DateTime) getDataColumn().get(i); - return value == null ? Double.NaN : value.getNanos(); + final Instant value = (Instant) getDataColumn().get(i); + return value == null ? Double.NaN : DateTimeUtils.epochNanos(value); } }; diff --git a/Plot/src/test/java/io/deephaven/plot/axisformatters/TestNanosAxisFormat.java b/Plot/src/test/java/io/deephaven/plot/axisformatters/TestNanosAxisFormat.java index dbd86f662c9..f3e10cf6f09 100644 --- a/Plot/src/test/java/io/deephaven/plot/axisformatters/TestNanosAxisFormat.java +++ b/Plot/src/test/java/io/deephaven/plot/axisformatters/TestNanosAxisFormat.java @@ -4,28 +4,32 @@ package io.deephaven.plot.axisformatters; import io.deephaven.base.testing.BaseArrayTestCase; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.TimeZone; import junit.framework.TestCase; import java.text.NumberFormat; +import java.time.Instant; +import java.time.ZoneId; public class TestNanosAxisFormat extends BaseArrayTestCase { + private static final ZoneId TZ_NY = ZoneId.of("America/New_York"); + private static final ZoneId TZ_JP = ZoneId.of("Asia/Tokyo"); + private static final ZoneId TZ_MN = ZoneId.of("America/Chicago"); + public void testFormat() { final NanosAxisFormat nyFormat = new NanosAxisFormat(); - final NanosAxisFormat tokyoFormat = new NanosAxisFormat(TimeZone.TZ_JP); + final NanosAxisFormat tokyoFormat = new NanosAxisFormat(TZ_JP); final NumberFormat nyNumberFormat = nyFormat.getNumberFormatter(); final NumberFormat tokyoNumberFormat = tokyoFormat.getNumberFormatter(); - final DateTime time = new DateTime(DateTimeUtils.YEAR); - final long lNanos = time.getNanos(); + final Instant time = DateTimeUtils.epochNanosToInstant(DateTimeUtils.YEAR_365); + final long lNanos = DateTimeUtils.epochNanos(time); final double dNanos = lNanos; - assertEquals(nyNumberFormat.format(lNanos), time.toDateString(TimeZone.TZ_DEFAULT)); - assertEquals(nyNumberFormat.format(dNanos), time.toDateString(TimeZone.TZ_DEFAULT)); - assertEquals(tokyoNumberFormat.format(lNanos), time.toDateString(TimeZone.TZ_JP)); - assertEquals(tokyoNumberFormat.format(dNanos), time.toDateString(TimeZone.TZ_JP)); + assertEquals(nyNumberFormat.format(lNanos), DateTimeUtils.formatDate(time, DateTimeUtils.timeZone())); + assertEquals(nyNumberFormat.format(dNanos), DateTimeUtils.formatDate(time, DateTimeUtils.timeZone())); + assertEquals(tokyoNumberFormat.format(lNanos), DateTimeUtils.formatDate(time, TZ_JP)); + assertEquals(tokyoNumberFormat.format(dNanos), DateTimeUtils.formatDate(time, TZ_JP)); try { nyNumberFormat.parse("TEST", null); @@ -36,25 +40,25 @@ public void testFormat() { } public void testFormatString() { - final DateTime time = DateTimeUtils.convertDateTime("2017-03-24T14:32:12.345678 MN"); + final Instant time = DateTimeUtils.parseInstant("2017-03-24T14:32:12.345678 MN"); - final NanosAxisFormat formatMN = new NanosAxisFormat(TimeZone.TZ_MN); - final NanosAxisFormat formatNY = new NanosAxisFormat(TimeZone.TZ_NY); + final NanosAxisFormat formatMN = new NanosAxisFormat(TZ_MN); + final NanosAxisFormat formatNY = new NanosAxisFormat(TZ_NY); - assertEquals("2017-03-24", formatMN.getNumberFormatter().format(time.getNanos())); - assertEquals("2017-03-24", formatNY.getNumberFormatter().format(time.getNanos())); + assertEquals("2017-03-24", formatMN.getNumberFormatter().format(DateTimeUtils.epochNanos(time))); + assertEquals("2017-03-24", formatNY.getNumberFormatter().format(DateTimeUtils.epochNanos(time))); formatMN.setPattern("yyyy-MM-dd'T'HH:mm"); formatNY.setPattern("yyyy-MM-dd'T'HH:mm"); - assertEquals("2017-03-24T14:32", formatMN.getNumberFormatter().format(time.getNanos())); - assertEquals("2017-03-24T15:32", formatNY.getNumberFormatter().format(time.getNanos())); + assertEquals("2017-03-24T14:32", formatMN.getNumberFormatter().format(DateTimeUtils.epochNanos(time))); + assertEquals("2017-03-24T15:32", formatNY.getNumberFormatter().format(DateTimeUtils.epochNanos(time))); formatMN.setPattern("HH:mm:ss.SSSS"); formatNY.setPattern("HH:mm:ss.SSSS"); - assertEquals("14:32:12.3456", formatMN.getNumberFormatter().format(time.getNanos())); - assertEquals("15:32:12.3456", formatNY.getNumberFormatter().format(time.getNanos())); + assertEquals("14:32:12.3456", formatMN.getNumberFormatter().format(DateTimeUtils.epochNanos(time))); + assertEquals("15:32:12.3456", formatNY.getNumberFormatter().format(DateTimeUtils.epochNanos(time))); try { formatMN.setPattern("junkpattern"); @@ -65,7 +69,7 @@ public void testFormatString() { formatNY.setPattern(null); formatMN.setPattern(null); - assertEquals("2017-03-24", formatMN.getNumberFormatter().format(time.getNanos())); - assertEquals("2017-03-24", formatNY.getNumberFormatter().format(time.getNanos())); + assertEquals("2017-03-24", formatMN.getNumberFormatter().format(DateTimeUtils.epochNanos(time))); + assertEquals("2017-03-24", formatNY.getNumberFormatter().format(DateTimeUtils.epochNanos(time))); } } diff --git a/Plot/src/test/java/io/deephaven/plot/axistransformations/TestAxisTransformBusinessCalendar.java b/Plot/src/test/java/io/deephaven/plot/axistransformations/TestAxisTransformBusinessCalendar.java index 216099cfd14..e257884f82b 100644 --- a/Plot/src/test/java/io/deephaven/plot/axistransformations/TestAxisTransformBusinessCalendar.java +++ b/Plot/src/test/java/io/deephaven/plot/axistransformations/TestAxisTransformBusinessCalendar.java @@ -4,77 +4,80 @@ package io.deephaven.plot.axistransformations; import io.deephaven.base.testing.BaseArrayTestCase; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.TimeZone; import io.deephaven.time.calendar.Calendars; +import java.time.Instant; +import java.time.ZoneId; + public class TestAxisTransformBusinessCalendar extends BaseArrayTestCase { + private static final ZoneId TZ_JP = ZoneId.of("Asia/Tokyo"); + private final AxisTransformBusinessCalendar bt = new AxisTransformBusinessCalendar(Calendars.calendar("JPOSE")); - private final DateTime holiday = DateTimeUtils.convertDateTime("2017-01-03T10:00:00 JP"); - private final DateTime weekend = DateTimeUtils.convertDateTime("2017-01-02T10:00:00 JP"); + private final Instant holiday = DateTimeUtils.parseInstant("2017-01-03T10:00:00 JP"); + private final Instant weekend = DateTimeUtils.parseInstant("2017-01-02T10:00:00 JP"); - private final DateTime pre1 = DateTimeUtils.convertDateTime("2017-01-04T06:00:00 JP"); - private final DateTime bus11 = DateTimeUtils.convertDateTime("2017-01-04T10:00:00 JP"); - private final DateTime lunch1 = DateTimeUtils.convertDateTime("2017-01-04T12:00:00 JP"); - private final DateTime bus12 = DateTimeUtils.convertDateTime("2017-01-04T12:45:00 JP"); - private final DateTime close1 = DateTimeUtils.convertDateTime("2017-01-04T20:00:00 JP"); + private final Instant pre1 = DateTimeUtils.parseInstant("2017-01-04T06:00:00 JP"); + private final Instant bus11 = DateTimeUtils.parseInstant("2017-01-04T10:00:00 JP"); + private final Instant lunch1 = DateTimeUtils.parseInstant("2017-01-04T12:00:00 JP"); + private final Instant bus12 = DateTimeUtils.parseInstant("2017-01-04T12:45:00 JP"); + private final Instant close1 = DateTimeUtils.parseInstant("2017-01-04T20:00:00 JP"); - private final DateTime pre2 = DateTimeUtils.convertDateTime("2017-01-06T06:00:00 JP"); - private final DateTime bus21 = DateTimeUtils.convertDateTime("2017-01-06T10:00:00 JP"); - private final DateTime lunch2 = DateTimeUtils.convertDateTime("2017-01-06T12:00:00 JP"); - private final DateTime bus22 = DateTimeUtils.convertDateTime("2017-01-06T12:45:00 JP"); - private final DateTime close2 = DateTimeUtils.convertDateTime("2017-01-06T20:00:00 JP"); + private final Instant pre2 = DateTimeUtils.parseInstant("2017-01-06T06:00:00 JP"); + private final Instant bus21 = DateTimeUtils.parseInstant("2017-01-06T10:00:00 JP"); + private final Instant lunch2 = DateTimeUtils.parseInstant("2017-01-06T12:00:00 JP"); + private final Instant bus22 = DateTimeUtils.parseInstant("2017-01-06T12:45:00 JP"); + private final Instant close2 = DateTimeUtils.parseInstant("2017-01-06T20:00:00 JP"); - private final DateTime pre3 = DateTimeUtils.convertDateTime("2017-01-11T06:00:00 JP"); - private final DateTime bus31 = DateTimeUtils.convertDateTime("2017-01-11T10:00:00 JP"); - private final DateTime lunch3 = DateTimeUtils.convertDateTime("2017-01-11T12:00:00 JP"); - private final DateTime bus32 = DateTimeUtils.convertDateTime("2017-01-11T12:45:00 JP"); - private final DateTime close3 = DateTimeUtils.convertDateTime("2017-01-11T20:00:00 JP"); + private final Instant pre3 = DateTimeUtils.parseInstant("2017-01-11T06:00:00 JP"); + private final Instant bus31 = DateTimeUtils.parseInstant("2017-01-11T10:00:00 JP"); + private final Instant lunch3 = DateTimeUtils.parseInstant("2017-01-11T12:00:00 JP"); + private final Instant bus32 = DateTimeUtils.parseInstant("2017-01-11T12:45:00 JP"); + private final Instant close3 = DateTimeUtils.parseInstant("2017-01-11T20:00:00 JP"); public void testIsVisible() { - assertFalse(bt.isVisible((double) holiday.getNanos())); - assertFalse(bt.isVisible((double) weekend.getNanos())); - assertFalse(bt.isVisible((double) pre1.getNanos())); - assertTrue(bt.isVisible((double) bus11.getNanos())); - assertFalse(bt.isVisible((double) lunch1.getNanos())); - assertTrue(bt.isVisible((double) bus12.getNanos())); - assertFalse(bt.isVisible((double) close1.getNanos())); - - assertFalse(bt.isVisible((double) pre2.getNanos())); - assertTrue(bt.isVisible((double) bus21.getNanos())); - assertFalse(bt.isVisible((double) lunch2.getNanos())); - assertTrue(bt.isVisible((double) bus22.getNanos())); - assertFalse(bt.isVisible((double) close2.getNanos())); - - assertFalse(bt.isVisible((double) pre3.getNanos())); - assertTrue(bt.isVisible((double) bus31.getNanos())); - assertFalse(bt.isVisible((double) lunch3.getNanos())); - assertTrue(bt.isVisible((double) bus32.getNanos())); - assertFalse(bt.isVisible((double) close3.getNanos())); + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(holiday))); + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(weekend))); + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(pre1))); + assertTrue(bt.isVisible((double) DateTimeUtils.epochNanos(bus11))); + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(lunch1))); + assertTrue(bt.isVisible((double) DateTimeUtils.epochNanos(bus12))); + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(close1))); + + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(pre2))); + assertTrue(bt.isVisible((double) DateTimeUtils.epochNanos(bus21))); + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(lunch2))); + assertTrue(bt.isVisible((double) DateTimeUtils.epochNanos(bus22))); + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(close2))); + + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(pre3))); + assertTrue(bt.isVisible((double) DateTimeUtils.epochNanos(bus31))); + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(lunch3))); + assertTrue(bt.isVisible((double) DateTimeUtils.epochNanos(bus32))); + assertFalse(bt.isVisible((double) DateTimeUtils.epochNanos(close3))); } public void testTransform() { - testTransform(holiday, DateTimeUtils.convertDateTime("2017-01-04T09:00:00 JP")); - testTransform(weekend, DateTimeUtils.convertDateTime("2017-01-04T09:00:00 JP")); + testTransform(holiday, DateTimeUtils.parseInstant("2017-01-04T09:00:00 JP")); + testTransform(weekend, DateTimeUtils.parseInstant("2017-01-04T09:00:00 JP")); - testTransform(pre1, DateTimeUtils.convertDateTime("2017-01-04T09:00:00 JP")); - testTransform(pre2, DateTimeUtils.convertDateTime("2017-01-06T09:00:00 JP")); - testTransform(pre3, DateTimeUtils.convertDateTime("2017-01-11T09:00:00 JP")); + testTransform(pre1, DateTimeUtils.parseInstant("2017-01-04T09:00:00 JP")); + testTransform(pre2, DateTimeUtils.parseInstant("2017-01-06T09:00:00 JP")); + testTransform(pre3, DateTimeUtils.parseInstant("2017-01-11T09:00:00 JP")); - testTransform(lunch1, DateTimeUtils.convertDateTime("2017-01-04T11:30:00 JP")); - testTransform(lunch2, DateTimeUtils.convertDateTime("2017-01-06T11:30:00 JP")); - testTransform(lunch3, DateTimeUtils.convertDateTime("2017-01-11T11:30:00 JP")); + testTransform(lunch1, DateTimeUtils.parseInstant("2017-01-04T11:30:00 JP")); + testTransform(lunch2, DateTimeUtils.parseInstant("2017-01-06T11:30:00 JP")); + testTransform(lunch3, DateTimeUtils.parseInstant("2017-01-11T11:30:00 JP")); - testTransform(close1, DateTimeUtils.convertDateTime("2017-01-05T09:00:00 JP")); - testTransform(close2, DateTimeUtils.convertDateTime("2017-01-10T09:00:00 JP")); - testTransform(close3, DateTimeUtils.convertDateTime("2017-01-12T09:00:00 JP")); + testTransform(close1, DateTimeUtils.parseInstant("2017-01-05T09:00:00 JP")); + testTransform(close2, DateTimeUtils.parseInstant("2017-01-10T09:00:00 JP")); + testTransform(close3, DateTimeUtils.parseInstant("2017-01-12T09:00:00 JP")); - for (DateTime t : new DateTime[] {bus11, bus12, bus21, bus22, bus31, bus32}) { + for (Instant t : new Instant[] {bus11, bus12, bus21, bus22, bus31, bus32}) { testTransform(t, t); } @@ -83,36 +86,35 @@ public void testTransform() { // tests bugs where first day was transformed incorrectly public void testFirstTransformedDay() { AxisTransform transform = new AxisTransformBusinessCalendar(Calendars.calendar("USNYSE")); - double d = transform.transform(DateTimeUtils.convertDateTime("2018-02-02T09:30:01 NY").getNanos()); - double d2 = transform.transform(DateTimeUtils.convertDateTime("2018-02-02T14:30:01 NY").getNanos()); + double d = transform.transform(DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2018-02-02T09:30:01 NY"))); + double d2 = transform.transform(DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2018-02-02T14:30:01 NY"))); assertFalse(d == d2); // first day holiday transform = new AxisTransformBusinessCalendar(Calendars.calendar("USNYSE")); - transform.transform(DateTimeUtils.convertDateTime("2018-02-03T09:30:01 NY").getNanos()); + transform.transform(DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2018-02-03T09:30:01 NY"))); assertEquals(0.0 + 30 * DateTimeUtils.MINUTE, - transform.transform(DateTimeUtils.convertDateTime("2018-02-02T10:00:00 NY").getNanos())); + transform.transform(DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2018-02-02T10:00:00 NY")))); assertEquals(2.34E13 + 30 * DateTimeUtils.MINUTE, - transform.transform(DateTimeUtils.convertDateTime("2018-02-05T10:00:00 NY").getNanos())); + transform.transform(DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2018-02-05T10:00:00 NY")))); // first time outside business hours transform = new AxisTransformBusinessCalendar(Calendars.calendar("USNYSE")); - transform.transform(DateTimeUtils.convertDateTime("2018-02-02T09:29:00 NY").getNanos()); + transform.transform(DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2018-02-02T09:29:00 NY"))); assertEquals(2.34E13 + 30 * DateTimeUtils.MINUTE, - transform.transform(DateTimeUtils.convertDateTime("2018-02-02T10:00:00 NY").getNanos())); + transform.transform(DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2018-02-02T10:00:00 NY")))); // previous day was holiday transform = new AxisTransformBusinessCalendar(Calendars.calendar("USNYSE")); - transform.transform(DateTimeUtils.convertDateTime("2018-01-29T09:29:00 NY").getNanos()); + transform.transform(DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2018-01-29T09:29:00 NY"))); assertEquals(2 * 2.34E13 + 30 * DateTimeUtils.MINUTE, - transform.transform(DateTimeUtils.convertDateTime("2018-01-30T10:00:00 NY").getNanos())); + transform.transform(DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2018-01-30T10:00:00 NY")))); } - private void testTransform(final DateTime tIn, final DateTime tTarget) { - double v = bt.transform(tIn.getNanos()); + private void testTransform(final Instant tIn, final Instant tTarget) { + double v = bt.transform(DateTimeUtils.epochNanos(tIn)); double t2 = bt.inverseTransform(v); - assertEquals(tIn.toString(TimeZone.TZ_JP), (double) tTarget.getNanos(), t2); + assertEquals(DateTimeUtils.formatDateTime(tIn, TZ_JP), (double) DateTimeUtils.epochNanos(tTarget), t2); } - } diff --git a/Plot/src/test/java/io/deephaven/plot/datasets/data/TestIndexableData.java b/Plot/src/test/java/io/deephaven/plot/datasets/data/TestIndexableData.java index 95a95a8f37c..d8bf2ea1862 100644 --- a/Plot/src/test/java/io/deephaven/plot/datasets/data/TestIndexableData.java +++ b/Plot/src/test/java/io/deephaven/plot/datasets/data/TestIndexableData.java @@ -7,9 +7,10 @@ import io.deephaven.plot.BaseFigureImpl; import io.deephaven.plot.util.tables.*; import io.deephaven.engine.table.Table; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; +import io.deephaven.time.DateTimeUtils; +import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -28,7 +29,7 @@ public class TestIndexableData extends BaseArrayTestCase { private final Number[] numberArray = new Number[SIZE]; private final List numberList = new ArrayList<>(SIZE); private final Date[] dateArray = new Date[SIZE]; - private final DateTime[] dateTimesArray = new DateTime[SIZE]; + private final Instant[] instantsArray = new Instant[SIZE]; @Override public void setUp() throws Exception { @@ -41,7 +42,7 @@ public void setUp() throws Exception { numberArray[i] = null; numberList.add(i, null); dateArray[i] = null; - dateTimesArray[i] = null; + instantsArray[i] = null; for (i = 1; i < SIZE; i++) { shortArray[i] = i; @@ -52,7 +53,7 @@ public void setUp() throws Exception { numberArray[i] = i; numberList.add(i, (double) i); dateArray[i] = new Date(i, 1, 1); - dateTimesArray[i] = new DateTime(i); + instantsArray[i] = DateTimeUtils.epochNanosToInstant(i); } } @@ -65,8 +66,8 @@ public void testIndexableNumericData() { final IndexableNumericData numberData = new IndexableNumericDataArrayNumber<>(numberArray, null); final IndexableNumericData listData = new IndexableNumericDataListNumber<>(numberList, null); final IndexableNumericData dateData = new IndexableNumericDataArrayDate(dateArray, null); - final IndexableNumericData dateTimeData = new IndexableNumericDataArrayDateTime(dateTimesArray, null); - checkData(shortData, intData, doubleData, longData, floatData, numberData, listData, dateTimeData); + final IndexableNumericData instantData = new IndexableNumericDataArrayInstant(instantsArray, null); + checkData(shortData, intData, doubleData, longData, floatData, numberData, listData, instantData); checkDateData(dateData); } diff --git a/Plot/src/test/java/io/deephaven/plot/datasets/ohlc/TestOHLCDataSeries.java b/Plot/src/test/java/io/deephaven/plot/datasets/ohlc/TestOHLCDataSeries.java index 2ad775dc2c8..789df4ce7df 100644 --- a/Plot/src/test/java/io/deephaven/plot/datasets/ohlc/TestOHLCDataSeries.java +++ b/Plot/src/test/java/io/deephaven/plot/datasets/ohlc/TestOHLCDataSeries.java @@ -10,26 +10,30 @@ import io.deephaven.gui.color.Color; import io.deephaven.plot.BaseFigureImpl; import io.deephaven.plot.datasets.data.IndexableNumericData; -import io.deephaven.plot.datasets.data.IndexableNumericDataArrayDateTime; import io.deephaven.plot.datasets.data.IndexableNumericDataArrayDouble; +import io.deephaven.plot.datasets.data.IndexableNumericDataArrayInstant; import io.deephaven.plot.datasets.xy.TestAbstractXYDataSeries; import io.deephaven.plot.util.tables.SwappableTable; import io.deephaven.plot.util.tables.TableBackedPartitionedTableHandle; import io.deephaven.plot.util.tables.TableHandle; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.SafeCloseable; +import java.time.Instant; import java.util.ArrayList; public class TestOHLCDataSeries extends BaseArrayTestCase { - private final DateTime[] datesA = {new DateTime(DateTimeUtils.DAY), new DateTime(2 * DateTimeUtils.DAY), - new DateTime(3 * DateTimeUtils.DAY), new DateTime(4 * DateTimeUtils.DAY)}; + private final Instant[] datesA = { + DateTimeUtils.epochNanosToInstant(DateTimeUtils.DAY), + DateTimeUtils.epochNanosToInstant(2 * DateTimeUtils.DAY), + DateTimeUtils.epochNanosToInstant(3 * DateTimeUtils.DAY), + DateTimeUtils.epochNanosToInstant(4 * DateTimeUtils.DAY) + }; private final double[] openA = {1.0, 2.0, 1.5, 2.0}; private final double[] closeA = {1.8, 1.8, 1.7, 2.2}; private final double[] highA = {2.0, 2.0, 1.8, 2.5}; private final double[] lowA = {0.9, 1.5, 1.5, 1.8}; - private final IndexableNumericData dates = new IndexableNumericDataArrayDateTime(datesA, null); + private final IndexableNumericData dates = new IndexableNumericDataArrayInstant(datesA, null); private final IndexableNumericData open = new IndexableNumericDataArrayDouble(openA, null); private final IndexableNumericData close = new IndexableNumericDataArrayDouble(closeA, null); private final IndexableNumericData high = new IndexableNumericDataArrayDouble(highA, null); @@ -59,12 +63,12 @@ public void testOHLCDataSeriesArray() { checkOHLCDataSeriesArray(dataSeries2, datesA, closeA, highA, lowA, openA); } - private void checkOHLCDataSeriesArray(OHLCDataSeriesInternal dataSeries, DateTime[] time, double[] open, + private void checkOHLCDataSeriesArray(OHLCDataSeriesInternal dataSeries, Instant[] time, double[] open, double[] high, double[] low, double[] close) { assertEquals(dataSeries.size(), time.length); for (int i = 0; i < dataSeries.size(); i++) { - assertEquals(dataSeries.getX(i), (double) time[i].getNanos()); + assertEquals(dataSeries.getX(i), (double) DateTimeUtils.epochNanos(time[i])); assertEquals(dataSeries.getY(i), close[i]); assertEquals(dataSeries.getOpen(i), open[i]); assertEquals(dataSeries.getHigh(i), high[i]); diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/BusinessTime.java b/Plot/src/test/java/io/deephaven/plot/example_plots/BusinessTime.java index 27fc465aeea..3e8a5420042 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/BusinessTime.java +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/BusinessTime.java @@ -7,25 +7,25 @@ import io.deephaven.plot.Figure; import io.deephaven.plot.FigureFactory; import io.deephaven.plot.axistransformations.AxisTransformBusinessCalendar; -import io.deephaven.time.DateTime; import io.deephaven.time.calendar.Calendars; +import java.time.Instant; public class BusinessTime { public static void main(String[] args) { - DateTime[] x = new DateTime[500]; + Instant[] x = new Instant[500]; double[] y = new double[500]; long time = 1493305755000000000L; for (int i = 0; i < 250; i++) { time = time + DateTimeUtils.MINUTE; - x[i] = new DateTime(time); + x[i] = DateTimeUtils.epochNanosToInstant(time); y[i] = Math.sin(i); } time = 1493305755000000000L + DateTimeUtils.DAY; for (int i = 250; i < x.length; i++) { time = time + DateTimeUtils.MINUTE; - x[i] = new DateTime(time); + x[i] = DateTimeUtils.epochNanosToInstant(time); y[i] = Math.sin(i); } diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/CatPlotBy.java b/Plot/src/test/java/io/deephaven/plot/example_plots/CatPlotBy.java index f8c64ae02a7..c04347eea78 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/CatPlotBy.java +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/CatPlotBy.java @@ -20,7 +20,7 @@ public static void main(String[] args) { TableTools.col("Cats", cats), TableTools.doubleCol("Values", values)); - t = t.update("Timestamp = DateTime.now() + (HOUR * i)"); + t = t.update("Timestamp = DateTimeUtils.now() + (HOUR * i)"); Figure fig = FigureFactory.figure(); for (int i = 0; i < 1; i++) { fig = fig.newChart() diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/OHLCChart.java b/Plot/src/test/java/io/deephaven/plot/example_plots/OHLCChart.java index c20b48a4a82..ab5f852be96 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/OHLCChart.java +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/OHLCChart.java @@ -6,7 +6,8 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.plot.Figure; import io.deephaven.plot.FigureFactory; -import io.deephaven.time.DateTime; + +import java.time.Instant; public class OHLCChart { @@ -14,11 +15,11 @@ public static void main(String[] args) { final long time = 1491946585000000000L; - DateTime[] date = { - new DateTime(time + DateTimeUtils.DAY * 1), - new DateTime(time + DateTimeUtils.DAY * 2), - new DateTime(time + DateTimeUtils.DAY * 3), - new DateTime(time + DateTimeUtils.DAY * 4)}; + Instant[] date = { + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 1), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 2), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 3), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 4)}; final Number[] open = {3, 4, 3, 5}; final Number[] high = {5, 6, 5, 7}; final Number[] low = {2, 3, 1, 4}; diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/OHLCPlotBy.java b/Plot/src/test/java/io/deephaven/plot/example_plots/OHLCPlotBy.java index 34fd750a386..c1c88ec6d62 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/OHLCPlotBy.java +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/OHLCPlotBy.java @@ -28,7 +28,7 @@ public static void main(String[] args) { TableTools.doubleCol("Close", close)); QueryScope.addParam("time", time); - t = t.updateView("Time = new DateTime(time + (MINUTE * i))"); + t = t.updateView("Time = DateTimeUtils.epochNanosToInstant(time + (MINUTE * i))"); Figure fig = FigureFactory.figure(); Figure cht = fig.newChart(0) diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/PlottingPQ.groovy b/Plot/src/test/java/io/deephaven/plot/example_plots/PlottingPQ.groovy index 15edb0eab55..83c59c46a59 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/PlottingPQ.groovy +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/PlottingPQ.groovy @@ -59,7 +59,7 @@ t = newTable(col("USym", ["A", "B", "A", "B", "A", "B"] as String[]), doubleCol("Low", doubles), doubleCol("Close", doubles)) -t = t.updateView("Time = new DateTime(time + (MINUTE * i))") +t = t.updateView("Time = DateTimeUtils.epochNanosToInstant(time + (MINUTE * i))") ohlc = ohlcPlot("Test1", t, "Time", "Open", "High", "Low", "Close") diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/PlottingPQ.py b/Plot/src/test/java/io/deephaven/plot/example_plots/PlottingPQ.py index fd27a24c240..3227c50306f 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/PlottingPQ.py +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/PlottingPQ.py @@ -51,7 +51,7 @@ tt.doubleCol("Open", doubles), tt.doubleCol("High", doubles), tt.doubleCol("Low", doubles), tt.doubleCol("Close", doubles)) -t = t.updateView("Time = new DateTime(time + (MINUTE * i))") +t = t.updateView("Time = DateTimeUtils.epochNanosToInstant(time + (MINUTE * i))") ohlc = plt.ohlcPlot("Test1", t, "Time", "Open", "High", "Low", "Close") diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/PrettyChart1.java b/Plot/src/test/java/io/deephaven/plot/example_plots/PrettyChart1.java index 22e7a27c658..50b47db48e7 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/PrettyChart1.java +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/PrettyChart1.java @@ -5,9 +5,10 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.plot.*; -import io.deephaven.time.DateTime; import io.deephaven.gui.color.Color; +import java.time.Instant; + public class PrettyChart1 { @@ -18,69 +19,69 @@ public static void main(String[] args) { final Color lighterDarkBlue = new Color(darkBlue.getRed(), darkBlue.getGreen(), darkBlue.getBlue(), 100); final long time = 1491946585000000000L; - DateTime[] date1 = { - new DateTime(time + DateTimeUtils.DAY * 2), - new DateTime(time + DateTimeUtils.DAY * 4), - new DateTime(time + DateTimeUtils.DAY * 5), - new DateTime(time + DateTimeUtils.DAY * 8), - new DateTime(time + DateTimeUtils.DAY * 9), - new DateTime(time + DateTimeUtils.DAY * 11), - new DateTime(time + DateTimeUtils.DAY * 12), - new DateTime(time + DateTimeUtils.DAY * 13), - new DateTime(time + DateTimeUtils.DAY * 14), - new DateTime(time + DateTimeUtils.DAY * 15), - new DateTime(time + DateTimeUtils.DAY * 18), - new DateTime(time + DateTimeUtils.DAY * 19), - new DateTime(time + DateTimeUtils.DAY * 21), - new DateTime(time + DateTimeUtils.DAY * 22), - new DateTime(time + DateTimeUtils.DAY * 23), - new DateTime(time + DateTimeUtils.DAY * 24), - new DateTime(time + DateTimeUtils.DAY * 25), - new DateTime(time + DateTimeUtils.DAY * 28), - new DateTime(time + DateTimeUtils.DAY * 30), - new DateTime(time + DateTimeUtils.DAY * 31), - new DateTime(time + DateTimeUtils.DAY * 32), - new DateTime(time + DateTimeUtils.DAY * 33), - new DateTime(time + DateTimeUtils.DAY * 36), - new DateTime(time + DateTimeUtils.DAY * 38), - new DateTime(time + DateTimeUtils.DAY * 40), - new DateTime(time + DateTimeUtils.DAY * 43), - new DateTime(time + DateTimeUtils.DAY * 44), - new DateTime(time + DateTimeUtils.DAY * 46), + Instant[] date1 = { + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 2), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 4), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 5), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 8), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 9), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 11), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 12), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 13), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 14), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 15), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 18), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 19), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 21), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 22), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 23), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 24), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 25), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 28), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 30), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 31), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 32), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 33), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 36), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 38), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 40), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 43), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 44), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 46), }; - DateTime[] date3 = { - new DateTime(time + DateTimeUtils.DAY), - new DateTime(time + DateTimeUtils.DAY * 3), - new DateTime(time + DateTimeUtils.DAY * 4), - new DateTime(time + DateTimeUtils.DAY * 6), - new DateTime(time + DateTimeUtils.DAY * 8), - new DateTime(time + DateTimeUtils.DAY * 10), - new DateTime(time + DateTimeUtils.DAY * 11), - new DateTime(time + DateTimeUtils.DAY * 13), - new DateTime(time + DateTimeUtils.DAY * 15), - new DateTime(time + DateTimeUtils.DAY * 17), - new DateTime(time + DateTimeUtils.DAY * 18), - new DateTime(time + DateTimeUtils.DAY * 19), - new DateTime(time + DateTimeUtils.DAY * 20), - new DateTime(time + DateTimeUtils.DAY * 21), - new DateTime(time + DateTimeUtils.DAY * 23), - new DateTime(time + DateTimeUtils.DAY * 24), - new DateTime(time + DateTimeUtils.DAY * 26), - new DateTime(time + DateTimeUtils.DAY * 27), - new DateTime(time + DateTimeUtils.DAY * 28), - new DateTime(time + DateTimeUtils.DAY * 30), - new DateTime(time + DateTimeUtils.DAY * 32), - new DateTime(time + DateTimeUtils.DAY * 33), - new DateTime(time + DateTimeUtils.DAY * 34), - new DateTime(time + DateTimeUtils.DAY * 36), - new DateTime(time + DateTimeUtils.DAY * 38), - new DateTime(time + DateTimeUtils.DAY * 40), - new DateTime(time + DateTimeUtils.DAY * 42), - new DateTime(time + DateTimeUtils.DAY * 43), - new DateTime(time + DateTimeUtils.DAY * 44), - new DateTime(time + DateTimeUtils.DAY * 46), + Instant[] date3 = { + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 3), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 4), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 6), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 8), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 10), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 11), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 13), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 15), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 17), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 18), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 19), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 20), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 21), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 23), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 24), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 26), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 27), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 28), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 30), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 32), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 33), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 34), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 36), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 38), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 40), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 42), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 43), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 44), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 46), }; Number[] y1 = { diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleCatError.java b/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleCatError.java index bd5a0310b62..7f97be08f02 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleCatError.java +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleCatError.java @@ -6,8 +6,8 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.plot.Figure; import io.deephaven.plot.FigureFactory; -import io.deephaven.time.DateTime; +import java.time.Instant; /** * Sample catErrorBar plot. @@ -25,11 +25,11 @@ public static void main(String[] args) { final double[] yHigh = {5.9, 2.8, 5.9, 4.9}; final long time = 1491946585000000000L; - DateTime[] date = { - new DateTime(time + DateTimeUtils.DAY * 1), - new DateTime(time + DateTimeUtils.DAY * 2), - new DateTime(time + DateTimeUtils.DAY * 3), - new DateTime(time + DateTimeUtils.DAY * 4)}; + Instant[] date = { + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 1), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 2), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 3), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 4)}; final Number[] open = {3, 4, 3, 5}; final Number[] high = {5, 6, 5, 7}; diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleTsDBDatePlot.java b/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleTsDBDatePlot.java index 1eb8c4522a1..4c191c2abf4 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleTsDBDatePlot.java +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleTsDBDatePlot.java @@ -6,24 +6,24 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.plot.Figure; import io.deephaven.plot.FigureFactory; -import io.deephaven.time.DateTime; +import java.time.Instant; public class SimpleTsDBDatePlot { public static void main(String[] args) { final long time = 1491946585000000000L; - final DateTime[] x1 = { - new DateTime(time), - new DateTime(time + DateTimeUtils.MINUTE), - new DateTime(time + 2 * DateTimeUtils.MINUTE), - new DateTime(time + 3 * DateTimeUtils.MINUTE) + final Instant[] x1 = { + DateTimeUtils.epochNanosToInstant(time), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.MINUTE), + DateTimeUtils.epochNanosToInstant(time + 2 * DateTimeUtils.MINUTE), + DateTimeUtils.epochNanosToInstant(time + 3 * DateTimeUtils.MINUTE) }; final Number[] y1 = {2, 3, 1, 9}; - final DateTime[] x2 = { - new DateTime(time + DateTimeUtils.MINUTE), - new DateTime(time + 3 * DateTimeUtils.MINUTE), - new DateTime(time + 4 * DateTimeUtils.MINUTE) + final Instant[] x2 = { + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.MINUTE), + DateTimeUtils.epochNanosToInstant(time + 3 * DateTimeUtils.MINUTE), + DateTimeUtils.epochNanosToInstant(time + 4 * DateTimeUtils.MINUTE) }; final Number[] y2 = {1.3, 3.2, 3.4}; @@ -39,5 +39,4 @@ public static void main(String[] args) { ExamplePlotUtils.display(axs); } - } diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYDateTime.java b/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYDateTime.java index d2182f91233..8d45dd7b754 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYDateTime.java +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYDateTime.java @@ -6,30 +6,32 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.plot.Figure; import io.deephaven.plot.PlotStyle; -import io.deephaven.time.DateTime; + +import java.time.Instant; import static io.deephaven.plot.PlottingConvenience.plot; /** - * XY plot with DateTime axis + * XY plot with date time axis */ public class SimpleXYDateTime { public static void main(String[] args) { - final long dateTime = DateTimeUtils.convertDateTime("2018-02-01T09:30:00 NY").getNanos(); - final DateTime[] dates = new DateTime[] {DateTimeUtils.nanosToTime(dateTime), - DateTimeUtils.nanosToTime(dateTime + DateTimeUtils.HOUR), - DateTimeUtils.nanosToTime(dateTime + 2 * DateTimeUtils.HOUR), - DateTimeUtils.nanosToTime(dateTime + 3 * DateTimeUtils.HOUR), - DateTimeUtils.nanosToTime(dateTime + 4 * DateTimeUtils.HOUR), - DateTimeUtils.nanosToTime(dateTime + 5 * DateTimeUtils.HOUR), - DateTimeUtils.nanosToTime(dateTime + 6 * DateTimeUtils.HOUR), - DateTimeUtils.nanosToTime(dateTime + 6 * DateTimeUtils.HOUR + 30 * DateTimeUtils.MINUTE), + final long time = DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2018-02-01T09:30:00 NY")); + final Instant[] instants = new Instant[] { + DateTimeUtils.epochNanosToInstant(time), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.HOUR), + DateTimeUtils.epochNanosToInstant(time + 2 * DateTimeUtils.HOUR), + DateTimeUtils.epochNanosToInstant(time + 3 * DateTimeUtils.HOUR), + DateTimeUtils.epochNanosToInstant(time + 4 * DateTimeUtils.HOUR), + DateTimeUtils.epochNanosToInstant(time + 5 * DateTimeUtils.HOUR), + DateTimeUtils.epochNanosToInstant(time + 6 * DateTimeUtils.HOUR), + DateTimeUtils.epochNanosToInstant(time + 6 * DateTimeUtils.HOUR + 30 * DateTimeUtils.MINUTE), }; final double[] data = new double[] {1, 2, 3, 4, 5, 6, 7, 8}; - Figure axs2 = plot("Test2", dates, data) + Figure axs2 = plot("Test2", instants, data) .xBusinessTime() .plotStyle(PlotStyle.SCATTER) .linesVisible(true) diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYError.java b/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYError.java index b0a51971dca..5f85f6f55fc 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYError.java +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYError.java @@ -6,8 +6,8 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.plot.Figure; import io.deephaven.plot.FigureFactory; -import io.deephaven.time.DateTime; +import java.time.Instant; /** * Sample errorBar plot. @@ -25,11 +25,11 @@ public static void main(String[] args) { final double[] yHigh = {5.9, 2.8, 5.9, 4.9}; final long time = 1491946585000000000L; - DateTime[] date = { - new DateTime(time + DateTimeUtils.DAY * 1), - new DateTime(time + DateTimeUtils.DAY * 2), - new DateTime(time + DateTimeUtils.DAY * 3), - new DateTime(time + DateTimeUtils.DAY * 4)}; + Instant[] instants = { + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 1), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 2), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 3), + DateTimeUtils.epochNanosToInstant(time + DateTimeUtils.DAY * 4)}; final Number[] open = {3, 4, 3, 5}; final Number[] high = {5, 6, 5, 7}; @@ -40,9 +40,9 @@ public static void main(String[] args) { if (testOHLC) { fig = FigureFactory.figure() - .plot("S1", date, y1).plotStyle("Line") + .plot("S1", instants, y1).plotStyle("Line") .twin() - .ohlcPlot("S2", date, open, high, low, close).plotStyle("OHLC"); + .ohlcPlot("S2", instants, open, high, low, close).plotStyle("OHLC"); } else { fig = FigureFactory.figure() .errorBarXY("S1", x1, xLow, xHigh, y1, yLow, yHigh).plotStyle("bar").pointsVisible(true); diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYTable.java b/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYTable.java index 862fe22b4b5..914804181bc 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYTable.java +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/SimpleXYTable.java @@ -15,9 +15,11 @@ public class SimpleXYTable { public static void main(String[] args) { - Table t = TableTools.emptyTable(10).updateView("Timestamp = new DateTime(i * HOUR)", "Open = i", - "High = i + 2", "Low = i - 2", "Close = i + 1", "By = i % 5"); - Table t2 = TableTools.emptyTable(5000).updateView("Timestamp = new DateTime(0) + (i * HOUR)", + Table t = TableTools.emptyTable(10).updateView( + "Timestamp = DateTimeUtils.epochNanosToInstant(i * HOUR)", + "Open = i", "High = i + 2", "Low = i - 2", "Close = i + 1", "By = i % 5"); + Table t2 = TableTools.emptyTable(5000).updateView( + "Timestamp = DateTimeUtils.epochNanosToInstant(0) + (i * HOUR)", "Open = i + 100", "High = i + 2 + 100", "Low = i - 2 + 100", "Close = i + 1 + 100", "By = i % 5"); final Figure f = diff --git a/Plot/src/test/java/io/deephaven/plot/example_plots/plotting_samples.groovy b/Plot/src/test/java/io/deephaven/plot/example_plots/plotting_samples.groovy index 20907a01470..3a825463888 100644 --- a/Plot/src/test/java/io/deephaven/plot/example_plots/plotting_samples.groovy +++ b/Plot/src/test/java/io/deephaven/plot/example_plots/plotting_samples.groovy @@ -4,8 +4,10 @@ //auto imported -import io.deephaven.time.DateTime import io.deephaven.engine.util.TableTools +import io.deephaven.time.DateTimeUtils + +import java.time.Instant import static io.deephaven.plot.colors.ColorMaps.heatMap import static io.deephaven.plot.colors.ColorMaps.rangeMap @@ -18,10 +20,10 @@ import static io.deephaven.plot.colors.ColorMaps.rangeMap time = 1491946585000000000L //Sample plot OHLCChart -date = [new DateTime(time + DAY * 1), - new DateTime(time + DAY * 2), - new DateTime(time + DAY * 3), - new DateTime(time + DAY * 4)] as DateTime[] +date = [DateTimeUtils.epochNanosToInstant(time + DAY * 1), + DateTimeUtils.epochNanosToInstant(time + DAY * 2), + DateTimeUtils.epochNanosToInstant(time + DAY * 3), + DateTimeUtils.epochNanosToInstant(time + DAY * 4)] as Instant[] open = [3, 4, 3, 5]as Number[] high = [5, 6, 5, 7]as Number[] low = [2, 3, 1, 4]as Number[] @@ -43,64 +45,64 @@ darkBlue = java.awt.Color.decode("#1f77b4") lighterRed = colorRGB(red.getRed(), red.getGreen(), red.getBlue(), 50) lighterDarkBlue = colorRGB(darkBlue.getRed(), darkBlue.getGreen(), darkBlue.getBlue(), 100) date1 = [ - new DateTime(time + DAY * 2), - new DateTime(time + DAY * 4), - new DateTime(time + DAY * 5), - new DateTime(time + DAY * 8), - new DateTime(time + DAY * 9), - new DateTime(time + DAY * 11), - new DateTime(time + DAY * 12), - new DateTime(time + DAY * 13), - new DateTime(time + DAY * 14), - new DateTime(time + DAY * 15), - new DateTime(time + DAY * 18), - new DateTime(time + DAY * 19), - new DateTime(time + DAY * 21), - new DateTime(time + DAY * 22), - new DateTime(time + DAY * 23), - new DateTime(time + DAY * 24), - new DateTime(time + DAY * 25), - new DateTime(time + DAY * 28), - new DateTime(time + DAY * 30), - new DateTime(time + DAY * 31), - new DateTime(time + DAY * 32), - new DateTime(time + DAY * 33), - new DateTime(time + DAY * 36), - new DateTime(time + DAY * 38), - new DateTime(time + DAY * 40), - new DateTime(time + DAY * 43), - new DateTime(time + DAY * 44), - new DateTime(time + DAY * 46)] as DateTime[] -date3 = [new DateTime(time + DAY), - new DateTime(time + DAY * 3), - new DateTime(time + DAY * 4), - new DateTime(time + DAY * 6), - new DateTime(time + DAY * 8), - new DateTime(time + DAY * 10), - new DateTime(time + DAY * 11), - new DateTime(time + DAY * 13), - new DateTime(time + DAY * 15), - new DateTime(time + DAY * 17), - new DateTime(time + DAY * 18), - new DateTime(time + DAY * 19), - new DateTime(time + DAY * 20), - new DateTime(time + DAY * 21), - new DateTime(time + DAY * 23), - new DateTime(time + DAY * 24), - new DateTime(time + DAY * 26), - new DateTime(time + DAY * 27), - new DateTime(time + DAY * 28), - new DateTime(time + DAY * 30), - new DateTime(time + DAY * 32), - new DateTime(time + DAY * 33), - new DateTime(time + DAY * 34), - new DateTime(time + DAY * 36), - new DateTime(time + DAY * 38), - new DateTime(time + DAY * 40), - new DateTime(time + DAY * 42), - new DateTime(time + DAY * 43), - new DateTime(time + DAY * 44), - new DateTime(time + DAY * 46)] as DateTime[] + DateTimeUtils.epochNanosToInstant(time + DAY * 2), + DateTimeUtils.epochNanosToInstant(time + DAY * 4), + DateTimeUtils.epochNanosToInstant(time + DAY * 5), + DateTimeUtils.epochNanosToInstant(time + DAY * 8), + DateTimeUtils.epochNanosToInstant(time + DAY * 9), + DateTimeUtils.epochNanosToInstant(time + DAY * 11), + DateTimeUtils.epochNanosToInstant(time + DAY * 12), + DateTimeUtils.epochNanosToInstant(time + DAY * 13), + DateTimeUtils.epochNanosToInstant(time + DAY * 14), + DateTimeUtils.epochNanosToInstant(time + DAY * 15), + DateTimeUtils.epochNanosToInstant(time + DAY * 18), + DateTimeUtils.epochNanosToInstant(time + DAY * 19), + DateTimeUtils.epochNanosToInstant(time + DAY * 21), + DateTimeUtils.epochNanosToInstant(time + DAY * 22), + DateTimeUtils.epochNanosToInstant(time + DAY * 23), + DateTimeUtils.epochNanosToInstant(time + DAY * 24), + DateTimeUtils.epochNanosToInstant(time + DAY * 25), + DateTimeUtils.epochNanosToInstant(time + DAY * 28), + DateTimeUtils.epochNanosToInstant(time + DAY * 30), + DateTimeUtils.epochNanosToInstant(time + DAY * 31), + DateTimeUtils.epochNanosToInstant(time + DAY * 32), + DateTimeUtils.epochNanosToInstant(time + DAY * 33), + DateTimeUtils.epochNanosToInstant(time + DAY * 36), + DateTimeUtils.epochNanosToInstant(time + DAY * 38), + DateTimeUtils.epochNanosToInstant(time + DAY * 40), + DateTimeUtils.epochNanosToInstant(time + DAY * 43), + DateTimeUtils.epochNanosToInstant(time + DAY * 44), + DateTimeUtils.epochNanosToInstant(time + DAY * 46)] as Instant[] +date3 = [DateTimeUtils.epochNanosToInstant(time + DAY), + DateTimeUtils.epochNanosToInstant(time + DAY * 3), + DateTimeUtils.epochNanosToInstant(time + DAY * 4), + DateTimeUtils.epochNanosToInstant(time + DAY * 6), + DateTimeUtils.epochNanosToInstant(time + DAY * 8), + DateTimeUtils.epochNanosToInstant(time + DAY * 10), + DateTimeUtils.epochNanosToInstant(time + DAY * 11), + DateTimeUtils.epochNanosToInstant(time + DAY * 13), + DateTimeUtils.epochNanosToInstant(time + DAY * 15), + DateTimeUtils.epochNanosToInstant(time + DAY * 17), + DateTimeUtils.epochNanosToInstant(time + DAY * 18), + DateTimeUtils.epochNanosToInstant(time + DAY * 19), + DateTimeUtils.epochNanosToInstant(time + DAY * 20), + DateTimeUtils.epochNanosToInstant(time + DAY * 21), + DateTimeUtils.epochNanosToInstant(time + DAY * 23), + DateTimeUtils.epochNanosToInstant(time + DAY * 24), + DateTimeUtils.epochNanosToInstant(time + DAY * 26), + DateTimeUtils.epochNanosToInstant(time + DAY * 27), + DateTimeUtils.epochNanosToInstant(time + DAY * 28), + DateTimeUtils.epochNanosToInstant(time + DAY * 30), + DateTimeUtils.epochNanosToInstant(time + DAY * 32), + DateTimeUtils.epochNanosToInstant(time + DAY * 33), + DateTimeUtils.epochNanosToInstant(time + DAY * 34), + DateTimeUtils.epochNanosToInstant(time + DAY * 36), + DateTimeUtils.epochNanosToInstant(time + DAY * 38), + DateTimeUtils.epochNanosToInstant(time + DAY * 40), + DateTimeUtils.epochNanosToInstant(time + DAY * 42), + DateTimeUtils.epochNanosToInstant(time + DAY * 43), + DateTimeUtils.epochNanosToInstant(time + DAY * 44), + DateTimeUtils.epochNanosToInstant(time + DAY * 46)] as Instant[] y1 = [100, 102, 98, @@ -236,14 +238,14 @@ SimpleHistoTableChart = figure().figureTitle("Histogram").histPlot("Histogram", //////////////////////////////////////////////////////////////////////////////////////////////////// //Sample Time Series Plot -x1 = [new DateTime(time), - new DateTime(time + MINUTE), - new DateTime(time + 2 * MINUTE), - new DateTime(time + 3 * MINUTE)] as DateTime[] +x1 = [DateTimeUtils.epochNanosToInstant(time), + DateTimeUtils.epochNanosToInstant(time + MINUTE), + DateTimeUtils.epochNanosToInstant(time + 2 * MINUTE), + DateTimeUtils.epochNanosToInstant(time + 3 * MINUTE)] as Instant[] y1 = [2, 3, 1, 9] as Number[] -x2 = [new DateTime(time + MINUTE), - new DateTime(time + (3 * MINUTE)), - new DateTime(time + (4 * MINUTE))] as DateTime[] +x2 = [DateTimeUtils.epochNanosToInstant(time + MINUTE), + DateTimeUtils.epochNanosToInstant(time + (3 * MINUTE)), + DateTimeUtils.epochNanosToInstant(time + (4 * MINUTE))] as Instant[] y2 = [1.3, 3.2, 3.4] as Number[] SimpleTsDBDatePlotChart = figure().figureTitle("Time Series") .plot("S1", x1,y1) @@ -496,14 +498,14 @@ ColorMapPlot = ColorMapPlot.plot("S1", x, y2).pointColorByY(rangeMap(colorMap)) //////////////////////////////////////////////////////////////////////////////////////////////////// //liveplot1 -t = TableTools.timeTable("00:00:01") +t = TableTools.timeTable("PT00:00:01") .updateView("I=i","J=sin(I*3.14/25)") LivePlot = plot("S1",t,"I","J").show() //////////////////////////////////////////////////////////////////////////////////////////////////// //liveplot2 -t = TableTools.timeTable("00:00:01") +t = TableTools.timeTable("PT00:00:01") .updateView("I=i","J=sin(I*3.14/25)","K=sin(I*3.14/25+3.14/4)") LivePlot2 = figure().updateInterval(500) .plot("S1",t,"I","J") @@ -513,19 +515,19 @@ LivePlot2 = figure().updateInterval(500) //business transform -x = new DateTime[500] +x = new Instant[500] y = new double[500] now = 1493305755000000000L for(ii = 0; ii < 250; ii++) { now = now + MINUTE - x[ii] = new DateTime(now) + x[ii] = DateTimeUtils.epochNanosToInstant(now) y[ii] = Math.sin(ii); } now = 1493305755000000000L + DAY for(ii = 250; ii < x.length; ii++) { now = now + MINUTE - x[ii] = new DateTime(now) + x[ii] = DateTimeUtils.epochNanosToInstant(now) y[ii] = Math.sin(ii) } @@ -541,6 +543,6 @@ businessPlot = figure(2,1) //one click -t = TableTools.timeTable("00:00:01") +t = TableTools.timeTable("PT00:00:01") .updateView("Cat = i%2 == 0 ? `A` : `B`", "I=i", "J = i % 2 == 0 ? sin(I*3.14/10) : cos(I*3.14/10)") LivePlot = plot("S1",oneClick(t, "Cat"),"I","J").show() \ No newline at end of file diff --git a/Plot/src/test/java/io/deephaven/plot/util/TestArgumentValidations.java b/Plot/src/test/java/io/deephaven/plot/util/TestArgumentValidations.java index 6a5f9dc96e9..aa0a63bce14 100644 --- a/Plot/src/test/java/io/deephaven/plot/util/TestArgumentValidations.java +++ b/Plot/src/test/java/io/deephaven/plot/util/TestArgumentValidations.java @@ -3,17 +3,17 @@ */ package io.deephaven.plot.util; - import io.deephaven.base.testing.BaseArrayTestCase; -import io.deephaven.time.DateTime; import io.deephaven.gui.color.Color; import io.deephaven.plot.datasets.data.IndexableNumericData; import io.deephaven.plot.datasets.data.IndexableNumericDataArrayInt; import io.deephaven.plot.util.tables.TableHandle; import io.deephaven.engine.table.Table; import io.deephaven.engine.util.TableTools; +import io.deephaven.time.DateTimeUtils; import junit.framework.TestCase; +import java.time.Instant; import java.util.Date; public class TestArgumentValidations extends BaseArrayTestCase { @@ -29,7 +29,7 @@ public void testArgumentValidations() { final int[] ints = {1}; final IndexableNumericData intData = new IndexableNumericDataArrayInt(ints, null); final IndexableNumericData intData2 = new IndexableNumericDataArrayInt(new int[] {2, 3}, null); - final DateTime[] dates = {new DateTime(1)}; + final Instant[] dates = {DateTimeUtils.epochNanosToInstant(1)}; final Color[] colors = {new Color(1)}; final Table table = TableTools.newTable( TableTools.col(stringColumn, NON_NULL), @@ -98,12 +98,12 @@ public void testArgumentValidations() { assertTrue(e.getMessage().contains(INVALID)); } - assertTrue(ArgumentValidations.isTime(DateTime.class, null)); + assertTrue(ArgumentValidations.isTime(Instant.class, null)); assertTrue(ArgumentValidations.isTime(Date.class, null)); assertFalse(ArgumentValidations.isTime(int.class, null)); assertFalse(ArgumentValidations.isTime(Double.class, null)); - assertTrue(ArgumentValidations.isNumericOrTime(DateTime.class, null)); + assertTrue(ArgumentValidations.isNumericOrTime(Instant.class, null)); assertTrue(ArgumentValidations.isNumericOrTime(Date.class, null)); assertTrue(ArgumentValidations.isNumericOrTime(int.class, null)); assertTrue(ArgumentValidations.isNumericOrTime(Double.class, null)); diff --git a/Plot/src/test/java/io/deephaven/plot/util/tables/TestColumnHandlerFactory.java b/Plot/src/test/java/io/deephaven/plot/util/tables/TestColumnHandlerFactory.java index 838fbb6a7e0..ae92ae24329 100644 --- a/Plot/src/test/java/io/deephaven/plot/util/tables/TestColumnHandlerFactory.java +++ b/Plot/src/test/java/io/deephaven/plot/util/tables/TestColumnHandlerFactory.java @@ -5,13 +5,14 @@ import io.deephaven.base.testing.BaseArrayTestCase; import io.deephaven.plot.errors.PlotIllegalArgumentException; -import io.deephaven.time.DateTime; import io.deephaven.gui.color.Color; import io.deephaven.gui.color.Paint; import io.deephaven.engine.table.Table; import io.deephaven.engine.util.TableTools; +import io.deephaven.time.DateTimeUtils; import junit.framework.TestCase; +import java.time.Instant; import java.util.Date; import static io.deephaven.util.QueryConstants.*; @@ -29,8 +30,9 @@ public class TestColumnHandlerFactory extends BaseArrayTestCase { private final Float[] Floats = {null, 2f, 3f}; private final Double[] Doubles = {null, 2d, 3d}; private final Number[] Numbers = {null, 2, 3}; - private final Date[] Dates = {null, new Date(1), new Date(2)}; - private final DateTime[] DateTimes = {null, new DateTime(1), new DateTime(2)}; + private final Date[] dates = {null, new Date(1), new Date(2)}; + private final Instant[] instants = { + null, DateTimeUtils.epochNanosToInstant(1), DateTimeUtils.epochNanosToInstant(2)}; private final Paint[] paints = {null, new Color(100, 0, 0), new Color(0, 100, 0)}; private final String[] strings = {"A", "B", "C"}; private final Table table = TableTools.newTable( @@ -45,14 +47,14 @@ public class TestColumnHandlerFactory extends BaseArrayTestCase { TableTools.col("Floats", Floats), TableTools.col("Doubles", Doubles), TableTools.col("Numbers", Numbers), - TableTools.col("Dates", Dates), - TableTools.col("DateTimes", DateTimes), + TableTools.col("Dates", dates), + TableTools.col("Instants", instants), TableTools.col("Paints", paints), TableTools.col("Strings", strings)).ungroup(); private final TableHandle tableHandle = new TableHandle(table, "ints", "floats", "longs", "doubles", "shorts", "Shorts", "Integers", "Longs", "Floats", "Doubles", - "Numbers", "Dates", "DateTimes", "Paints", "Strings"); + "Numbers", "Dates", "Instants", "Paints", "Strings"); public void testTypeClassification() { @@ -113,8 +115,8 @@ public void testNumericColumnHandlerHandle() { handler = ColumnHandlerFactory.newNumericHandler(tableHandle, "Dates", null); columnHandlerTest(ColumnHandlerFactory.TypeClassification.TIME, "Dates", Date.class, handler); - handler = ColumnHandlerFactory.newNumericHandler(tableHandle, "DateTimes", null); - columnHandlerTest(ColumnHandlerFactory.TypeClassification.TIME, "DateTimes", DateTime.class, handler); + handler = ColumnHandlerFactory.newNumericHandler(tableHandle, "Instants", null); + columnHandlerTest(ColumnHandlerFactory.TypeClassification.TIME, "Instants", Instant.class, handler); handler.getTableHandle(); handler = ColumnHandlerFactory.newNumericHandler(tableHandle, "Paints", null); @@ -193,8 +195,8 @@ public void testNumericColumnHandlerTable() { handler = ColumnHandlerFactory.newNumericHandler(table, "Dates", null); columnHandlerTest(ColumnHandlerFactory.TypeClassification.TIME, "Dates", Date.class, handler); - handler = ColumnHandlerFactory.newNumericHandler(table, "DateTimes", null); - columnHandlerTest(ColumnHandlerFactory.TypeClassification.TIME, "DateTimes", DateTime.class, handler); + handler = ColumnHandlerFactory.newNumericHandler(table, "Instants", null); + columnHandlerTest(ColumnHandlerFactory.TypeClassification.TIME, "Instants", Instant.class, handler); try { handler.getTableHandle(); @@ -390,11 +392,11 @@ private void columnHandlerTest(ColumnHandlerFactory.TypeClassification type, Str assertNull(handler.get(0)); for (int i = 1; i < doubles.length; i++) { if (clazz.equals(Date.class)) { - assertEquals(Dates[i].getTime(), ((Date) handler.get(i)).getTime()); - assertEquals((double) Dates[i].getTime() * 1000000, handler.getDouble(i)); - } else if (clazz.equals(DateTime.class)) { - assertEquals(DateTimes[i], handler.get(i)); - assertEquals((double) DateTimes[i].getNanos(), handler.getDouble(i)); + assertEquals(dates[i].getTime(), ((Date) handler.get(i)).getTime()); + assertEquals((double) dates[i].getTime() * 1000000, handler.getDouble(i)); + } else if (clazz.equals(Instant.class)) { + assertEquals(instants[i], handler.get(i)); + assertEquals((double) DateTimeUtils.epochNanos(instants[i]), handler.getDouble(i)); } else { assertEquals(doubles[i], handler.getDouble(i)); if (Number.class.isAssignableFrom(handler.get(i).getClass())) { diff --git a/Util/src/main/java/io/deephaven/util/type/TypeUtils.java b/Util/src/main/java/io/deephaven/util/type/TypeUtils.java index a67f5b9d1d8..fad8a04ffd9 100644 --- a/Util/src/main/java/io/deephaven/util/type/TypeUtils.java +++ b/Util/src/main/java/io/deephaven/util/type/TypeUtils.java @@ -514,7 +514,7 @@ public static boolean isCharacter(@NotNull final Class c) { } /** - * Whether the class is a DateTime, ZonedDateTime, or Instant. + * Whether the class is an {@link Instant}, a {@link ZonedDateTime}, or annotated as {@link IsDateTime}. * * @param type The class. * @return true if the type is a DateTime, {@link java.time.ZonedDateTime} or {@link Instant}. diff --git a/debezium/scripts/demo.py b/debezium/scripts/demo.py index dbe5a0ef069..1baab228991 100644 --- a/debezium/scripts/demo.py +++ b/debezium/scripts/demo.py @@ -190,4 +190,4 @@ def make_cdc_table(table_name:str): agg.count_('total'), agg.max_(['max_received_at = received_at']) ]) \ - .update(['dt_ms = (DateTime.now() - max_received_at)/1_000_000.0']) + .update(['dt_ms = (DateTimeUtils.now() - max_received_at)/1_000_000.0']) diff --git a/engine/api/src/main/java/io/deephaven/engine/table/ColumnDefinition.java b/engine/api/src/main/java/io/deephaven/engine/table/ColumnDefinition.java index e9f9a083bba..2eb0c7dfea4 100644 --- a/engine/api/src/main/java/io/deephaven/engine/table/ColumnDefinition.java +++ b/engine/api/src/main/java/io/deephaven/engine/table/ColumnDefinition.java @@ -7,7 +7,6 @@ import io.deephaven.base.log.LogOutputAppendable; import io.deephaven.io.log.impl.LogOutputStringImpl; import io.deephaven.vector.*; -import io.deephaven.time.DateTime; import io.deephaven.qst.column.header.ColumnHeader; import io.deephaven.qst.type.ArrayType; import io.deephaven.qst.type.BooleanType; @@ -30,6 +29,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.time.Instant; import java.util.List; import java.util.Objects; @@ -95,8 +95,8 @@ public static ColumnDefinition ofString(@NotNull final String name) { return new ColumnDefinition<>(name, String.class); } - public static ColumnDefinition ofTime(@NotNull final String name) { - return new ColumnDefinition<>(name, DateTime.class); + public static ColumnDefinition ofTime(@NotNull final String name) { + return new ColumnDefinition<>(name, Instant.class); } public static ColumnDefinition of(String name, Type type) { diff --git a/engine/api/src/main/java/io/deephaven/engine/table/Table.java b/engine/api/src/main/java/io/deephaven/engine/table/Table.java index 0fad56f3010..cd1e550b1b1 100644 --- a/engine/api/src/main/java/io/deephaven/engine/table/Table.java +++ b/engine/api/src/main/java/io/deephaven/engine/table/Table.java @@ -351,28 +351,6 @@ public interface Table extends @ConcurrentMethod Table moveColumns(int index, boolean moveToEnd, String... columnsToMove); - /** - * Produce a new table with the same columns as this table, but with a new column presenting the specified DateTime - * column as a Long column (with each DateTime represented instead as the corresponding number of nanos since the - * epoch). - *

- * NOTE: This is a really just an updateView(), and behaves accordingly for column ordering and (re)placement. This - * doesn't work on data that has been brought fully into memory (e.g. via select()). Use a view instead. - * - * @param dateTimeColumnName Name of date time column - * @param nanosColumnName Name of nanos column - * @return The new table, constructed as explained above. - */ - @ConcurrentMethod - Table dateTimeColumnAsNanos(String dateTimeColumnName, String nanosColumnName); - - /** - * @param columnName name of column to convert from DateTime to nanos - * @return The result of dateTimeColumnAsNanos(columnName, columnName). - */ - @ConcurrentMethod - Table dateTimeColumnAsNanos(String columnName); - // ----------------------------------------------------------------------------------------------------------------- // Slice Operations // ----------------------------------------------------------------------------------------------------------------- diff --git a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/MatchFilterBenchmark.java b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/MatchFilterBenchmark.java index bfbd9e003f2..b47b0737404 100644 --- a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/MatchFilterBenchmark.java +++ b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/MatchFilterBenchmark.java @@ -5,7 +5,6 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.table.impl.select.*; import io.deephaven.benchmarking.*; @@ -15,6 +14,7 @@ import org.openjdk.jmh.runner.RunnerException; import java.io.IOException; +import java.time.Instant; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; @@ -76,8 +76,8 @@ public void setupEnv(BenchmarkParams params) { builder.setSeed(0xDEADBEEF) .addColumn(BenchmarkTools.stringCol("PartCol", 4, 5, 7, 0xFEEDBEEF)); - final DateTime startTime = DateTimeUtils.convertDateTime("2019-01-01T12:00:00 NY"); - final DateTime endTime = DateTimeUtils.convertDateTime("2019-01-01T12:00:00.000001 NY"); + final Instant startTime = DateTimeUtils.parseInstant("2019-01-01T12:00:00 NY"); + final Instant endTime = DateTimeUtils.parseInstant("2019-01-01T12:00:00.000001 NY"); switch (filterCol) { case "L1": @@ -90,7 +90,7 @@ public void setupEnv(BenchmarkParams params) { builder.addColumn(BenchmarkTools.stringCol("Symbol", 1000, 1, 10, 0)); break; case "Timestamp": - builder.addColumn(BenchmarkTools.dateCol("Timestamp", startTime, endTime)); + builder.addColumn(BenchmarkTools.instantCol("Timestamp", startTime, endTime)); break; } diff --git a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/RangeFilterBenchmark.java b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/RangeFilterBenchmark.java index 83b42df1513..c435bfe2f68 100644 --- a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/RangeFilterBenchmark.java +++ b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/RangeFilterBenchmark.java @@ -5,7 +5,6 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.table.impl.select.*; import io.deephaven.benchmarking.*; @@ -14,6 +13,7 @@ import org.openjdk.jmh.infra.BenchmarkParams; import java.io.IOException; +import java.time.Instant; import java.util.concurrent.TimeUnit; import java.util.function.Function; @@ -71,8 +71,8 @@ public void setupEnv(BenchmarkParams params) { builder.setSeed(0xDEADBEEF) .addColumn(BenchmarkTools.stringCol("PartCol", 4, 5, 7, 0xFEEDBEEF)); - final DateTime startTime = DateTimeUtils.convertDateTime("2019-01-01T12:00:00 NY"); - final DateTime endTime = DateTimeUtils.convertDateTime("2019-12-31T12:00:00 NY"); + final Instant startTime = DateTimeUtils.parseInstant("2019-01-01T12:00:00 NY"); + final Instant endTime = DateTimeUtils.parseInstant("2019-12-31T12:00:00 NY"); switch (filterCol) { case "D1": @@ -88,12 +88,12 @@ public void setupEnv(BenchmarkParams params) { builder.addColumn(BenchmarkTools.numberCol("I1", int.class, -10_000_000, 10_000_000)); break; case "Timestamp": - builder.addColumn(BenchmarkTools.dateCol("Timestamp", startTime, endTime)); + builder.addColumn(BenchmarkTools.instantCol("Timestamp", startTime, endTime)); break; } if (filterCol.equals("Timestamp")) { - final DateTime lowerBound, upperBound; + final Instant lowerBound, upperBound; if (selectivity == 100) { upperBound = endTime; lowerBound = startTime; @@ -101,16 +101,16 @@ public void setupEnv(BenchmarkParams params) { lowerBound = DateTimeUtils.plus(endTime, 1000_000_000L); upperBound = DateTimeUtils.plus(lowerBound, 1000_000_00L); } else { - final long midpoint = (startTime.getNanos() + endTime.getNanos()) / 2; - final long range = (endTime.getNanos() - startTime.getNanos()); - lowerBound = DateTimeUtils.nanosToTime(midpoint - (long) (range * (selectivity / 100.0))); - upperBound = DateTimeUtils.nanosToTime(midpoint + (long) (range * (selectivity / 100.0))); + final long midpoint = (DateTimeUtils.epochNanos(startTime) + DateTimeUtils.epochNanos(endTime)) / 2; + final long range = (DateTimeUtils.epochNanos(endTime) - DateTimeUtils.epochNanos(startTime)); + lowerBound = DateTimeUtils.epochNanosToInstant(midpoint - (long) (range * (selectivity / 100.0))); + upperBound = DateTimeUtils.epochNanosToInstant(midpoint + (long) (range * (selectivity / 100.0))); } assert lowerBound != null; assert upperBound != null; - rangeFilter = new DateTimeRangeFilter(filterCol, lowerBound, upperBound); + rangeFilter = new InstantRangeFilter(filterCol, lowerBound, upperBound); } else { final double lowerBound, upperBound; if (selectivity == 100) { diff --git a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/RegionedColumnSourceBenchmark.java b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/RegionedColumnSourceBenchmark.java index c21052b4285..cdae947a7aa 100644 --- a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/RegionedColumnSourceBenchmark.java +++ b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/RegionedColumnSourceBenchmark.java @@ -135,7 +135,7 @@ public void setupEnv(BenchmarkParams params) { copier = Copier.Object; break; case "Timestamp": - builder.addColumn(BenchmarkTools.dateCol("Timestamp")); + builder.addColumn(BenchmarkTools.instantCol("Timestamp")); destination = ChunkType.Object.makeWritableChunk(chunkCapacity); copier = Copier.Object; break; diff --git a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/SingleTableKeyedDateTimeOperations.java b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/SingleTableKeyedInstantOperations.java similarity index 87% rename from engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/SingleTableKeyedDateTimeOperations.java rename to engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/SingleTableKeyedInstantOperations.java index 2e51e9f5a0d..668549a9101 100644 --- a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/SingleTableKeyedDateTimeOperations.java +++ b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/SingleTableKeyedInstantOperations.java @@ -24,7 +24,7 @@ @Measurement(iterations = 1, time = 1) @Timeout(time = 3) @Fork(1) -public class SingleTableKeyedDateTimeOperations { +public class SingleTableKeyedInstantOperations { private TableBenchmarkState state; BenchmarkTable bmTable; @@ -47,7 +47,7 @@ public class SingleTableKeyedDateTimeOperations { private Table inputTable; private String[] keyColumns; - String[] convertToDateTime; + String[] convertToInstant; @Setup(Level.Trial) public void setupEnv(BenchmarkParams params) { @@ -68,19 +68,19 @@ public void setupEnv(BenchmarkParams params) { keyColumns = new String[columnCount]; - convertToDateTime = new String[columnCount + 1]; + convertToInstant = new String[columnCount + 1]; for (int i = 0; i < keyColumns.length; i++) { keyColumns[i] = "InputColumn" + i; - convertToDateTime[i] = keyColumns[i] + " = new DateTime(" + keyColumns[i] + ")"; + convertToInstant[i] = keyColumns[i] + " = DateTimeUtils.epochNanosToInstant(" + keyColumns[i] + ")"; } - convertToDateTime[columnCount] = "Mock"; + convertToInstant[columnCount] = "Mock"; } @Setup(Level.Iteration) public void setupIteration() { state.init(); - inputTable = applySparsity(bmTable.getTable().select(convertToDateTime), tableSize, sparsity, 0); + inputTable = applySparsity(bmTable.getTable().select(convertToInstant), tableSize, sparsity, 0); } @@ -96,7 +96,7 @@ public Table lastBy() { } public static void main(String[] args) { - BenchUtil.run(SingleTableKeyedDateTimeOperations.class); + BenchUtil.run(SingleTableKeyedInstantOperations.class); } } diff --git a/engine/context/src/main/java/io/deephaven/engine/context/QueryScope.java b/engine/context/src/main/java/io/deephaven/engine/context/QueryScope.java index 5a5ba5f61ac..cccf14b22bd 100644 --- a/engine/context/src/main/java/io/deephaven/engine/context/QueryScope.java +++ b/engine/context/src/main/java/io/deephaven/engine/context/QueryScope.java @@ -3,9 +3,7 @@ */ package io.deephaven.engine.context; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.Period; import io.deephaven.hash.KeyedObjectHashMap; import io.deephaven.hash.KeyedObjectKey; import io.deephaven.base.log.LogOutput; @@ -15,6 +13,9 @@ import org.jetbrains.annotations.NotNull; import java.lang.reflect.Field; +import java.time.Duration; +import java.time.Instant; +import java.time.Period; import java.util.*; /** @@ -91,21 +92,26 @@ private static Object applyValueConversions(final Object value) { && stringValue.charAt(stringValue.length() - 1) == '\'') { final String datetimeString = stringValue.substring(1, stringValue.length() - 1); - final DateTime dateTime = DateTimeUtils.convertDateTimeQuiet(datetimeString); - if (dateTime != null) { - return dateTime; + final Instant instant = DateTimeUtils.parseInstantQuiet(datetimeString); + if (instant != null) { + return instant; } - final long localTime = DateTimeUtils.convertTimeQuiet(datetimeString); + final long localTime = DateTimeUtils.parseDurationNanosQuiet(datetimeString); if (localTime != QueryConstants.NULL_LONG) { return localTime; } - final Period period = DateTimeUtils.convertPeriodQuiet(datetimeString); + final Period period = DateTimeUtils.parsePeriodQuiet(datetimeString); if (period != null) { return period; } + final Duration duration = DateTimeUtils.parseDurationQuiet(datetimeString); + if (duration != null) { + return duration; + } + throw new RuntimeException("Cannot parse datetime/time/period : " + stringValue); } } diff --git a/engine/context/src/test/java/io/deephaven/engine/context/TestQueryCompiler.java b/engine/context/src/test/java/io/deephaven/engine/context/TestQueryCompiler.java index a6f7ca54c81..b0d5decb660 100644 --- a/engine/context/src/test/java/io/deephaven/engine/context/TestQueryCompiler.java +++ b/engine/context/src/test/java/io/deephaven/engine/context/TestQueryCompiler.java @@ -4,6 +4,7 @@ package io.deephaven.engine.context; import io.deephaven.configuration.Configuration; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.SafeCloseable; import org.junit.After; import org.junit.Before; @@ -12,7 +13,6 @@ import java.lang.reflect.Method; import java.time.Instant; import java.time.LocalDateTime; -import java.time.ZoneId; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -168,7 +168,7 @@ private void compile(boolean printDetails, final String className) throws Except } private String printMillis(final long millis) { - LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(millis), ZoneId.systemDefault()); + LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(millis), DateTimeUtils.timeZone()); return localDateTime.toString(); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/AbstractColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/AbstractColumnSource.java index 4c035e64946..43008b16fa9 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/AbstractColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/AbstractColumnSource.java @@ -15,7 +15,6 @@ import io.deephaven.engine.table.impl.chunkfilter.ChunkFilter; import io.deephaven.engine.table.impl.chunkfilter.ChunkMatchFilterFactory; import io.deephaven.engine.table.impl.sources.UnboxedLongBackedColumnSource; -import io.deephaven.time.DateTime; import io.deephaven.vector.*; import io.deephaven.hash.KeyedObjectHashSet; import io.deephaven.hash.KeyedObjectKey; @@ -286,7 +285,7 @@ public final ColumnSource reinterpret */ protected ColumnSource doReinterpret( @NotNull final Class alternateDataType) { - if (getType() == DateTime.class || getType() == Instant.class || getType() == ZonedDateTime.class) { + if (getType() == Instant.class || getType() == ZonedDateTime.class) { Assert.eq(alternateDataType, "alternateDataType", long.class); // noinspection unchecked return (ColumnSource) new UnboxedLongBackedColumnSource<>(this); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/BucketingContext.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/BucketingContext.java index 8edd15e60ee..9c9dce77674 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/BucketingContext.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/BucketingContext.java @@ -5,7 +5,6 @@ import io.deephaven.chunk.attributes.Values; import io.deephaven.engine.table.Table; -import io.deephaven.time.DateTime; import io.deephaven.util.BooleanUtils; import io.deephaven.util.datastructures.LongSizedDataStructure; import io.deephaven.chunk.util.hashing.ToIntFunctor; @@ -18,6 +17,7 @@ import io.deephaven.util.SafeCloseable; import io.deephaven.util.type.TypeUtils; +import java.time.Instant; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -71,11 +71,11 @@ class BucketingContext implements SafeCloseable { "Mismatched join types, " + columnsToMatch[ii] + ": " + leftType + " != " + rightType); } - if (leftType == DateTime.class) { + if (leftType == Instant.class) { // noinspection unchecked - leftSources[ii] = ReinterpretUtils.dateTimeToLongSource((ColumnSource) leftSources[ii]); + leftSources[ii] = ReinterpretUtils.instantToLongSource((ColumnSource) leftSources[ii]); // noinspection unchecked - rightSources[ii] = ReinterpretUtils.dateTimeToLongSource((ColumnSource) rightSources[ii]); + rightSources[ii] = ReinterpretUtils.instantToLongSource((ColumnSource) rightSources[ii]); } else if (leftType == boolean.class || leftType == Boolean.class) { // noinspection unchecked leftSources[ii] = ReinterpretUtils.booleanToByteSource((ColumnSource) leftSources[ii]); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/CodecLookup.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/CodecLookup.java index b4c6c717d9c..85d6bb175fa 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/CodecLookup.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/CodecLookup.java @@ -7,7 +7,6 @@ import io.deephaven.vector.ObjectVector; import io.deephaven.vector.Vector; import io.deephaven.stringset.StringSet; -import io.deephaven.time.DateTime; import io.deephaven.util.codec.CodecCache; import io.deephaven.util.codec.ExternalizableCodec; import io.deephaven.util.codec.ObjectCodec; @@ -18,6 +17,7 @@ import java.io.Externalizable; import java.math.BigDecimal; import java.math.BigInteger; +import java.time.Instant; /** * Utility class to concentrate {@link ObjectCodec} lookups. @@ -71,7 +71,7 @@ public static boolean codecRequired(@NotNull final Class dataType, @Nullable private static boolean noCodecRequired(@NotNull final Class dataType) { return dataType == Boolean.class || - dataType == DateTime.class || + dataType == Instant.class || dataType == String.class || // A BigDecimal column maps to a logical type of decimal, with // appropriate precision and scale calculated from column data, diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ColumnSourceGetDefaults.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ColumnSourceGetDefaults.java index ea9c45377e6..8f2bbb2153c 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ColumnSourceGetDefaults.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ColumnSourceGetDefaults.java @@ -4,13 +4,11 @@ package io.deephaven.engine.table.impl; import io.deephaven.engine.table.ColumnSource; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.Nullable; import java.time.Instant; -import static io.deephaven.time.DateTimeUtils.nanosToTime; +import static io.deephaven.time.DateTimeUtils.epochNanosToInstant; import static io.deephaven.util.type.TypeUtils.box; /** @@ -392,17 +390,6 @@ default Long get(final long rowKey) { } } - /** - * Default interface for {@link DateTime} {@link ColumnSource} implementations. - */ - public interface ForLongAsDateTime extends LongBacked { - - @Override - default DateTime get(final long rowKey) { - return nanosToTime(getLong(rowKey)); - } - } - /** * Default interface for {@link Instant} {@link ColumnSource} implementations. */ @@ -410,7 +397,7 @@ public interface ForLongAsInstant extends LongBacked { @Nullable @Override default Instant get(long rowKey) { - return DateTimeUtils.makeInstant(getLong(rowKey)); + return epochNanosToInstant(getLong(rowKey)); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ImmutableColumnSourceGetDefaults.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ImmutableColumnSourceGetDefaults.java index 2b006e41056..97fe2f1a9b5 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ImmutableColumnSourceGetDefaults.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ImmutableColumnSourceGetDefaults.java @@ -4,7 +4,6 @@ package io.deephaven.engine.table.impl; import io.deephaven.engine.table.ColumnSource; -import io.deephaven.time.DateTime; import java.time.Instant; @@ -71,14 +70,7 @@ public interface ForLong extends ColumnSourceGetDefaults.ForLong, ImmutableColum } /** - * Default interface for immutable {@link DateTime} {@link ColumnSource} implementations. - */ - public interface ForLongAsDateTime - extends ColumnSourceGetDefaults.ForLongAsDateTime, ImmutableColumnSource { - } - - /** - * Default interface for immutable {@link DateTime} {@link ColumnSource} implementations. + * Default interface for immutable {@link Instant} {@link ColumnSource} implementations. */ public interface ForLongAsInstant extends ColumnSourceGetDefaults.ForLongAsInstant, ImmutableColumnSource { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/InstrumentedTableListenerBase.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/InstrumentedTableListenerBase.java index c20e6edae85..cff081ecf9c 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/InstrumentedTableListenerBase.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/InstrumentedTableListenerBase.java @@ -189,7 +189,7 @@ public void run() { } failed = true; try { - AsyncErrorLogger.log(DateTimeUtils.currentTimeMillis(), entry, sourceEntry, + AsyncErrorLogger.log(DateTimeUtils.nowMillisResolution(), entry, sourceEntry, originalException); } catch (IOException e) { log.error().append("Error logging failure from ").append(entry).append(": ").append(e).endl(); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/InstrumentedTableUpdateListenerAdapter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/InstrumentedTableUpdateListenerAdapter.java index 5de2bb0c324..a9364d8273a 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/InstrumentedTableUpdateListenerAdapter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/InstrumentedTableUpdateListenerAdapter.java @@ -80,7 +80,7 @@ public InstrumentedTableUpdateListenerAdapter(@Nullable final String description @Override public void onFailureInternal(Throwable originalException, Entry sourceEntry) { try { - AsyncErrorLogger.log(DateTimeUtils.currentTimeMillis(), sourceEntry, sourceEntry, + AsyncErrorLogger.log(DateTimeUtils.nowMillisResolution(), sourceEntry, sourceEntry, originalException); AsyncClientErrorNotifier.reportError(originalException); } catch (IOException e) { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/MutableColumnSourceGetDefaults.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/MutableColumnSourceGetDefaults.java index 27bd3b471aa..43b9e985909 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/MutableColumnSourceGetDefaults.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/MutableColumnSourceGetDefaults.java @@ -4,13 +4,11 @@ package io.deephaven.engine.table.impl; import io.deephaven.engine.table.ColumnSource; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.Nullable; import java.time.Instant; -import static io.deephaven.time.DateTimeUtils.nanosToTime; import static io.deephaven.util.type.TypeUtils.box; /** @@ -394,17 +392,6 @@ default Long getPrev(final long rowKey) { } } - /** - * Default interface for mutable {@link DateTime} {@link ColumnSource} implementations. - */ - public interface ForLongAsDateTime extends ColumnSourceGetDefaults.ForLongAsDateTime, LongBacked { - @Nullable - @Override - default DateTime getPrev(final long rowKey) { - return nanosToTime(getPrevLong(rowKey)); - } - } - /** * Default interface for mutable {@link Instant} {@link ColumnSource} implementations. */ @@ -412,7 +399,7 @@ public interface ForLongAsInstant extends ColumnSourceGetDefaults.ForLongAsInsta @Nullable @Override default Instant getPrev(long rowKey) { - return DateTimeUtils.makeInstant(getPrevLong(rowKey)); + return DateTimeUtils.epochNanosToInstant(getPrevLong(rowKey)); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java index e4a422ee57c..120cde3a082 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java @@ -61,7 +61,6 @@ import io.deephaven.vector.Vector; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.updategraph.NotificationQueue; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder; import io.deephaven.engine.util.systemicmarking.SystemicObjectTracker; import io.deephaven.engine.liveness.Liveness; @@ -89,6 +88,7 @@ import java.lang.ref.WeakReference; import java.lang.reflect.Array; +import java.time.Instant; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; @@ -880,12 +880,6 @@ public Table moveColumns(int index, boolean moveToEnd, String... columnsToMove) return viewOrUpdateView(Flavor.View, viewColumns); } - @Override - public Table dateTimeColumnAsNanos(String dateTimeColumnName, String nanosColumnName) { - return viewOrUpdateView(Flavor.UpdateView, - new ReinterpretedColumn<>(dateTimeColumnName, DateTime.class, nanosColumnName, long.class)); - } - public static class FilteredTable extends QueryTable implements WhereFilter.RecomputeListener { private final QueryTable source; private final WhereFilter[] filters; @@ -2442,13 +2436,13 @@ private static void throwColumnConflictMessage(Set left, Set rig * @return the transformed column source, or the original column source if there is not a relevant transformation */ static ColumnSource maybeTransformToPrimitive(final ColumnSource columnSource) { - if (DateTime.class.isAssignableFrom(columnSource.getType())) { + if (Instant.class.isAssignableFrom(columnSource.getType())) { if (columnSource.allowsReinterpret(long.class)) { return columnSource.reinterpret(long.class); } else { // noinspection unchecked - final ColumnSource columnSourceAsDateTime = (ColumnSource) columnSource; - return new DateTimeAsLongColumnSource(columnSourceAsDateTime); + final ColumnSource columnSourceAsInstant = (ColumnSource) columnSource; + return new InstantAsLongColumnSource(columnSourceAsInstant); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ShiftObliviousInstrumentedListenerAdapter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ShiftObliviousInstrumentedListenerAdapter.java index 3c4806dda9d..4a128bc70a3 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ShiftObliviousInstrumentedListenerAdapter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ShiftObliviousInstrumentedListenerAdapter.java @@ -78,7 +78,7 @@ public ShiftObliviousInstrumentedListenerAdapter(@Nullable final String descript @Override public void onFailureInternal(Throwable originalException, Entry sourceEntry) { try { - AsyncErrorLogger.log(DateTimeUtils.currentTimeMillis(), sourceEntry, sourceEntry, + AsyncErrorLogger.log(DateTimeUtils.nowMillisResolution(), sourceEntry, sourceEntry, originalException); AsyncClientErrorNotifier.reportError(originalException); } catch (IOException e) { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableAdapter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableAdapter.java index 482dcbcdcc7..404da4260cb 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableAdapter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableAdapter.java @@ -227,11 +227,6 @@ default Table moveColumns(int index, boolean moveToEnd, String... columnsToMove) return throwUnsupported(); } - @Override - default Table dateTimeColumnAsNanos(String dateTimeColumnName, String nanosColumnName) { - return throwUnsupported(); - } - @Override default Table slice(long firstPositionInclusive, long lastPositionExclusive) { return throwUnsupported(); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableCreatorImpl.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableCreatorImpl.java index b4b4903626b..c57d961f5a0 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableCreatorImpl.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableCreatorImpl.java @@ -10,7 +10,6 @@ import io.deephaven.engine.table.impl.util.AppendOnlyArrayBackedMutableTable; import io.deephaven.engine.table.impl.util.KeyedArrayBackedMutableTable; import io.deephaven.engine.util.TableTools; -import io.deephaven.time.DateTime; import io.deephaven.qst.TableCreator; import io.deephaven.qst.table.EmptyTable; import io.deephaven.qst.table.InMemoryAppendOnlyInputTable; @@ -25,6 +24,7 @@ import io.deephaven.qst.table.ClockSystem; import io.deephaven.qst.table.TimeTable; +import java.time.Instant; import java.util.Arrays; import java.util.Objects; import java.util.stream.Stream; @@ -64,7 +64,7 @@ public final Table of(EmptyTable emptyTable) { @Override public final Table of(TimeTable timeTable) { final io.deephaven.base.clock.Clock clock = ClockAdapter.of(timeTable.clock()); - final DateTime firstTime = timeTable.startTime().map(DateTime::of).orElse(null); + final Instant firstTime = timeTable.startTime().orElse(null); return TableTools.timeTable(clock, firstTime, timeTable.interval().toNanos()); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableDefaults.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableDefaults.java index b87590326ce..5585b305d83 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableDefaults.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableDefaults.java @@ -259,13 +259,6 @@ default Table moveColumns(int index, String... columnsToMove) { return moveColumns(index, false, columnsToMove); } - @Override - @ConcurrentMethod - @FinalDefault - default Table dateTimeColumnAsNanos(String columnName) { - return dateTimeColumnAsNanos(columnName, columnName); - } - // ----------------------------------------------------------------------------------------------------------------- // Join Operations // ----------------------------------------------------------------------------------------------------------------- diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/TimeTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/TimeTable.java index e4b8c487a09..d959651b8fa 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/TimeTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/TimeTable.java @@ -24,19 +24,24 @@ import io.deephaven.engine.updategraph.UpdateSourceRegistrar; import io.deephaven.engine.util.TableTools; import io.deephaven.function.Numeric; -import io.deephaven.internal.log.LoggerFactory; -import io.deephaven.io.logger.Logger; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.time.Instant; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; import java.util.Objects; +import static io.deephaven.time.DateTimeUtils.currentClock; +import static io.deephaven.time.DateTimeUtils.epochNanos; +import static io.deephaven.time.DateTimeUtils.epochNanosToInstant; +import static io.deephaven.time.DateTimeUtils.isBefore; +import static io.deephaven.time.DateTimeUtils.minus; +import static io.deephaven.time.DateTimeUtils.parseInstant; +import static io.deephaven.time.DateTimeUtils.parseDurationNanos; +import static io.deephaven.time.DateTimeUtils.plus; import static io.deephaven.util.type.TypeUtils.box; /** @@ -47,12 +52,11 @@ * @implNote The constructor publishes {@code this} to the {@link UpdateGraphProcessor} and thus cannot be subclassed. */ public final class TimeTable extends QueryTable implements Runnable { - private static final Logger log = LoggerFactory.getLogger(TimeTable.class); public static class Builder { private UpdateSourceRegistrar registrar = UpdateGraphProcessor.DEFAULT; private Clock clock; - private DateTime startTime; + private Instant startTime; private long period; private boolean blinkTable; @@ -66,13 +70,13 @@ public Builder clock(Clock clock) { return this; } - public Builder startTime(DateTime startTime) { + public Builder startTime(Instant startTime) { this.startTime = startTime; return this; } public Builder startTime(String startTime) { - this.startTime = DateTimeUtils.convertDateTime(startTime); + this.startTime = parseInstant(startTime); return this; } @@ -82,7 +86,7 @@ public Builder period(long period) { } public Builder period(String period) { - this.period = DateTimeUtils.expressionToNanos(period); + this.period = parseDurationNanos(period); return this; } @@ -93,7 +97,7 @@ public Builder blinkTable(boolean blinkTable) { public QueryTable build() { return new TimeTable(registrar, - Objects.requireNonNullElse(clock, DateTimeUtils.currentClock()), + Objects.requireNonNullElse(clock, currentClock()), startTime, period, blinkTable); } } @@ -104,18 +108,22 @@ public static Builder newBuilder() { private static final String TIMESTAMP = "Timestamp"; private long lastIndex = -1; - private final SyntheticDateTimeSource columnSource; + private final SyntheticInstantSource columnSource; private final Clock clock; private final PerformanceEntry entry; private final boolean isBlinkTable; - public TimeTable(UpdateSourceRegistrar registrar, Clock clock, - @Nullable DateTime startTime, long period, boolean isBlinkTable) { + public TimeTable( + UpdateSourceRegistrar registrar, + Clock clock, + @Nullable Instant startTime, + long period, + boolean isBlinkTable) { super(RowSetFactory.empty().toTracking(), initColumn(startTime, period)); this.isBlinkTable = isBlinkTable; final String name = isBlinkTable ? "TimeTableBlink" : "TimeTable"; this.entry = UpdatePerformanceTracker.getInstance().getEntry(name + "(" + startTime + "," + period + ")"); - columnSource = (SyntheticDateTimeSource) getColumnSourceMap().get(TIMESTAMP); + columnSource = (SyntheticInstantSource) getColumnSourceMap().get(TIMESTAMP); this.clock = clock; if (isBlinkTable) { setAttribute(Table.BLINK_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -130,11 +138,11 @@ public TimeTable(UpdateSourceRegistrar registrar, Clock clock, registrar.addSource(this); } - private static Map> initColumn(DateTime firstTime, long period) { + private static Map> initColumn(Instant firstTime, long period) { if (period <= 0) { throw new IllegalArgumentException("Invalid time period: " + period + " nanoseconds"); } - return Collections.singletonMap(TIMESTAMP, new SyntheticDateTimeSource(firstTime, period)); + return Collections.singletonMap(TIMESTAMP, new SyntheticInstantSource(firstTime, period)); } @Override @@ -145,15 +153,15 @@ public void run() { private void refresh(final boolean notifyListeners) { entry.onUpdateStart(); try { - final DateTime dateTime = DateTime.of(clock); + final Instant now = clock.instantNanos(); long rangeStart = lastIndex + 1; if (columnSource.startTime == null) { lastIndex = 0; - columnSource.startTime = new DateTime( - Numeric.lowerBin(dateTime.getNanos(), columnSource.period)); - } else if (dateTime.compareTo(columnSource.startTime) >= 0) { + columnSource.startTime = epochNanosToInstant( + Numeric.lowerBin(epochNanos(now), columnSource.period)); + } else if (now.compareTo(columnSource.startTime) >= 0) { lastIndex = Math.max(lastIndex, - DateTimeUtils.minus(dateTime, columnSource.startTime) / columnSource.period); + minus(now, columnSource.startTime) / columnSource.period); } final boolean rowsAdded = rangeStart <= lastIndex; @@ -186,33 +194,33 @@ protected void destroy() { UpdateGraphProcessor.DEFAULT.removeSource(this); } - private static final class SyntheticDateTimeSource extends AbstractColumnSource implements - ImmutableColumnSourceGetDefaults.LongBacked, + private static final class SyntheticInstantSource extends AbstractColumnSource implements + ImmutableColumnSourceGetDefaults.LongBacked, FillUnordered { - private DateTime startTime; + private Instant startTime; private final long period; - private SyntheticDateTimeSource(DateTime startTime, long period) { - super(DateTime.class); + private SyntheticInstantSource(Instant startTime, long period) { + super(Instant.class); this.startTime = startTime; this.period = period; } - private DateTime computeDateTime(long rowKey) { - return DateTimeUtils.plus(startTime, period * rowKey); + private Instant computeInstant(long rowKey) { + return plus(startTime, period * rowKey); } @Override - public DateTime get(long rowKey) { + public Instant get(long rowKey) { if (rowKey < 0) { return null; } - return computeDateTime(rowKey); + return computeInstant(rowKey); } private long computeNanos(long rowKey) { - return startTime.getNanos() + period * rowKey; + return epochNanos(startTime) + period * rowKey; } @Override @@ -234,17 +242,16 @@ public WritableRowSet match(boolean invertMatch, boolean usePrev, boolean caseIn final RowSetBuilderRandom matchingSet = RowSetFactory.builderRandom(); for (Object o : keys) { - if (!(o instanceof DateTime)) { + if (!(o instanceof Instant)) { continue; } - final DateTime key = (DateTime) o; + final Instant key = (Instant) o; - if (key.getNanos() % period != startTime.getNanos() % period - || DateTimeUtils.isBefore(key, startTime)) { + if (epochNanos(key) % period != epochNanos(startTime) % period || isBefore(key, startTime)) { continue; } - matchingSet.addKey(DateTimeUtils.minus(key, startTime) / period); + matchingSet.addKey(minus(key, startTime) / period); } if (invertMatch) { @@ -259,10 +266,10 @@ public WritableRowSet match(boolean invertMatch, boolean usePrev, boolean caseIn } @Override - public Map getValuesMapping(RowSet subRange) { - final Map result = new LinkedHashMap<>(); + public Map getValuesMapping(RowSet subRange) { + final Map result = new LinkedHashMap<>(); subRange.forAllRowKeys( - ii -> result.put(computeDateTime(ii), RowSetFactory.fromKeys(ii))); + ii -> result.put(computeInstant(ii), RowSetFactory.fromKeys(ii))); return result; } @@ -276,7 +283,7 @@ public boolean allowsReinterpret( public ColumnSource doReinterpret( @NotNull Class alternateDataType) { // noinspection unchecked - return (ColumnSource) new SyntheticDateTimeAsLongSource(); + return (ColumnSource) new SyntheticInstantAsLongSource(); } @Override @@ -284,9 +291,9 @@ public void fillChunk( @NotNull final FillContext context, @NotNull final WritableChunk dest, @NotNull final RowSequence rowSequence) { - final WritableObjectChunk objectDest = dest.asWritableObjectChunk(); + final WritableObjectChunk objectDest = dest.asWritableObjectChunk(); dest.setSize(0); - rowSequence.forAllRowKeys(rowKey -> objectDest.add(computeDateTime(rowKey))); + rowSequence.forAllRowKeys(rowKey -> objectDest.add(computeInstant(rowKey))); } @Override @@ -302,7 +309,7 @@ public void fillChunkUnordered( @NotNull final FillContext context, @NotNull final WritableChunk dest, @NotNull final LongChunk keys) { - final WritableObjectChunk objectDest = dest.asWritableObjectChunk(); + final WritableObjectChunk objectDest = dest.asWritableObjectChunk(); objectDest.setSize(keys.size()); for (int ii = 0; ii < keys.size(); ++ii) { @@ -310,7 +317,7 @@ public void fillChunkUnordered( if (rowKey < 0) { objectDest.set(ii, null); } else { - objectDest.set(ii, computeDateTime(rowKey)); + objectDest.set(ii, computeInstant(rowKey)); } } } @@ -328,11 +335,11 @@ public boolean providesFillUnordered() { return true; } - private class SyntheticDateTimeAsLongSource extends AbstractColumnSource implements + private class SyntheticInstantAsLongSource extends AbstractColumnSource implements ImmutableColumnSourceGetDefaults.LongBacked, FillUnordered { - SyntheticDateTimeAsLongSource() { + SyntheticInstantAsLongSource() { super(long.class); } @@ -371,8 +378,8 @@ public void fillPrevChunk( } @Override - public WritableRowSet match(boolean invertMatch, boolean usePrev, boolean caseInsensitive, RowSet selection, - Object... keys) { + public WritableRowSet match( + boolean invertMatch, boolean usePrev, boolean caseInsensitive, RowSet selection, Object... keys) { if (startTime == null) { // there are no valid rows for this column source yet return RowSetFactory.empty(); @@ -386,11 +393,11 @@ public WritableRowSet match(boolean invertMatch, boolean usePrev, boolean caseIn } final long key = (Long) o; - if (key % period != startTime.getNanos() % period || key < startTime.getNanos()) { + if (key % period != epochNanos(startTime) % period || key < epochNanos(startTime)) { continue; } - matchingSet.addKey((key - startTime.getNanos()) / period); + matchingSet.addKey((key - epochNanos(startTime)) / period); } if (invertMatch) { @@ -415,14 +422,14 @@ public Map getValuesMapping(RowSet subRange) { @Override public boolean allowsReinterpret( @NotNull final Class alternateDataType) { - return alternateDataType == DateTime.class; + return alternateDataType == Instant.class; } @Override public ColumnSource doReinterpret( @NotNull Class alternateDataType) { // noinspection unchecked - return (ColumnSource) SyntheticDateTimeSource.this; + return (ColumnSource) SyntheticInstantSource.this; } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/UnboxedDateTimeWritableSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/UnboxedDateTimeWritableSource.java deleted file mode 100644 index bc04928a30b..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/UnboxedDateTimeWritableSource.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl; - -import io.deephaven.engine.table.WritableColumnSource; - -import static io.deephaven.util.QueryConstants.NULL_LONG; - -public class UnboxedDateTimeWritableSource extends UnboxedLongBackedColumnSource - implements WritableColumnSource { - private final WritableColumnSource alternateWritableSource; - - public UnboxedDateTimeWritableSource(WritableColumnSource alternateWritableSource) { - super(alternateWritableSource); - this.alternateWritableSource = alternateWritableSource; - } - - @Override - public void ensureCapacity(long capacity, boolean nullFill) { - alternateWritableSource.ensureCapacity(capacity, nullFill); - } - - @Override - public void set(long key, Long value) { - alternateWritableSource.set(key, value); - } - - @Override - public void setNull(long key) { - alternateWritableSource.set(key, NULL_LONG); - } - - @Override - public void set(long key, long value) { - alternateWritableSource.set(key, value); - } -} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/UnboxedLongBackedColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/UnboxedLongBackedColumnSource.java index 0a41b02096d..973d30b015c 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/UnboxedLongBackedColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/UnboxedLongBackedColumnSource.java @@ -4,14 +4,13 @@ package io.deephaven.engine.table.impl; import io.deephaven.engine.table.ColumnSource; -import io.deephaven.time.DateTime; import org.jetbrains.annotations.NotNull; import java.time.Instant; /** * Reinterpret result for many {@link ColumnSource} implementations that internally represent time values, such as - * {@link DateTime} and {@link Instant}, as {@code long} values. + * {@link Instant}, as {@code long} values. */ public class UnboxedLongBackedColumnSource extends AbstractColumnSource implements MutableColumnSourceGetDefaults.ForLong { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java index 644391f3376..7c7bf25bd25 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java @@ -280,12 +280,6 @@ public Table moveColumns(int index, boolean moveToEnd, String... columnsToMove) return coalesce().moveColumns(index, moveToEnd, columnsToMove); } - @Override - @ConcurrentMethod - public Table dateTimeColumnAsNanos(String dateTimeColumnName, String nanosColumnName) { - return coalesce().dateTimeColumnAsNanos(dateTimeColumnName, nanosColumnName); - } - @Override @ConcurrentMethod public Table head(long size) { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/AggregationProcessor.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/AggregationProcessor.java index 7d6379a3149..d01f774f6f5 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/AggregationProcessor.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/AggregationProcessor.java @@ -100,7 +100,7 @@ import io.deephaven.engine.table.impl.ssms.SegmentedSortedMultiSet; import io.deephaven.engine.table.impl.util.freezeby.FreezeByCountOperator; import io.deephaven.engine.table.impl.util.freezeby.FreezeByOperator; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.annotations.FinalDefault; import org.apache.commons.lang3.mutable.MutableBoolean; import org.jetbrains.annotations.NotNull; @@ -108,6 +108,7 @@ import java.math.BigDecimal; import java.math.BigInteger; +import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -447,7 +448,7 @@ final void addBasicOperators( final String resultName = pair.output().name(); final ColumnSource rawInputSource = table.getColumnSource(inputName); final Class type = rawInputSource.getType(); - final ColumnSource inputSource = maybeReinterpretDateTimeAsLong(rawInputSource); + final ColumnSource inputSource = maybeReinterpretInstantAsLong(rawInputSource); addOperator(operatorFactory.apply(type, resultName), inputSource, inputName); } @@ -508,7 +509,7 @@ final void addMinOrMaxOperator(final boolean isMin, @NotNull final String inputN @NotNull final String resultName) { final ColumnSource rawInputSource = table.getColumnSource(inputName); final Class type = rawInputSource.getType(); - final ColumnSource inputSource = maybeReinterpretDateTimeAsLong(rawInputSource); + final ColumnSource inputSource = maybeReinterpretInstantAsLong(rawInputSource); final int size = inputSources.size(); for (int ii = 0; ii < size; ii++) { @@ -1417,10 +1418,10 @@ private static AggregationContext makeExposedGroupRowSetAggregationContext( new ChunkSource.WithPrev[] {null}); } - private static ColumnSource maybeReinterpretDateTimeAsLong(@NotNull final ColumnSource inputSource) { + private static ColumnSource maybeReinterpretInstantAsLong(@NotNull final ColumnSource inputSource) { // noinspection unchecked - return inputSource.getType() == DateTime.class - ? ReinterpretUtils.dateTimeToLongSource((ColumnSource) inputSource) + return inputSource.getType() == Instant.class + ? ReinterpretUtils.instantToLongSource((ColumnSource) inputSource) : inputSource; } @@ -1505,7 +1506,7 @@ private static IterativeChunkedAggregationOperator makeMinOrMaxOperator( return new FloatChunkedAddOnlyMinMaxOperator(isMin, name); } else if (type == Integer.class || type == int.class) { return new IntChunkedAddOnlyMinMaxOperator(isMin, name); - } else if (type == Long.class || type == long.class || type == DateTime.class) { + } else if (type == Long.class || type == long.class || type == Instant.class) { return new LongChunkedAddOnlyMinMaxOperator(type, isMin, name); } else if (type == Short.class || type == short.class) { return new ShortChunkedAddOnlyMinMaxOperator(isMin, name); @@ -1542,7 +1543,7 @@ private static IterativeChunkedAggregationOperator makeCountDistinctOperator( return reaggregated ? new IntRollupCountDistinctOperator(name, countNulls) : new IntChunkedCountDistinctOperator(name, countNulls, exposeInternal); - } else if (type == Long.class || type == long.class || type == DateTime.class) { + } else if (type == Long.class || type == long.class || type == Instant.class) { return reaggregated ? new LongRollupCountDistinctOperator(name, countNulls) : new LongChunkedCountDistinctOperator(name, countNulls, exposeInternal); @@ -1583,7 +1584,7 @@ private static IterativeChunkedAggregationOperator makeDistinctOperator( return reaggregated ? new IntRollupDistinctOperator(name, includeNulls) : new IntChunkedDistinctOperator(name, includeNulls, exposeInternal); - } else if (type == Long.class || type == long.class || type == DateTime.class) { + } else if (type == Long.class || type == long.class || type == Instant.class) { return reaggregated ? new LongRollupDistinctOperator(type, name, includeNulls) : new LongChunkedDistinctOperator(type, name, includeNulls, exposeInternal); @@ -1638,12 +1639,12 @@ private static IterativeChunkedAggregationOperator makeUniqueOperator( return reaggregated ? new IntRollupUniqueOperator(resultName, includeNulls, onsAsType, nusAsType) : new IntChunkedUniqueOperator(resultName, includeNulls, exposeInternal, onsAsType, nusAsType); - } else if (type == Long.class || type == long.class || type == DateTime.class) { + } else if (type == Long.class || type == long.class || type == Instant.class) { final long onsAsType; final long nusAsType; - if (type == DateTime.class) { - onsAsType = dateTimeNanosValue(onlyNullsSentinel); - nusAsType = dateTimeNanosValue(nonUniqueSentinel); + if (type == Instant.class) { + onsAsType = instantNanosValue(onlyNullsSentinel); + nusAsType = instantNanosValue(nonUniqueSentinel); } else { onsAsType = UnionObjectUtils.longValue(onlyNullsSentinel); nusAsType = UnionObjectUtils.longValue(nonUniqueSentinel); @@ -1666,8 +1667,8 @@ private static IterativeChunkedAggregationOperator makeUniqueOperator( : new ObjectChunkedUniqueOperator(type, resultName, includeNulls, exposeInternal, onsAsType, nusAsType); } - private static long dateTimeNanosValue(UnionObject obj) { - return obj == null ? NULL_LONG : obj.expect(DateTime.class).getNanos(); + private static long instantNanosValue(UnionObject obj) { + return obj == null ? NULL_LONG : DateTimeUtils.epochNanos(obj.expect(Instant.class)); } private static void checkType(@NotNull final String name, @NotNull final String valueIntent, diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/LongChunkedAddOnlyMinMaxOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/LongChunkedAddOnlyMinMaxOperator.java index cea43a53707..eb3096a7824 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/LongChunkedAddOnlyMinMaxOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/LongChunkedAddOnlyMinMaxOperator.java @@ -9,11 +9,7 @@ package io.deephaven.engine.table.impl.by; import java.time.Instant; -import io.deephaven.time.DateTime; -import io.deephaven.engine.table.impl.sources.ArrayBackedColumnSource; -import io.deephaven.engine.table.impl.sources.DateTimeArraySource; import io.deephaven.engine.table.impl.sources.InstantArraySource; -import io.deephaven.engine.table.impl.sources.LongArraySource; import io.deephaven.engine.table.impl.sources.NanosBasedTimeArraySource; import io.deephaven.chunk.attributes.ChunkLengths; @@ -49,10 +45,7 @@ class LongChunkedAddOnlyMinMaxOperator implements IterativeChunkedAggregationOpe this.minimum = minimum; this.name = name; // region resultColumn initialization - if (type == DateTime.class) { - actualResult = new DateTimeArraySource(); - resultColumn = ((NanosBasedTimeArraySource)actualResult).toEpochNano(); - } else if (type == Instant.class) { + if (type == Instant.class) { actualResult = new InstantArraySource(); resultColumn = ((NanosBasedTimeArraySource)actualResult).toEpochNano(); } else { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/TDigestPercentileOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/TDigestPercentileOperator.java index d750d34da63..d716db5473a 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/TDigestPercentileOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/TDigestPercentileOperator.java @@ -17,10 +17,10 @@ import io.deephaven.engine.table.impl.sources.DoubleArraySource; import io.deephaven.engine.table.impl.sources.ObjectArraySource; import io.deephaven.engine.table.impl.util.cast.ToDoubleCast; -import io.deephaven.time.DateTime; import io.deephaven.util.QueryConstants; import org.jetbrains.annotations.NotNull; +import java.time.Instant; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; @@ -67,9 +67,9 @@ public TDigestPercentileOperator(@NotNull Class type, double compression, Str this.digestColumnName = digestColumnName; this.resultNames = resultNames; this.digests = new ObjectArraySource<>(TDigest.class); - final boolean isDateTime = type == DateTime.class; - if (isDateTime) { - throw new UnsupportedOperationException("DateTime is not supported for approximate percentiles."); + final boolean isInstant = type == Instant.class; + if (isInstant) { + throw new UnsupportedOperationException("Instant is not supported for approximate percentiles."); } chunkType = ChunkType.fromElementType(type); resultColumns = new DoubleArraySource[percentiles.length]; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/DateTimeSsmSourceWrapper.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/InstantSsmSourceWrapper.java similarity index 62% rename from engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/DateTimeSsmSourceWrapper.java rename to engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/InstantSsmSourceWrapper.java index 1c5d3133249..8bb54dc3142 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/DateTimeSsmSourceWrapper.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/InstantSsmSourceWrapper.java @@ -6,28 +6,28 @@ import io.deephaven.vector.LongVector; import io.deephaven.vector.ObjectVector; import io.deephaven.vector.ObjectVectorDirect; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.AbstractColumnSource; import io.deephaven.engine.table.impl.ColumnSourceGetDefaults; import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; import io.deephaven.engine.table.impl.ssms.LongSegmentedSortedMultiset; import org.jetbrains.annotations.NotNull; +import java.time.Instant; import java.util.Objects; -import static io.deephaven.time.DateTimeUtils.nanosToTime; +import static io.deephaven.time.DateTimeUtils.epochNanosToInstant; /** - * A {@link SsmBackedColumnSource} for Longs. + * A {@link SsmBackedColumnSource} for Instants. */ @SuppressWarnings("rawtypes") -public class DateTimeSsmSourceWrapper extends AbstractColumnSource +public class InstantSsmSourceWrapper extends AbstractColumnSource implements ColumnSourceGetDefaults.ForObject, MutableColumnSourceGetDefaults.ForObject { private final LongSsmBackedSource underlying; - public DateTimeSsmSourceWrapper(@NotNull final LongSsmBackedSource underlying) { - super(ObjectVector.class, DateTime.class); + public InstantSsmSourceWrapper(@NotNull final LongSsmBackedSource underlying) { + super(ObjectVector.class, Instant.class); this.underlying = underlying; } @@ -37,12 +37,12 @@ public boolean isImmutable() { } @Override - public ObjectVector get(long rowKey) { + public ObjectVector get(long rowKey) { return new ValueWrapper(underlying.getCurrentSsm(rowKey)); } @Override - public ObjectVector getPrev(long rowKey) { + public ObjectVector getPrev(long rowKey) { final LongVector maybePrev = underlying.getPrev(rowKey); if (maybePrev == null) { return null; @@ -60,7 +60,7 @@ public void startTrackingPrevValues() { underlying.startTrackingPrevValues(); } - public static class ValueWrapper implements ObjectVector { + public static class ValueWrapper implements ObjectVector { final LongSegmentedSortedMultiset underlying; public ValueWrapper(LongSegmentedSortedMultiset underlying) { @@ -68,33 +68,33 @@ public ValueWrapper(LongSegmentedSortedMultiset underlying) { } @Override - public DateTime get(long index) { - return nanosToTime(underlying.get(index)); + public Instant get(long index) { + return epochNanosToInstant(underlying.get(index)); } @Override - public ObjectVector subVector(long fromIndexInclusive, long toIndexExclusive) { - return underlying.subArrayAsDate(fromIndexInclusive, toIndexExclusive); + public ObjectVector subVector(long fromIndexInclusive, long toIndexExclusive) { + return underlying.subArrayAsInstants(fromIndexInclusive, toIndexExclusive); } @Override - public ObjectVector subVectorByPositions(long[] positions) { - return underlying.subArrayByPositionsAsDates(positions); + public ObjectVector subVectorByPositions(long[] positions) { + return underlying.subArrayByPositionsAsInstants(positions); } @Override - public DateTime[] toArray() { - return underlying.toDateArray(); + public Instant[] toArray() { + return underlying.toInstantArray(); } @Override - public DateTime[] copyToArray() { + public Instant[] copyToArray() { return toArray(); } @Override - public Class getComponentType() { - return DateTime.class; + public Class getComponentType() { + return Instant.class; } @Override @@ -103,8 +103,8 @@ public boolean isEmpty() { } @Override - public ObjectVector getDirect() { - return underlying.getDirectAsDate(); + public ObjectVector getDirect() { + return underlying.getDirectAsInstants(); } @Override @@ -122,18 +122,18 @@ public int intSize(@NotNull String operation) { return underlying.intSize(operation); } - public static ObjectVector getPrevValues(LongVector previousLongs) { - final DateTime[] asDates = new DateTime[previousLongs.intSize()]; - for (int ii = 0; ii < asDates.length; ii++) { - asDates[ii] = nanosToTime(previousLongs.get(ii)); + public static ObjectVector getPrevValues(LongVector previousLongs) { + final Instant[] asInstants = new Instant[previousLongs.intSize()]; + for (int ii = 0; ii < asInstants.length; ii++) { + asInstants[ii] = epochNanosToInstant(previousLongs.get(ii)); } - return new ObjectVectorDirect<>(asDates); + return new ObjectVectorDirect<>(asInstants); } @Override public String toString() { - return underlying.toDateString(); + return underlying.toInstantString(); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/SsmBackedColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/SsmBackedColumnSource.java index 7049479c66b..7b02374e894 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/SsmBackedColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/SsmBackedColumnSource.java @@ -8,7 +8,6 @@ import io.deephaven.engine.table.impl.sources.ObjectArraySource; import io.deephaven.engine.table.impl.ssms.SegmentedSortedMultiSet; import io.deephaven.engine.rowset.RowSet; -import org.jetbrains.annotations.NotNull; /** * A {@link ColumnSource} that provides {@link Vector vectors} of type T, backed by a same typed @@ -20,27 +19,6 @@ public interface SsmBackedColumnSource extends ColumnSource { - /** - * Create an appropriate instance for the specified type - * - * @param type - * @return - */ - @SuppressWarnings("rawtypes") - static SsmBackedColumnSource create(@NotNull final Class type) { - if (type == char.class || type == Character.class) { - return new CharSsmBackedSource(); - } /* - * else if(type == byte.class || type == Byte.class) { return new ByteSsmBackedSource(); } else if(type == - * short.class || type == Short.class) { return new ShortSsmBackedSource(); } else if(type == int.class || - * type == Integer.class) { return new IntSsmBackedSource(); } else if(type == long.class || type == - * Long.class || type == DateTime.class) { return new LongSsmBackedSource(); } else if(type == float.class || - * type == Float.class) { return new FloatSsmBackedSource(); } else if(type == double.class || type == - * Double.class) { return new DoubleSsmBackedSource(); } else { return new ObjectSsmBackedSource(type); } - */ - throw new IllegalStateException("NOPE"); - } - ObjectArraySource getUnderlyingSource(); /** diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/LongChunkedDistinctOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/LongChunkedDistinctOperator.java index 2b52e084a1a..995cac884ae 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/LongChunkedDistinctOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/LongChunkedDistinctOperator.java @@ -8,9 +8,10 @@ */ package io.deephaven.engine.table.impl.by.ssmcountdistinct.distinct; +import java.time.Instant; + import io.deephaven.engine.table.impl.sources.BoxedColumnSource; -import io.deephaven.time.DateTime; -import io.deephaven.engine.table.impl.by.ssmcountdistinct.DateTimeSsmSourceWrapper; +import io.deephaven.engine.table.impl.by.ssmcountdistinct.InstantSsmSourceWrapper; import io.deephaven.engine.rowset.WritableRowSet; import io.deephaven.engine.rowset.RowSet; @@ -64,8 +65,8 @@ public LongChunkedDistinctOperator( this.internalResult = new LongSsmBackedSource(); // endregion SsmCreation // region ResultAssignment - if(type == DateTime.class) { - externalResult = new DateTimeSsmSourceWrapper(internalResult); + if(type == Instant.class) { + externalResult = new InstantSsmSourceWrapper(internalResult); } else { externalResult = internalResult; } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/LongRollupDistinctOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/LongRollupDistinctOperator.java index fcd9012cd0e..3316241e980 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/LongRollupDistinctOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/LongRollupDistinctOperator.java @@ -8,9 +8,10 @@ */ package io.deephaven.engine.table.impl.by.ssmcountdistinct.distinct; +import java.time.Instant; + import io.deephaven.engine.table.impl.sources.BoxedColumnSource; -import io.deephaven.time.DateTime; -import io.deephaven.engine.table.impl.by.ssmcountdistinct.DateTimeSsmSourceWrapper; +import io.deephaven.engine.table.impl.by.ssmcountdistinct.InstantSsmSourceWrapper; import io.deephaven.engine.rowset.WritableRowSet; import io.deephaven.engine.rowset.RowSet; @@ -61,8 +62,8 @@ public LongRollupDistinctOperator( this.internalResult = new LongSsmBackedSource(); // endregion SsmCreation // region ResultAssignment - if(type == DateTime.class) { - externalResult = new DateTimeSsmSourceWrapper(internalResult); + if(type == Instant.class) { + externalResult = new InstantSsmSourceWrapper(internalResult); } else { externalResult = internalResult; } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/LongChunkedUniqueOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/LongChunkedUniqueOperator.java index 2c73b45fd6b..878a699c338 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/LongChunkedUniqueOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/LongChunkedUniqueOperator.java @@ -8,9 +8,10 @@ */ package io.deephaven.engine.table.impl.by.ssmcountdistinct.unique; +import java.time.Instant; + import io.deephaven.engine.table.impl.sources.BoxedColumnSource; -import io.deephaven.time.DateTime; -import io.deephaven.engine.table.impl.by.ssmcountdistinct.DateTimeSsmSourceWrapper; +import io.deephaven.engine.table.impl.by.ssmcountdistinct.InstantSsmSourceWrapper; import io.deephaven.engine.rowset.WritableRowSet; import io.deephaven.engine.rowset.RowSet; @@ -76,8 +77,8 @@ public LongChunkedUniqueOperator( this.internalResult = new LongArraySource(); // endregion ResultCreation // region ResultAssignment - if(type == DateTime.class) { - externalResult = new BoxedColumnSource.OfDateTime(internalResult); + if(type == Instant.class) { + externalResult = new BoxedColumnSource.OfInstant(internalResult); } else { externalResult = internalResult; } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/LongRollupUniqueOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/LongRollupUniqueOperator.java index a8ad50b5a79..68befeee289 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/LongRollupUniqueOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/LongRollupUniqueOperator.java @@ -8,9 +8,10 @@ */ package io.deephaven.engine.table.impl.by.ssmcountdistinct.unique; +import java.time.Instant; + import io.deephaven.engine.table.impl.sources.BoxedColumnSource; -import io.deephaven.time.DateTime; -import io.deephaven.engine.table.impl.by.ssmcountdistinct.DateTimeSsmSourceWrapper; +import io.deephaven.engine.table.impl.by.ssmcountdistinct.InstantSsmSourceWrapper; import io.deephaven.engine.rowset.WritableRowSet; import io.deephaven.engine.rowset.RowSet; @@ -75,8 +76,8 @@ public LongRollupUniqueOperator( this.internalResult = new LongArraySource(); // endregion ResultCreation // region ResultAssignment - if(type == DateTime.class) { - externalResult = new BoxedColumnSource.OfDateTime(internalResult); + if(type == Instant.class) { + externalResult = new BoxedColumnSource.OfInstant(internalResult); } else { externalResult = internalResult; } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/DateTimeSetResult.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/InstantSetResult.java similarity index 78% rename from engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/DateTimeSetResult.java rename to engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/InstantSetResult.java index c591001dccc..24d25cd5137 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/DateTimeSetResult.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/InstantSetResult.java @@ -4,19 +4,18 @@ package io.deephaven.engine.table.impl.by.ssmminmax; import io.deephaven.engine.table.WritableColumnSource; -import io.deephaven.util.QueryConstants; -import io.deephaven.engine.table.impl.sources.DateTimeArraySource; +import io.deephaven.engine.table.impl.sources.InstantArraySource; import io.deephaven.engine.table.impl.ssms.LongSegmentedSortedMultiset; import io.deephaven.engine.table.impl.ssms.SegmentedSortedMultiSet; +import io.deephaven.util.QueryConstants; - -public class DateTimeSetResult implements SsmChunkedMinMaxOperator.SetResult { +public class InstantSetResult implements SsmChunkedMinMaxOperator.SetResult { private final boolean minimum; - private final DateTimeArraySource resultColumn; + private final InstantArraySource resultColumn; - public DateTimeSetResult(boolean minimum, WritableColumnSource resultColumn) { + public InstantSetResult(boolean minimum, WritableColumnSource resultColumn) { this.minimum = minimum; - this.resultColumn = (DateTimeArraySource) resultColumn; + this.resultColumn = (InstantArraySource) resultColumn; } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/SsmChunkedMinMaxOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/SsmChunkedMinMaxOperator.java index 8f2778cf44f..12d637c1a7f 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/SsmChunkedMinMaxOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/SsmChunkedMinMaxOperator.java @@ -9,7 +9,6 @@ import io.deephaven.configuration.Configuration; import io.deephaven.engine.rowset.chunkattributes.RowKeys; import io.deephaven.engine.table.WritableColumnSource; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.by.IterativeChunkedAggregationOperator; import io.deephaven.engine.table.impl.sources.ArrayBackedColumnSource; import io.deephaven.engine.table.ColumnSource; @@ -18,6 +17,7 @@ import io.deephaven.engine.table.impl.ssms.SegmentedSortedMultiSet; import io.deephaven.engine.table.impl.util.compact.CompactKernel; +import java.time.Instant; import java.util.Collections; import java.util.Map; import java.util.function.Supplier; @@ -47,7 +47,7 @@ public SsmChunkedMinMaxOperator( // region resultColumn initialization this.resultColumn = ArrayBackedColumnSource.getMemoryColumnSource(0, type); // endregion resultColumn initialization - if (type == DateTime.class) { + if (type == Instant.class) { chunkType = ChunkType.Long; } else { chunkType = ChunkType.fromElementType(type); @@ -60,8 +60,8 @@ public SsmChunkedMinMaxOperator( private static SetResult makeSetResult(ChunkType chunkType, Class type, boolean minimum, WritableColumnSource resultColumn) { - if (type == DateTime.class) { - return new DateTimeSetResult(minimum, resultColumn); + if (type == Instant.class) { + return new InstantSetResult(minimum, resultColumn); } else if (type == Boolean.class) { return new BooleanSetResult(minimum, resultColumn); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/DateTimePercentileTypeHelper.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/InstantPercentileTypeHelper.java similarity index 92% rename from engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/DateTimePercentileTypeHelper.java rename to engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/InstantPercentileTypeHelper.java index 5fcf439ceeb..923b82c1286 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/DateTimePercentileTypeHelper.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/InstantPercentileTypeHelper.java @@ -6,8 +6,8 @@ import io.deephaven.chunk.attributes.ChunkLengths; import io.deephaven.chunk.attributes.Values; import io.deephaven.engine.table.WritableColumnSource; +import io.deephaven.engine.table.impl.sources.InstantArraySource; import io.deephaven.util.compare.LongComparisons; -import io.deephaven.engine.table.impl.sources.DateTimeArraySource; import io.deephaven.chunk.Chunk; import io.deephaven.chunk.IntChunk; import io.deephaven.chunk.LongChunk; @@ -16,15 +16,14 @@ import io.deephaven.util.QueryConstants; import org.apache.commons.lang3.mutable.MutableInt; - -public class DateTimePercentileTypeHelper implements SsmChunkedPercentileOperator.PercentileTypeHelper { +public class InstantPercentileTypeHelper implements SsmChunkedPercentileOperator.PercentileTypeHelper { private final double percentile; - private final DateTimeArraySource resultColumn; + private final InstantArraySource resultColumn; - DateTimePercentileTypeHelper(double percentile, WritableColumnSource resultColumn) { + InstantPercentileTypeHelper(double percentile, WritableColumnSource resultColumn) { this.percentile = percentile; // region resultColumn - this.resultColumn = (DateTimeArraySource) resultColumn; + this.resultColumn = (InstantArraySource) resultColumn; // endregion } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/SsmChunkedPercentileOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/SsmChunkedPercentileOperator.java index 1af2443f822..61847314a70 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/SsmChunkedPercentileOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/SsmChunkedPercentileOperator.java @@ -11,7 +11,6 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.rowset.chunkattributes.RowKeys; import io.deephaven.engine.table.WritableColumnSource; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.by.IterativeChunkedAggregationOperator; import io.deephaven.engine.table.impl.sources.*; import io.deephaven.chunk.*; @@ -20,6 +19,7 @@ import org.apache.commons.lang3.mutable.MutableInt; import org.jetbrains.annotations.NotNull; +import java.time.Instant; import java.util.Collections; import java.util.Map; import java.util.function.Supplier; @@ -46,16 +46,16 @@ public class SsmChunkedPercentileOperator implements IterativeChunkedAggregation public SsmChunkedPercentileOperator(Class type, double percentile, boolean averageEvenlyDivided, String name) { this.name = name; this.ssms = new ObjectArraySource<>(SegmentedSortedMultiSet.class); - final boolean isDateTime = type == DateTime.class; - if (isDateTime) { + final boolean isInstant = type == Instant.class; + if (isInstant) { chunkType = ChunkType.Long; } else { chunkType = ChunkType.fromElementType(type); } - if (isDateTime) { + if (isInstant) { internalResult = new LongArraySource(); // noinspection unchecked - externalResult = new BoxedColumnSource.OfDateTime(internalResult); + externalResult = new BoxedColumnSource.OfInstant(internalResult); averageEvenlyDivided = false; } else { if (averageEvenlyDivided) { @@ -138,12 +138,14 @@ private static PercentileTypeHelper makeTypeHelper(ChunkType chunkType, Class } @NotNull - private static PercentileTypeHelper makeObjectHelper(Class type, double percentile, + private static PercentileTypeHelper makeObjectHelper( + Class type, + double percentile, WritableColumnSource resultColumn) { if (type == Boolean.class) { return new BooleanPercentileTypeHelper(percentile, resultColumn); - } else if (type == DateTime.class) { - return new DateTimePercentileTypeHelper(percentile, resultColumn); + } else if (type == Instant.class) { + return new InstantPercentileTypeHelper(percentile, resultColumn); } else { return new ObjectPercentileTypeHelper(percentile, resultColumn); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/impl/PartitionedTableLocationKey.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/impl/PartitionedTableLocationKey.java index 8543e15f987..b4c78d885ff 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/impl/PartitionedTableLocationKey.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/impl/PartitionedTableLocationKey.java @@ -94,7 +94,7 @@ public void format(@NotNull final LogOutput logOutput, @NotNull final Map type) { // Boxed Types // String // BigInt, BigDecimal - // DateTime + // Instant/ZonedDateTime/etc return type.isPrimitive() || io.deephaven.util.type.TypeUtils.isBoxedType(type) || io.deephaven.util.type.TypeUtils.isString(type) diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/remote/ConstructSnapshot.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/remote/ConstructSnapshot.java index f7796b62437..c9e0ca891ad 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/remote/ConstructSnapshot.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/remote/ConstructSnapshot.java @@ -23,7 +23,6 @@ import io.deephaven.engine.updategraph.NotificationQueue; import io.deephaven.engine.updategraph.WaitNotification; import io.deephaven.proto.backplane.grpc.Config; -import io.deephaven.time.DateTime; import io.deephaven.util.datastructures.LongSizedDataStructure; import io.deephaven.engine.liveness.LivenessManager; import io.deephaven.engine.liveness.LivenessScope; @@ -1546,8 +1545,7 @@ public static long estimateSnapshotSize(TableDefinition tableDefinition, BitSet } else if (definition.getDataType() == int.class || definition.getDataType() == float.class) { sizePerRow += 4; } else if (definition.getDataType() == long.class || definition.getDataType() == double.class - || definition.getDataType() == DateTime.class || definition.getDataType() == Instant.class - || definition.getDataType() == ZonedDateTime.class) { + || definition.getDataType() == Instant.class || definition.getDataType() == ZonedDateTime.class) { sizePerRow += 8; } else { switch (definition.getName()) { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/remote/InitialSnapshotTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/remote/InitialSnapshotTable.java index 74cea3533ac..c4410b57ee7 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/remote/InitialSnapshotTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/remote/InitialSnapshotTable.java @@ -8,7 +8,6 @@ import io.deephaven.engine.rowset.RowSet; import io.deephaven.engine.rowset.RowSetFactory; import io.deephaven.engine.table.*; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.QueryTable; import io.deephaven.engine.table.impl.sources.ArrayBackedColumnSource; import io.deephaven.engine.table.impl.sources.WritableRedirectedColumnSource; @@ -69,8 +68,9 @@ protected Setter getSetter(final WritableColumnSource source) { return (Setter) (array, arrayIndex, destIndex) -> source.set(destIndex, array[arrayIndex]); } else if (source.getType() == int.class) { return (Setter) (array, arrayIndex, destIndex) -> source.set(destIndex, array[arrayIndex]); - } else if (source.getType() == long.class || source.getType() == DateTime.class - || source.getType() == Instant.class || source.getType() == ZonedDateTime.class) { + } else if (source.getType() == long.class + || source.getType() == Instant.class + || source.getType() == ZonedDateTime.class) { return (Setter) (array, arrayIndex, destIndex) -> source.set(destIndex, array[arrayIndex]); } else if (source.getType() == short.class) { return (Setter) (array, arrayIndex, destIndex) -> source.set(destIndex, array[arrayIndex]); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/DataDrivenReplayer.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/DataDrivenReplayer.java index 194f4448d55..2934da6b335 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/DataDrivenReplayer.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/DataDrivenReplayer.java @@ -4,18 +4,21 @@ package io.deephaven.engine.table.impl.replay; import io.deephaven.base.clock.Clock; -import io.deephaven.time.DateTime; +import io.deephaven.base.clock.ClockNanoBase; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.table.ColumnSource; import gnu.trove.list.array.TLongArrayList; import io.deephaven.engine.rowset.RowSet; +import java.time.Instant; + public class DataDrivenReplayer extends Replayer { - private DateTime currentTime; + + private Instant currentTime; private int pos; private long lastTime = -1; - public DataDrivenReplayer(DateTime startTime, DateTime endTime) { + public DataDrivenReplayer(Instant startTime, Instant endTime) { super(startTime, endTime); currentTime = startTime; } @@ -23,7 +26,7 @@ public DataDrivenReplayer(DateTime startTime, DateTime endTime) { TLongArrayList allTimestamp = new TLongArrayList(); @Override - public void registerTimeSource(RowSet rowSet, ColumnSource timestampSource) { + public void registerTimeSource(RowSet rowSet, ColumnSource timestampSource) { long prevValue = -1; if (timestampSource.allowsReinterpret(long.class)) { ColumnSource longColumn = timestampSource.reinterpret(long.class); @@ -35,7 +38,8 @@ public void registerTimeSource(RowSet rowSet, ColumnSource timestampSo } } else { for (RowSet.Iterator iterator = rowSet.iterator(); iterator.hasNext();) { - long currentValue = timestampSource.get(iterator.nextLong()).getNanos(); + Instant instant = timestampSource.get(iterator.nextLong()); + long currentValue = DateTimeUtils.epochNanos(instant); if (currentValue != prevValue) { allTimestamp.add(prevValue = currentValue); } @@ -47,7 +51,7 @@ public void registerTimeSource(RowSet rowSet, ColumnSource timestampSo @Override public void start() { allTimestamp.sort(); - while (pos < allTimestamp.size() && allTimestamp.get(pos) < startTime.getNanos()) { + while (pos < allTimestamp.size() && allTimestamp.get(pos) < DateTimeUtils.epochNanos(startTime)) { pos++; } super.start(); @@ -58,15 +62,15 @@ public void run() { long currentTimeNanos = -1; while (pos < allTimestamp.size()) { currentTimeNanos = allTimestamp.get(pos); - if (currentTimeNanos > lastTime || currentTimeNanos > endTime.getNanos()) { + if (currentTimeNanos > lastTime || currentTimeNanos > DateTimeUtils.epochNanos(endTime)) { break; } pos++; } - if (currentTime.getNanos() > endTime.getNanos() || pos >= allTimestamp.size()) { + if (DateTimeUtils.epochNanos(currentTime) > DateTimeUtils.epochNanos(endTime) || pos >= allTimestamp.size()) { currentTime = endTime; } else { - currentTime = new DateTime(currentTimeNanos); + currentTime = DateTimeUtils.epochNanosToInstant(currentTimeNanos); } lastTime = currentTimeNanos; super.run(); @@ -74,7 +78,7 @@ public void run() { @Override public void setTime(long updatedTime) { - currentTime = DateTimeUtils.millisToTime(Math.max(updatedTime, currentTime.getMillis())); + currentTime = DateTimeUtils.epochMillisToInstant(Math.max(updatedTime, currentTime.toEpochMilli())); } @Override @@ -82,10 +86,11 @@ public Clock clock() { return new ClockImpl(); } - private class ClockImpl extends DateTimeClock { + private class ClockImpl extends ClockNanoBase { + @Override - public DateTime currentDateTime() { - return currentTime; + public long currentTimeNanos() { + return DateTimeUtils.epochNanos(currentTime); } } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/DateTimeClock.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/DateTimeClock.java deleted file mode 100644 index 937a1d834a7..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/DateTimeClock.java +++ /dev/null @@ -1,36 +0,0 @@ -package io.deephaven.engine.table.impl.replay; - -import io.deephaven.base.clock.Clock; -import io.deephaven.time.DateTime; - -import java.time.Instant; - -abstract class DateTimeClock implements Clock { - - public abstract DateTime currentDateTime(); - - @Override - public long currentTimeMillis() { - return currentDateTime().getMillis(); - } - - @Override - public long currentTimeMicros() { - return currentDateTime().getMicros(); - } - - @Override - public long currentTimeNanos() { - return currentDateTime().getNanos(); - } - - @Override - public Instant instantNanos() { - return currentDateTime().getInstant(); - } - - @Override - public Instant instantMillis() { - return currentDateTime().getInstant(); - } -} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/FixedStepReplayer.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/FixedStepReplayer.java index 56c1c136d32..e76a56709ed 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/FixedStepReplayer.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/FixedStepReplayer.java @@ -4,16 +4,17 @@ package io.deephaven.engine.table.impl.replay; import io.deephaven.base.clock.Clock; -import io.deephaven.time.DateTime; +import io.deephaven.base.clock.ClockNanoBase; import io.deephaven.time.DateTimeUtils; import java.time.Instant; public class FixedStepReplayer extends Replayer { + private long incrementNanos; - private DateTime currentTime; + private Instant currentTime; - public FixedStepReplayer(DateTime startTime, DateTime endTime, long incrementNanos) { + public FixedStepReplayer(Instant startTime, Instant endTime, long incrementNanos) { super(startTime, endTime); this.incrementNanos = incrementNanos; currentTime = startTime; @@ -22,7 +23,7 @@ public FixedStepReplayer(DateTime startTime, DateTime endTime, long incrementNan @Override public void run() { currentTime = DateTimeUtils.plus(currentTime, incrementNanos); - if (currentTime.getNanos() > endTime.getNanos()) { + if (DateTimeUtils.epochNanos(currentTime) > DateTimeUtils.epochNanos(endTime)) { currentTime = endTime; } super.run(); @@ -30,7 +31,7 @@ public void run() { @Override public void setTime(long updatedTime) { - currentTime = DateTimeUtils.millisToTime(Math.max(updatedTime, currentTime.getMillis())); + currentTime = DateTimeUtils.epochMillisToInstant(Math.max(updatedTime, currentTime.toEpochMilli())); } @Override @@ -38,10 +39,10 @@ public Clock clock() { return new ClockImpl(); } - private class ClockImpl extends DateTimeClock { + private class ClockImpl extends ClockNanoBase { @Override - public DateTime currentDateTime() { - return currentTime; + public long currentTimeNanos() { + return DateTimeUtils.epochNanos(currentTime); } } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/QueryReplayGroupedTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/QueryReplayGroupedTable.java index 7b4ee746350..b6066f83c58 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/QueryReplayGroupedTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/QueryReplayGroupedTable.java @@ -9,7 +9,6 @@ import io.deephaven.engine.rowset.RowSetFactory; import io.deephaven.engine.rowset.TrackingRowSet; import io.deephaven.engine.table.impl.indexer.RowSetIndexer; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.QueryTable; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.sources.RedirectedColumnSource; @@ -17,6 +16,7 @@ import io.deephaven.engine.table.impl.TupleSourceFactory; import io.deephaven.engine.table.impl.util.*; +import java.time.Instant; import java.util.Arrays; import java.util.LinkedHashMap; import java.util.Map; @@ -42,12 +42,12 @@ private static Map> getResultSources(Map { private final RowSet.Iterator iterator; - private final ColumnSource columnSource; - DateTime lastTime; + private final ColumnSource columnSource; + Instant lastTime; long lastIndex; public final long pos; - private IteratorsAndNextTime(RowSet.Iterator iterator, ColumnSource columnSource, long pos) { + private IteratorsAndNextTime(RowSet.Iterator iterator, ColumnSource columnSource, long pos) { this.iterator = iterator; this.columnSource = columnSource; this.pos = pos; @@ -87,7 +87,7 @@ protected QueryReplayGroupedTable(TrackingRowSet rowSet, Map timeSource = (ColumnSource) input.get(timeColumn); + ColumnSource timeSource = (ColumnSource) input.get(timeColumn); int pos = 0; for (RowSet groupRowSet : grouping.values()) { RowSet.Iterator iterator = groupRowSet.iterator(); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayGroupedFullTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayGroupedFullTable.java index e8a906fc82a..609c2caafcd 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayGroupedFullTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayGroupedFullTable.java @@ -9,6 +9,7 @@ import io.deephaven.engine.rowset.TrackingRowSet; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.util.*; +import io.deephaven.time.DateTimeUtils; import java.util.Map; @@ -34,7 +35,7 @@ public void run() { } RowSetBuilderRandom rowSetBuilder = RowSetFactory.builderRandom(); while (!allIterators.isEmpty() - && allIterators.peek().lastTime.getNanos() < replayer.clock().currentTimeNanos()) { + && DateTimeUtils.epochNanos(allIterators.peek().lastTime) < replayer.clock().currentTimeNanos()) { IteratorsAndNextTime currentIt = allIterators.poll(); final long key = redirIndexSize++; rowRedirection.put(key, currentIt.lastIndex); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayLastByGroupedTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayLastByGroupedTable.java index 92035710e57..7ee013bec4e 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayLastByGroupedTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayLastByGroupedTable.java @@ -7,10 +7,11 @@ import io.deephaven.engine.rowset.RowSetBuilderRandom; import io.deephaven.engine.rowset.RowSetFactory; import io.deephaven.engine.rowset.TrackingRowSet; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.util.*; +import io.deephaven.time.DateTimeUtils; +import java.time.Instant; import java.util.Map; public class ReplayLastByGroupedTable extends QueryReplayGroupedTable { @@ -21,7 +22,7 @@ public ReplayLastByGroupedTable(TrackingRowSet rowSet, Map) input.get(timeColumn)); + replayer.registerTimeSource(rowSet, (ColumnSource) input.get(timeColumn)); } @Override @@ -33,7 +34,7 @@ public void run() { RowSetBuilderRandom modifiedBuilder = RowSetFactory.builderRandom(); // List iteratorsToAddBack = new ArrayList<>(allIterators.size()); while (!allIterators.isEmpty() - && allIterators.peek().lastTime.getNanos() < replayer.clock().currentTimeNanos()) { + && DateTimeUtils.epochNanos(allIterators.peek().lastTime) < replayer.clock().currentTimeNanos()) { IteratorsAndNextTime currentIt = allIterators.poll(); rowRedirection.put(currentIt.pos, currentIt.lastIndex); if (getRowSet().find(currentIt.pos) >= 0) { @@ -43,7 +44,8 @@ public void run() { } do { currentIt = currentIt.next(); - } while (currentIt != null && currentIt.lastTime.getNanos() < replayer.clock().currentTimeNanos()); + } while (currentIt != null + && DateTimeUtils.epochNanos(currentIt.lastTime) < replayer.clock().currentTimeNanos()); if (currentIt != null) { allIterators.add(currentIt); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayTable.java index 83495b5dd46..91462e7e270 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/ReplayTable.java @@ -6,12 +6,12 @@ import io.deephaven.base.verify.Require; import io.deephaven.engine.rowset.*; import io.deephaven.engine.table.impl.sources.ReinterpretUtils; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.QueryTable; import io.deephaven.engine.table.ColumnSource; import io.deephaven.util.QueryConstants; import org.jetbrains.annotations.NotNull; +import java.time.Instant; import java.util.Map; public class ReplayTable extends QueryTable implements Runnable { @@ -37,9 +37,9 @@ public ReplayTable( // NB: This will behave incorrectly if our row set or any data in columns can change. Our source table *must* // be static. We also seem to be assuming that timeSource has no null values in rowSet. It would be nice to use // a column iterator for this, but that would upset unit tests by keeping pooled chunks across cycles. - final ColumnSource dateTimeSource = getColumnSource(timeColumn, DateTime.class); - replayer.registerTimeSource(rowSet, dateTimeSource); - nanoTimeSource = ReinterpretUtils.dateTimeToLongSource(dateTimeSource); + final ColumnSource instantSource = getColumnSource(timeColumn, Instant.class); + replayer.registerTimeSource(rowSet, instantSource); + nanoTimeSource = ReinterpretUtils.instantToLongSource(instantSource); rowSetIterator = rowSet.iterator(); setRefreshing(true); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/Replayer.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/Replayer.java index 2d3ce0712a3..a0987b0f3e0 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/Replayer.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/replay/Replayer.java @@ -7,14 +7,13 @@ import io.deephaven.base.verify.Assert; import io.deephaven.engine.exceptions.CancellationException; import io.deephaven.engine.table.Table; -import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.rowset.RowSet; import io.deephaven.engine.updategraph.TerminalNotification; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; +import io.deephaven.time.DateTimeUtils; import java.io.IOException; import java.time.Instant; @@ -29,8 +28,8 @@ public class Replayer implements ReplayerInterface, Runnable { private static final Logger log = LoggerFactory.getLogger(Replayer.class); - protected DateTime startTime; - protected DateTime endTime; + protected Instant startTime; + protected Instant endTime; private long deltaNanos = Long.MAX_VALUE; private CopyOnWriteArrayList currentTables = new CopyOnWriteArrayList<>(); private volatile boolean done; @@ -46,7 +45,7 @@ public class Replayer implements ReplayerInterface, Runnable { * @param startTime start time * @param endTime end time */ - public Replayer(DateTime startTime, DateTime endTime) { + public Replayer(Instant startTime, Instant endTime) { this.endTime = endTime; this.startTime = startTime; currentTables.add(this); @@ -57,7 +56,7 @@ public Replayer(DateTime startTime, DateTime endTime) { */ @Override public void start() { - deltaNanos = DateTimeUtils.millisToNanos(System.currentTimeMillis()) - startTime.getNanos(); + deltaNanos = DateTimeUtils.millisToNanos(System.currentTimeMillis()) - DateTimeUtils.epochNanos(startTime); for (Runnable currentTable : currentTables) { UpdateGraphProcessor.DEFAULT.addSource(currentTable); } @@ -80,7 +79,8 @@ public boolean isDone() { */ @Override public void shutdown() throws IOException { - endTime = DateTime.of(clock()); + Clock clock = clock(); + endTime = clock.instantNanos(); if (done) { return; } @@ -166,7 +166,7 @@ public static Clock getClock(final ReplayerInterface replayer) { @Override public void setTime(long updatedTime) { if (deltaNanos == Long.MAX_VALUE) { - startTime = DateTimeUtils.millisToTime(updatedTime); + startTime = DateTimeUtils.epochMillisToInstant(updatedTime); } else { long adjustment = updatedTime - clock().currentTimeMillis(); if (adjustment > 0) { @@ -242,7 +242,7 @@ public Table replayGroupedLastBy(Table dataSource, String timeColumn, String... * @param rowSet table row set * @param timestampSource column source containing time information. */ - public void registerTimeSource(RowSet rowSet, ColumnSource timestampSource) { + public void registerTimeSource(RowSet rowSet, ColumnSource timestampSource) { // Does nothing } @@ -252,7 +252,8 @@ public void registerTimeSource(RowSet rowSet, ColumnSource timestampSo @Override public void run() { for (PeriodicTask timerTask : timerTasks) { - timerTask.next(DateTime.of(clock())); + Clock clock = clock(); + timerTask.next(clock.instantNanos()); } if (lastLap) { @@ -262,7 +263,8 @@ public void run() { e.printStackTrace(); } } - if (DateTime.of(clock()).compareTo(endTime) >= 0) { + Clock clock = clock(); + if (clock.instantNanos().compareTo(endTime) >= 0) { lastLap = true; } } @@ -272,7 +274,7 @@ private static class PeriodicTask { private final TimerTask task; private final long delayMillis; private final long periodMillis; - DateTime nextTime = null; + Instant nextTime = null; public PeriodicTask(TimerTask task, long delayMillis, long periodMillis) { this.task = task; @@ -280,11 +282,11 @@ public PeriodicTask(TimerTask task, long delayMillis, long periodMillis) { this.periodMillis = periodMillis; } - public void next(DateTime currentTime) { + public void next(Instant currentTime) { if (nextTime == null) { nextTime = DateTimeUtils.plus(currentTime, DateTimeUtils.millisToNanos(delayMillis)); } else { - if (nextTime.getNanos() < currentTime.getNanos()) { + if (DateTimeUtils.epochNanos(nextTime) < DateTimeUtils.epochNanos(currentTime)) { try { task.run(); nextTime = DateTimeUtils.plus(currentTime, DateTimeUtils.millisToNanos(periodMillis)); @@ -332,20 +334,20 @@ public long currentTimeMicros() { @Override public long currentTimeNanos() { if (deltaNanos == Long.MAX_VALUE) { - return startTime.getNanos(); + return DateTimeUtils.epochNanos(startTime); } final long resultNanos = DateTimeUtils.millisToNanos(System.currentTimeMillis()) - deltaNanos; - return Math.min(resultNanos, endTime.getNanos()); + return Math.min(resultNanos, DateTimeUtils.epochNanos(endTime)); } @Override public Instant instantNanos() { if (deltaNanos == Long.MAX_VALUE) { - return startTime.getInstant(); + return startTime; } final long resultNanos = DateTimeUtils.millisToNanos(System.currentTimeMillis()) - deltaNanos; - if (resultNanos >= endTime.getNanos()) { - return endTime.getInstant(); + if (resultNanos >= DateTimeUtils.epochNanos(endTime)) { + return endTime; } return Instant.ofEpochSecond(0, resultNanos); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/AbstractConditionFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/AbstractConditionFilter.java index 5aea708add1..ae60d81142b 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/AbstractConditionFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/AbstractConditionFilter.java @@ -20,7 +20,7 @@ import io.deephaven.engine.util.PyCallableWrapper; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; -import io.deephaven.time.DateTimeUtils; +import io.deephaven.time.TimeLiteralReplacedExpression; import io.deephaven.vector.ObjectVector; import org.jetbrains.annotations.NotNull; import org.jpy.PyObject; @@ -141,7 +141,8 @@ public synchronized void init(TableDefinition tableDefinition) { log.debug("Expression (before) : " + formula); - final DateTimeUtils.Result timeConversionResult = DateTimeUtils.convertExpression(formula); + final TimeLiteralReplacedExpression timeConversionResult = + TimeLiteralReplacedExpression.convertExpression(formula); log.debug("Expression (after time conversion) : " + timeConversionResult.getConvertedFormula()); @@ -290,7 +291,7 @@ private void checkReturnType(QueryLanguageParser.Result result, Class resultT } protected abstract void generateFilterCode(TableDefinition tableDefinition, - DateTimeUtils.Result timeConversionResult, + TimeLiteralReplacedExpression timeConversionResult, QueryLanguageParser.Result result) throws MalformedURLException, ClassNotFoundException; @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ClockFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ClockFilter.java index 7157718b672..1ae24fe23f1 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ClockFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ClockFilter.java @@ -12,14 +12,15 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.table.TableDefinition; import io.deephaven.engine.table.impl.lang.QueryLanguageFunctionUtils; +import io.deephaven.engine.table.impl.sources.ReinterpretUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.updategraph.DynamicNode; import io.deephaven.engine.table.impl.QueryTable; import io.deephaven.engine.table.ColumnSource; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.time.Instant; import java.util.Collections; import java.util.List; @@ -66,15 +67,7 @@ public final WritableRowSet filter(@NotNull final RowSet selection, @NotNull fin Require.requirement(DynamicNode.notDynamicOrNotRefreshing(table), "DynamicNode.notDynamicOrNotRefreshing(table)"); - final ColumnSource dateTimeColumnSource = table.getColumnSource(columnName); - // Obviously, column needs to be of date-time values. - Require.requirement(DateTime.class.isAssignableFrom(dateTimeColumnSource.getType()), - "DateTime.class.isAssignableFrom(dateTimeColumnSource.getType())"); - - nanosColumnSource = dateTimeColumnSource.allowsReinterpret(long.class) - ? table.dateTimeColumnAsNanos(columnName).getColumnSource(columnName) - : table.view(columnName + " = isNull(" + columnName + ") ? NULL_LONG : " + columnName + ".getNanos()") - .getColumnSource(columnName); + nanosColumnSource = ReinterpretUtils.instantToLongSource(table.getColumnSource(columnName, Instant.class)); final WritableRowSet initial = initializeAndGetInitialIndex(selection, fullSet, table); return initial == null ? RowSetFactory.empty() : initial; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ConditionFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ConditionFilter.java index 7a5ea3f18a4..d77db0aeb98 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ConditionFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ConditionFilter.java @@ -17,7 +17,7 @@ import io.deephaven.engine.table.impl.lang.QueryLanguageParser; import io.deephaven.engine.table.impl.util.codegen.CodeGenerator; import io.deephaven.engine.context.QueryScopeParam; -import io.deephaven.time.DateTimeUtils; +import io.deephaven.time.TimeLiteralReplacedExpression; import io.deephaven.engine.table.impl.perf.QueryPerformanceNugget; import io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder; import io.deephaven.engine.table.ColumnSource; @@ -375,7 +375,9 @@ private static String toTitleCase(String input) { } @Override - protected void generateFilterCode(TableDefinition tableDefinition, DateTimeUtils.Result timeConversionResult, + protected void generateFilterCode( + TableDefinition tableDefinition, + TimeLiteralReplacedExpression timeConversionResult, QueryLanguageParser.Result result) { final StringBuilder classBody = getClassBody(tableDefinition, timeConversionResult, result); if (classBody == null) @@ -413,7 +415,9 @@ protected void generateFilterCode(TableDefinition tableDefinition, DateTimeUtils } @Nullable - private StringBuilder getClassBody(TableDefinition tableDefinition, DateTimeUtils.Result timeConversionResult, + private StringBuilder getClassBody( + TableDefinition tableDefinition, + TimeLiteralReplacedExpression timeConversionResult, QueryLanguageParser.Result result) { if (filterKernelClass != null) { return null; @@ -541,7 +545,7 @@ private StringBuilder getClassBody(TableDefinition tableDefinition, DateTimeUtil if (columnType.isPrimitive() && columnType != boolean.class) { chunkType = toTitleCase(columnType.getSimpleName()) + "Chunk"; } else { - // TODO: Reinterpret Boolean and DateTime to byte and long + // TODO: Reinterpret Boolean and Instant to byte and long chunkType = "ObjectChunk"; } classBody.append(indenter).append("final ").append(chunkType).append(" __columnChunk").append(i) diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/DhFormulaColumn.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/DhFormulaColumn.java index 94ce17cb7c8..b81ed689eab 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/DhFormulaColumn.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/DhFormulaColumn.java @@ -31,8 +31,7 @@ import io.deephaven.engine.util.caching.C14nUtil; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; +import io.deephaven.time.TimeLiteralReplacedExpression; import io.deephaven.util.type.TypeUtils; import io.deephaven.vector.ObjectVector; import io.deephaven.vector.Vector; @@ -190,7 +189,8 @@ public List initDef(Map> columnDefinitionMap } try { - final DateTimeUtils.Result timeConversionResult = DateTimeUtils.convertExpression(formulaString); + final TimeLiteralReplacedExpression timeConversionResult = + TimeLiteralReplacedExpression.convertExpression(formulaString); final QueryLanguageParser.Result result = FormulaAnalyzer.getCompiledFormula(columnDefinitionMap, timeConversionResult); analyzedFormula = FormulaAnalyzer.analyze(formulaString, columnDefinitionMap, @@ -847,7 +847,7 @@ private static boolean isImmutableType(QueryScopeParam param) { return true; } final Class type = value.getClass(); - if (type == String.class || type == DateTime.class || type == BigInteger.class || type == BigDecimal.class + if (type == String.class || type == BigInteger.class || type == BigDecimal.class || type == Instant.class || type == ZonedDateTime.class || Table.class.isAssignableFrom(type)) { return true; } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/DownsampledWhereFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/DownsampledWhereFilter.java index 1a48d60cde5..26224441468 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/DownsampledWhereFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/DownsampledWhereFilter.java @@ -9,17 +9,17 @@ import io.deephaven.engine.rowset.RowSetFactory; import io.deephaven.engine.table.Table; import io.deephaven.engine.table.TableDefinition; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.DynamicNode; import io.deephaven.engine.table.ColumnSource; +import java.time.Instant; import java.util.Collections; import java.util.List; /** * Utilities for downsampling non-ticking time series data within a query. The input table must be sorted by the - * {@link DateTime} column to be used for binning rows. + * {@link Instant} column to be used for binning rows. *

*

*

@@ -49,7 +49,7 @@ public enum SampleOrder { /** * Creates a {@link DownsampledWhereFilter} which can be used in a .where clause to downsample time series rows. * - * @param column {@link DateTime} column to use for filtering. + * @param column {@link Instant} column to use for filtering. * @param binSize Size in nanoseconds for the time bins. Constants like {@link DateTimeUtils#MINUTE} are typically * used. * @param order {@link SampleOrder} to set desired behavior. @@ -63,7 +63,7 @@ public DownsampledWhereFilter(String column, long binSize, SampleOrder order) { /** * Creates a {@link DownsampledWhereFilter} which can be used in a .where clause to downsample time series rows. * - * @param column {@link DateTime} column to use for filtering. + * @param column {@link Instant} column to use for filtering. * @param binSize Size in nanoseconds for the time bins. Constants like {@link DateTimeUtils#MINUTE} are typically * used. */ @@ -94,7 +94,7 @@ public WritableRowSet filter(RowSet selection, RowSet fullSet, Table table, bool // NB: because our source is not refreshing, we don't care about the previous values - ColumnSource timestampColumn = table.getColumnSource(column); + ColumnSource timestampColumn = table.getColumnSource(column); RowSetBuilderSequential builder = RowSetFactory.builderSequential(); @@ -103,14 +103,14 @@ public WritableRowSet filter(RowSet selection, RowSet fullSet, Table table, bool boolean hasNext = it.hasNext(); long lastKey = -1; - DateTime lastBin = null; + Instant lastBin = null; while (hasNext) { long next = it.nextLong(); hasNext = it.hasNext(); - DateTime timestamp = timestampColumn.get(next); - DateTime bin = (order == SampleOrder.UPPERLAST) ? DateTimeUtils.upperBin(timestamp, binSize) + Instant timestamp = timestampColumn.get(next); + Instant bin = (order == SampleOrder.UPPERLAST) ? DateTimeUtils.upperBin(timestamp, binSize) : DateTimeUtils.lowerBin(timestamp, binSize); if (!hasNext) { if (order == SampleOrder.UPPERLAST) { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/DateTimeRangeFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/InstantRangeFilter.java similarity index 52% rename from engine/table/src/main/java/io/deephaven/engine/table/impl/select/DateTimeRangeFilter.java rename to engine/table/src/main/java/io/deephaven/engine/table/impl/select/InstantRangeFilter.java index 6eb683797c3..b4d159fc654 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/DateTimeRangeFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/InstantRangeFilter.java @@ -8,27 +8,30 @@ import io.deephaven.engine.table.TableDefinition; import io.deephaven.engine.table.impl.chunkfilter.ChunkFilter; import io.deephaven.engine.rowset.chunkattributes.OrderedRowKeys; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.sources.ReinterpretUtils; import io.deephaven.chunk.*; import io.deephaven.chunk.attributes.Values; import io.deephaven.engine.rowset.WritableRowSet; import io.deephaven.engine.rowset.RowSet; -import io.deephaven.util.QueryConstants; +import io.deephaven.time.DateTimeUtils; -public class DateTimeRangeFilter extends LongRangeFilter { - public DateTimeRangeFilter(String columnName, DateTime val1, DateTime val2) { - super(columnName, val1.getNanos(), val2.getNanos(), true, true); +import java.time.Instant; + +public class InstantRangeFilter extends LongRangeFilter { + + public InstantRangeFilter(String columnName, Instant val1, Instant val2) { + super(columnName, DateTimeUtils.epochNanos(val1), DateTimeUtils.epochNanos(val2), true, true); } - public DateTimeRangeFilter(String columnName, DateTime val1, DateTime val2, boolean lowerInclusive, - boolean upperInclusive) { - super(columnName, val1.getNanos(), val2.getNanos(), lowerInclusive, upperInclusive); + public InstantRangeFilter( + String columnName, Instant val1, Instant val2, boolean lowerInclusive, boolean upperInclusive) { + super(columnName, DateTimeUtils.epochNanos(val1), DateTimeUtils.epochNanos(val2), + lowerInclusive, upperInclusive); } - public DateTimeRangeFilter(String columnName, long val1, long val2, boolean lowerInclusive, - boolean upperInclusive) { + public InstantRangeFilter( + String columnName, long val1, long val2, boolean lowerInclusive, boolean upperInclusive) { super(columnName, val1, val2, lowerInclusive, upperInclusive); } @@ -38,23 +41,23 @@ public void init(TableDefinition tableDefinition) { return; } - final ColumnDefinition def = tableDefinition.getColumn(columnName); + final ColumnDefinition def = tableDefinition.getColumn(columnName); if (def == null) { throw new RuntimeException("Column \"" + columnName + "\" doesn't exist in this table, available columns: " + tableDefinition.getColumnNames()); } - final Class colClass = def.getDataType(); - Assert.eq(colClass, "colClass", DateTime.class); + final Class colClass = def.getDataType(); + Assert.eq(colClass, "colClass", Instant.class); longFilter = super.initChunkFilter(); - chunkFilter = new DateTimeLongChunkFilterAdapter(); + chunkFilter = new InstantLongChunkFilterAdapter(); } @Override - public DateTimeRangeFilter copy() { - final DateTimeRangeFilter copy = - new DateTimeRangeFilter(columnName, lower, upper, lowerInclusive, upperInclusive); + public InstantRangeFilter copy() { + final InstantRangeFilter copy = + new InstantRangeFilter(columnName, lower, upper, lowerInclusive, upperInclusive); copy.chunkFilter = chunkFilter; copy.longFilter = longFilter; return copy; @@ -62,9 +65,10 @@ public DateTimeRangeFilter copy() { @Override public String toString() { - return "DateTimeRangeFilter(" + columnName + " in " + - (lowerInclusive ? "[" : "(") + new DateTime(lower) + "," + new DateTime(upper) + - (upperInclusive ? "]" : ")") + ")"; + return "InstantRangeFilter(" + columnName + " in " + + (lowerInclusive ? "[" : "(") + + DateTimeUtils.epochNanosToInstant(lower) + "," + DateTimeUtils.epochNanosToInstant(upper) + + (upperInclusive ? "]" : ")") + ")"; } @Override @@ -74,22 +78,22 @@ WritableRowSet binarySearch(RowSet selection, ColumnSource columnSource, boolean } // noinspection unchecked - final ColumnSource dateTimeColumnSource = - ReinterpretUtils.dateTimeToLongSource((ColumnSource) columnSource); - return super.binarySearch(selection, dateTimeColumnSource, usePrev, reverse); + final ColumnSource instantColumnSource = + ReinterpretUtils.instantToLongSource((ColumnSource) columnSource); + return super.binarySearch(selection, instantColumnSource, usePrev, reverse); } - private class DateTimeLongChunkFilterAdapter implements ChunkFilter { + private class InstantLongChunkFilterAdapter implements ChunkFilter { @Override public void filter(Chunk values, LongChunk keys, WritableLongChunk results) { try (final WritableLongChunk writableLongChunk = WritableLongChunk.makeWritableChunk(values.size())) { - final ObjectChunk objectValues = values.asObjectChunk(); + final ObjectChunk objectValues = values.asObjectChunk(); for (int ii = 0; ii < values.size(); ++ii) { - final DateTime dateTime = objectValues.get(ii); - writableLongChunk.set(ii, dateTime == null ? QueryConstants.NULL_LONG : dateTime.getNanos()); + final Instant instant = objectValues.get(ii); + writableLongChunk.set(ii, DateTimeUtils.epochNanos(instant)); } writableLongChunk.setSize(values.size()); longFilter.filter(writableLongChunk, keys, results); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/MatchFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/MatchFilter.java index fde5e5e8cbc..7cb93eceaea 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/MatchFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/MatchFilter.java @@ -14,12 +14,12 @@ import io.deephaven.engine.context.QueryScope; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.type.ArrayTypeUtils; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.rowset.RowSet; import org.jetbrains.annotations.NotNull; import org.jpy.PyObject; +import java.time.Instant; import java.util.*; public class MatchFilter extends WhereFilterImpl { @@ -343,15 +343,15 @@ Object convertParamValue(Object paramValue) { } }; } - if (cls == DateTime.class) { + if (cls == Instant.class) { return new ColumnTypeConvertor() { @Override Object convertStringLiteral(String str) { if (str.charAt(0) != '\'' || str.charAt(str.length() - 1) != '\'') { throw new IllegalArgumentException( - "DateTime literal not enclosed in single-quotes (\"" + str + "\")"); + "Instant literal not enclosed in single-quotes (\"" + str + "\")"); } - return DateTimeUtils.convertDateTime(str.substring(1, str.length() - 1)); + return DateTimeUtils.parseInstant(str.substring(1, str.length() - 1)); } }; } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/RangeConditionFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/RangeConditionFilter.java index 644c7cb39f0..6fdcd5e9f71 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/RangeConditionFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/RangeConditionFilter.java @@ -19,7 +19,7 @@ import java.util.List; /** - * A filter for comparable types (including DateTime) for {@link Condition} values:
+ * A filter for comparable types (including Instant) for {@link Condition} values:
*

    *
  • LESS_THAN
  • *
  • LESS_THAN_OR_EQUAL
  • @@ -210,21 +210,21 @@ public static long parseLongFilter(String value) { private static LongRangeFilter makeDateTimeRangeFilter(String columnName, Condition condition, String value) { switch (condition) { case LESS_THAN: - return new DateTimeRangeFilter(columnName, parseDateTimeNanos(value), Long.MIN_VALUE, true, false); + return new InstantRangeFilter(columnName, parseInstantNanos(value), Long.MIN_VALUE, true, false); case LESS_THAN_OR_EQUAL: - return new DateTimeRangeFilter(columnName, parseDateTimeNanos(value), Long.MIN_VALUE, true, true); + return new InstantRangeFilter(columnName, parseInstantNanos(value), Long.MIN_VALUE, true, true); case GREATER_THAN: - return new DateTimeRangeFilter(columnName, parseDateTimeNanos(value), Long.MAX_VALUE, false, true); + return new InstantRangeFilter(columnName, parseInstantNanos(value), Long.MAX_VALUE, false, true); case GREATER_THAN_OR_EQUAL: - return new DateTimeRangeFilter(columnName, parseDateTimeNanos(value), Long.MAX_VALUE, true, true); + return new InstantRangeFilter(columnName, parseInstantNanos(value), Long.MAX_VALUE, true, true); default: throw new IllegalArgumentException("RangeConditionFilter does not support condition " + condition); } } - private static long parseDateTimeNanos(String value) { + private static long parseInstantNanos(String value) { if (value.startsWith("'") && value.endsWith("'")) { - return DateTimeUtils.convertDateTime(value.substring(1, value.length() - 1)).getNanos(); + return DateTimeUtils.epochNanos(DateTimeUtils.parseInstant(value.substring(1, value.length() - 1))); } return Long.parseLong(value); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ReinterpretedColumn.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ReinterpretedColumn.java index 839e458499c..b2499d2e121 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ReinterpretedColumn.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/ReinterpretedColumn.java @@ -13,17 +13,15 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.rowset.TrackingRowSet; -import io.deephaven.engine.table.impl.sources.ConvertableTimeSource; +import io.deephaven.engine.table.impl.sources.ConvertibleTimeSource; import io.deephaven.engine.table.impl.sources.LocalDateWrapperSource; import io.deephaven.engine.table.impl.sources.LocalTimeWrapperSource; -import io.deephaven.engine.table.impl.sources.LongAsDateTimeColumnSource; import io.deephaven.engine.table.impl.sources.LongAsInstantColumnSource; import io.deephaven.engine.table.impl.sources.LongAsLocalDateColumnSource; import io.deephaven.engine.table.impl.sources.LongAsLocalTimeColumnSource; import io.deephaven.engine.table.impl.sources.LongAsZonedDateTimeColumnSource; import io.deephaven.engine.table.impl.sources.ReinterpretUtils; import io.deephaven.engine.table.impl.util.TableTimeConversions; -import io.deephaven.time.DateTime; import org.jetbrains.annotations.NotNull; import java.time.Instant; @@ -123,25 +121,25 @@ public List initInputs(TrackingRowSet rowSet, Map intermediate; - if (sourceDataType == DateTime.class) { - // noinspection unchecked - intermediate = ReinterpretUtils.dateTimeToLongSource((ColumnSource) sourceColumnSource); - } else if (sourceDataType == Instant.class) { + if (sourceDataType == Instant.class) { // noinspection unchecked intermediate = ReinterpretUtils.instantToLongSource((ColumnSource) sourceColumnSource); } else if (sourceDataType == ZonedDateTime.class) { @@ -259,8 +252,6 @@ public ColumnSource getDataView() { // Otherwise we'll have to go from long back to a wrapped typed source. if (destDataType == Long.class || destDataType == long.class) { return checkResult.apply(intermediate); - } else if (destDataType == DateTime.class) { - return checkResult.apply(new LongAsDateTimeColumnSource(intermediate)); } else if (destDataType == ZonedDateTime.class) { return checkResult.apply(new LongAsZonedDateTimeColumnSource(intermediate, zone)); } else if (destDataType == Instant.class) { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/SimulationClock.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/SimulationClock.java index a7969a391fa..69c4b1f86ad 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/SimulationClock.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/SimulationClock.java @@ -8,7 +8,6 @@ import io.deephaven.base.verify.Require; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.util.annotations.VisibleForTesting; import org.jetbrains.annotations.NotNull; @@ -22,7 +21,7 @@ @SuppressWarnings({"WeakerAccess", "unused"}) public class SimulationClock implements Clock { - private final DateTime endTime; + private final Instant endTime; private final long stepNanos; private final Runnable refreshTask = this::advance; // Save this in a reference so we can deregister it. @@ -34,7 +33,7 @@ private enum State { private final AtomicReference state = new AtomicReference<>(State.NOT_STARTED); private final Condition ugpCondition = UpdateGraphProcessor.DEFAULT.exclusiveLock().newCondition(); - private DateTime now; + private Instant now; /** * Create a simulation clock for the specified time range and step. @@ -43,11 +42,12 @@ private enum State { * @param endTime The final time that will be returned by this clock, when the simulation has completed * @param stepSize The time to "elapse" in each run loop */ - public SimulationClock(@NotNull final String startTime, + public SimulationClock( + @NotNull final String startTime, @NotNull final String endTime, @NotNull final String stepSize) { - this(DateTimeUtils.convertDateTime(startTime), DateTimeUtils.convertDateTime(endTime), - DateTimeUtils.convertTime(stepSize)); + this(DateTimeUtils.parseInstant(startTime), DateTimeUtils.parseInstant(endTime), + DateTimeUtils.parseDurationNanos(stepSize)); } /** @@ -57,8 +57,9 @@ public SimulationClock(@NotNull final String startTime, * @param endTime The final time that will be returned by this clock, when the simulation has completed * @param stepNanos The number of nanoseconds to "elapse" in each run loop */ - public SimulationClock(@NotNull final DateTime startTime, - @NotNull final DateTime endTime, + public SimulationClock( + @NotNull final Instant startTime, + @NotNull final Instant endTime, final long stepNanos) { Require.neqNull(startTime, "startTime"); this.endTime = Require.neqNull(endTime, "endTime"); @@ -69,27 +70,27 @@ public SimulationClock(@NotNull final DateTime startTime, @Override public long currentTimeMillis() { - return now.getMillis(); + return DateTimeUtils.epochMillis(now); } @Override public long currentTimeMicros() { - return now.getMicros(); + return DateTimeUtils.epochMicros(now); } @Override public long currentTimeNanos() { - return now.getNanos(); + return DateTimeUtils.epochNanos(now); } @Override public Instant instantNanos() { - return now.getInstant(); + return now; } @Override public Instant instantMillis() { - return now.getInstant(); + return now; } /** @@ -120,14 +121,14 @@ public void start(final boolean maxSpeed) { @VisibleForTesting public void advance() { Assert.eq(state.get(), "state.get()", State.STARTED); - if (now.getNanos() == endTime.getNanos()) { + if (DateTimeUtils.epochNanos(now) == DateTimeUtils.epochNanos(endTime)) { Assert.assertion(state.compareAndSet(State.STARTED, State.DONE), "state.compareAndSet(State.STARTED, State.DONE)"); UpdateGraphProcessor.DEFAULT.removeSource(refreshTask); UpdateGraphProcessor.DEFAULT.requestSignal(ugpCondition); return; // This return is not strictly necessary, but it seems clearer this way. } - final DateTime incremented = DateTimeUtils.plus(now, stepNanos); + final Instant incremented = DateTimeUtils.plus(now, stepNanos); now = DateTimeUtils.isAfter(incremented, endTime) ? endTime : incremented; } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/SortedClockFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/SortedClockFilter.java index 98ac7b8a438..b72b9ff5644 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/SortedClockFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/SortedClockFilter.java @@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable; /** - * This will filter a table on a DateTime column for all rows greater than "now" according to a supplied clock. It + * This will filter a table on an Instant column for all rows greater than "now" according to a supplied clock. It * requires sorting of the input table according to the specified timestamp column, leveraging this for a very efficient * implementation (albeit one that requires sorting first) and an output sequence that is monotonically nondecreasing in * the specified column. diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/TimeSeriesFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/TimeSeriesFilter.java index acf66e18dc7..f7c4a65d773 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/TimeSeriesFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/TimeSeriesFilter.java @@ -19,9 +19,9 @@ import io.deephaven.engine.table.TableDefinition; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.ColumnSource; +import java.time.Instant; import java.util.Collections; import java.util.List; @@ -35,7 +35,7 @@ public class TimeSeriesFilter extends WhereFilterLivenessArtifactImpl implements @SuppressWarnings("UnusedDeclaration") public TimeSeriesFilter(String columnName, String period) { - this(columnName, DateTimeUtils.expressionToNanos(period)); + this(columnName, DateTimeUtils.parseDurationNanos(period)); } public TimeSeriesFilter(String columnName, long nanos) { @@ -64,9 +64,9 @@ public WritableRowSet filter(RowSet selection, RowSet fullSet, Table table, bool } @SuppressWarnings("unchecked") - ColumnSource dateColumn = table.getColumnSource(columnName); - if (!DateTime.class.isAssignableFrom(dateColumn.getType())) { - throw new RuntimeException(columnName + " is not a DateTime column!"); + ColumnSource dateColumn = table.getColumnSource(columnName); + if (!Instant.class.isAssignableFrom(dateColumn.getType())) { + throw new RuntimeException(columnName + " is not an Instant column!"); } long nanoBoundary = getNowNanos() - nanos; @@ -74,7 +74,8 @@ public WritableRowSet filter(RowSet selection, RowSet fullSet, Table table, bool RowSetBuilderSequential indexBuilder = RowSetFactory.builderSequential(); for (RowSet.Iterator it = selection.iterator(); it.hasNext();) { long row = it.nextLong(); - long nanoValue = dateColumn.get(row).getNanos(); + Instant instant = dateColumn.get(row); + long nanoValue = DateTimeUtils.epochNanos(instant); if (nanoValue >= nanoBoundary) { indexBuilder.appendKey(row); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/UnsortedClockFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/UnsortedClockFilter.java index a734ce27665..e69cd053f58 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/UnsortedClockFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/UnsortedClockFilter.java @@ -17,7 +17,7 @@ import java.util.Queue; /** - * This will filter a table on a DateTime column for all rows greater than "now" according to a supplied clock. It does + * This will filter a table on an Instant column for all rows greater than "now" according to a supplied clock. It does * not require any pre-sorting of the input table, instead preserving relative order in the initial output and each * subsequent run. Relative to SortedClockFilter, this implementation may require less overall storage and do less * overall work for tables with relatively few monotonically nondecreasing ranges (that is, m (number of ranges) diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/WhereFilterFactory.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/WhereFilterFactory.java index 8e523bf57b8..29c959ca5f7 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/WhereFilterFactory.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/WhereFilterFactory.java @@ -19,7 +19,6 @@ import io.deephaven.gui.table.QuickFilterMode; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.annotations.VisibleForTesting; import io.deephaven.util.text.SplitIgnoreQuotes; @@ -27,6 +26,7 @@ import java.math.BigDecimal; import java.math.BigInteger; +import java.time.Instant; import java.time.ZonedDateTime; import java.time.temporal.ChronoField; import java.time.temporal.ChronoUnit; @@ -348,8 +348,8 @@ private static WhereFilter createQuickFilter(ColumnDefinition colDef, String false), false); } else if ((colClass == boolean.class || colClass == Boolean.class) && typeData.isBool) { return new MatchFilter(colName, Boolean.parseBoolean(quickFilter)); - } else if (colClass == DateTime.class && typeData.dateLower != null && typeData.dateUpper != null) { - return new DateTimeRangeFilter(colName, typeData.dateLower, typeData.dateUpper, true, false); + } else if (colClass == Instant.class && typeData.dateLower != null && typeData.dateUpper != null) { + return new InstantRangeFilter(colName, typeData.dateLower, typeData.dateUpper, true, false); } else if ((colClass == char.class || colClass == Character.class) && typeData.isChar) { return new MatchFilter(colName, typeData.charVal); } @@ -458,8 +458,8 @@ static class InferenceResult { boolean isBigDecimal; BigDecimal bigDecVal; - DateTime dateUpper; - DateTime dateLower; + Instant dateUpper; + Instant dateLower; InferenceResult(String valString) { isBool = (valString.equalsIgnoreCase("false") || valString.equalsIgnoreCase("true")); @@ -521,27 +521,25 @@ static class InferenceResult { ZonedDateTime dateUpper = null; try { // Was it a full date? - dateLower = DateTimeUtils.getZonedDateTime(DateTimeUtils.convertDateTime(valString)); + dateLower = DateTimeUtils.toZonedDateTime( + DateTimeUtils.parseInstant(valString), DateTimeUtils.timeZone()); } catch (RuntimeException ignored) { try { // Maybe it was just a TOD? - long time = DateTimeUtils.convertTime(valString); - dateLower = - DateTimeUtils.getZonedDateTime(DateTime.nowMillis()).truncatedTo(ChronoUnit.DAYS).plus(time, - ChronoUnit.NANOS); + long time = DateTimeUtils.parseDurationNanos(valString); + dateLower = DateTimeUtils.toZonedDateTime(DateTimeUtils.now(), DateTimeUtils.timeZone()) + .truncatedTo(ChronoUnit.DAYS).plus(time, ChronoUnit.NANOS); } catch (RuntimeException ignored1) { } } if (dateLower != null) { - final ChronoField finestUnit = DateTimeUtils.getFinestDefinedUnit(valString); + final ChronoField finestUnit = DateTimeUtils.parseTimePrecisionQuiet(valString); dateUpper = finestUnit == null ? dateLower : dateLower.plus(1, finestUnit.getBaseUnit()); } - this.dateUpper = - dateUpper == null ? null : DateTimeUtils.millisToTime(dateUpper.toInstant().toEpochMilli()); - this.dateLower = - dateLower == null ? null : DateTimeUtils.millisToTime(dateLower.toInstant().toEpochMilli()); + this.dateUpper = dateUpper == null ? null : dateUpper.toInstant(); + this.dateLower = dateLower == null ? null : dateLower.toInstant(); } } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/analyzers/SelectColumnLayer.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/analyzers/SelectColumnLayer.java index 691f8319c03..e2b5a540eeb 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/analyzers/SelectColumnLayer.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/analyzers/SelectColumnLayer.java @@ -27,11 +27,11 @@ import io.deephaven.engine.updategraph.UpdateCommitterEx; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.systemicmarking.SystemicObjectTracker; -import io.deephaven.time.DateTime; import io.deephaven.util.SafeCloseable; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.time.Instant; import java.util.*; import java.util.function.Consumer; import java.util.function.LongToIntFunction; @@ -579,7 +579,7 @@ void prepareSourcesForParallelPopulation(@NotNull final TableUpdate upstream) { private void clearObjectsAtThisLevel(RowSet keys) { // Only bother doing this if we're holding on to references. - if (!writableSource.getType().isPrimitive() && (writableSource.getType() != DateTime.class)) { + if (!writableSource.getType().isPrimitive() && (writableSource.getType() != Instant.class)) { ChunkUtils.fillWithNullValue(writableSource, keys); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/codegen/FormulaAnalyzer.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/codegen/FormulaAnalyzer.java index 43030218c24..d32841e8afe 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/select/codegen/FormulaAnalyzer.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/select/codegen/FormulaAnalyzer.java @@ -9,7 +9,7 @@ import io.deephaven.engine.table.impl.lang.QueryLanguageParser; import io.deephaven.engine.table.impl.select.QueryScopeParamTypeUtil; import io.deephaven.engine.context.QueryScopeParam; -import io.deephaven.time.DateTimeUtils; +import io.deephaven.time.TimeLiteralReplacedExpression; import io.deephaven.vector.ObjectVector; import io.deephaven.engine.context.QueryScope; import io.deephaven.engine.table.impl.select.DhFormulaColumn; @@ -28,7 +28,7 @@ public class FormulaAnalyzer { public static Result analyze(final String rawFormulaString, final Map> columnDefinitionMap, - final DateTimeUtils.Result timeConversionResult, + final TimeLiteralReplacedExpression timeConversionResult, final QueryLanguageParser.Result queryLanguageResult) throws Exception { final Map> possibleParams = new HashMap<>(); final QueryScope queryScope = ExecutionContext.getContext().getQueryScope(); @@ -74,7 +74,7 @@ public static Result analyze(final String rawFormulaString, } public static QueryLanguageParser.Result getCompiledFormula(Map> availableColumns, - DateTimeUtils.Result timeConversionResult) throws Exception { + TimeLiteralReplacedExpression timeConversionResult) throws Exception { final Map> possibleVariables = new HashMap<>(); possibleVariables.put("i", int.class); possibleVariables.put("ii", long.class); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ArrayBackedColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ArrayBackedColumnSource.java index f7e68e43fec..d48cb9c0c2d 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ArrayBackedColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ArrayBackedColumnSource.java @@ -7,7 +7,6 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.rowset.chunkattributes.RowKeys; import io.deephaven.util.type.ArrayTypeUtils; -import io.deephaven.time.DateTime; import io.deephaven.chunk.*; import io.deephaven.chunk.attributes.Values; import io.deephaven.engine.rowset.RowSequence; @@ -316,14 +315,14 @@ public static ArrayBackedColumnSource getMemoryColumnSource(@NotNull final } /** - * Produces an DateTimeArraySource with the given data. + * Produces an InstantArraySource with the given data. * * @param data an array containing the data to insert into the ColumnSource, represented as long nanoseconds since * the epoch * @return an in-memory column source with the requested data */ - public static WritableColumnSource getDateTimeMemoryColumnSource(LongChunk data) { - final WritableColumnSource result = new DateTimeArraySource(); + public static WritableColumnSource getInstantMemoryColumnSource(LongChunk data) { + final WritableColumnSource result = new InstantArraySource(); result.ensureCapacity(data.size()); for (int ii = 0; ii < data.size(); ++ii) { result.set(ii, data.get(ii)); @@ -332,14 +331,14 @@ public static WritableColumnSource getDateTimeMemoryColumnSource(LongC } /** - * Produces an DateTimeArraySource with the given data. + * Produces an InstantArraySource with the given data. * * @param data an array containing the data to insert into the ColumnSource, represented as long nanoseconds since * the epoch * @return an in-memory column source with the requested data */ - public static WritableColumnSource getDateTimeMemoryColumnSource(@NotNull final long[] data) { - final WritableColumnSource result = new DateTimeArraySource(); + public static WritableColumnSource getInstantMemoryColumnSource(@NotNull final long[] data) { + final WritableColumnSource result = new InstantArraySource(); result.ensureCapacity(data.length); final WritableColumnSource asLong = (WritableColumnSource) result.reinterpret(long.class); try (final FillFromContext context = asLong.makeFillFromContext(data.length); @@ -411,8 +410,6 @@ public static WritableColumnSource getMemoryColumnSource(final long size, result = new ShortArraySource(); } else if (dataType == boolean.class || dataType == Boolean.class) { result = new BooleanArraySource(); - } else if (dataType == DateTime.class) { - result = new DateTimeArraySource(); } else if (dataType == Instant.class) { result = new InstantArraySource(); } else { @@ -624,41 +621,30 @@ public void visit(GenericArray generic) { generic.componentType().walk(new Visitor() { @Override public void visit(StringType stringType) { - out = ArrayBackedColumnSource.getMemoryColumnSource(generic.cast(stringType).values(), String.class, - null); + out = ArrayBackedColumnSource.getMemoryColumnSource( + generic.cast(stringType).values(), String.class, null); } @Override public void visit(InstantType instantType) { - DateTimeArraySource source = new DateTimeArraySource(); - source.ensureCapacity(generic.size()); - int ix = 0; - for (Instant value : generic.cast(instantType).values()) { - if (value == null) { - source.set(ix++, NULL_LONG); - } else { - long nanos = - Math.addExact(TimeUnit.SECONDS.toNanos(value.getEpochSecond()), value.getNano()); - source.set(ix++, nanos); - } - } - out = source; + out = ArrayBackedColumnSource.getMemoryColumnSource( + generic.cast(instantType).values(), Instant.class, null); } @Override public void visit(ArrayType arrayType) { // noinspection unchecked ArrayType tType = (ArrayType) arrayType; - out = ArrayBackedColumnSource.getMemoryColumnSource(generic.cast(tType).values(), tType.clazz(), - arrayType.componentType().clazz()); + out = ArrayBackedColumnSource.getMemoryColumnSource( + generic.cast(tType).values(), tType.clazz(), arrayType.componentType().clazz()); } @Override public void visit(CustomType customType) { // noinspection unchecked CustomType tType = (CustomType) customType; - out = ArrayBackedColumnSource.getMemoryColumnSource(generic.cast(tType).values(), tType.clazz(), - null); + out = ArrayBackedColumnSource.getMemoryColumnSource( + generic.cast(tType).values(), tType.clazz(), null); } }); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/BoxedColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/BoxedColumnSource.java index 53b429f47a3..0de0e304f6b 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/BoxedColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/BoxedColumnSource.java @@ -8,7 +8,6 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.AbstractColumnSource; import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.BooleanUtils; import io.deephaven.chunk.*; @@ -17,11 +16,10 @@ import org.jetbrains.annotations.NotNull; import java.time.Instant; -import java.time.ZonedDateTime; /** * {@link ColumnSource} implementation for explicitly boxing a primitive into a more complex type, e.g. {@code byte} as - * {@link Boolean} or {@code long} as {@link DateTime}. + * {@link Boolean} or {@code long} as {@link Instant}. */ public abstract class BoxedColumnSource extends AbstractColumnSource implements MutableColumnSourceGetDefaults.ForObject { @@ -126,38 +124,6 @@ void transformChunk(@NotNull final Chunk source, } } - public static final class OfDateTime extends BoxedColumnSource { - - public OfDateTime(@NotNull final ColumnSource originalSource) { - super(DateTime.class, originalSource); - Assert.eq(originalSource.getType(), "originalSource.getType()", long.class); - } - - @Override - public DateTime get(final long rowKey) { - return DateTimeUtils.nanosToTime(originalSource.getLong(rowKey)); - } - - @Override - public DateTime getPrev(final long rowKey) { - return DateTimeUtils.nanosToTime(originalSource.getPrevLong(rowKey)); - } - - @Override - void transformChunk(@NotNull final Chunk source, - @NotNull final WritableChunk destination) { - final LongChunk typedSource = source.asLongChunk(); - final WritableObjectChunk typedDestination = - destination.asWritableObjectChunk(); - - final int sourceSize = typedSource.size(); - for (int pi = 0; pi < sourceSize; ++pi) { - typedDestination.set(pi, DateTimeUtils.nanosToTime(typedSource.get(pi))); - } - typedDestination.setSize(sourceSize); - } - } - public static final class OfInstant extends BoxedColumnSource { public OfInstant(@NotNull final ColumnSource originalSource) { @@ -167,12 +133,12 @@ public OfInstant(@NotNull final ColumnSource originalSource) { @Override public Instant get(final long rowKey) { - return DateTimeUtils.makeInstant(originalSource.getLong(rowKey)); + return DateTimeUtils.epochNanosToInstant(originalSource.getLong(rowKey)); } @Override public Instant getPrev(final long rowKey) { - return DateTimeUtils.makeInstant(originalSource.getPrevLong(rowKey)); + return DateTimeUtils.epochNanosToInstant(originalSource.getPrevLong(rowKey)); } @Override @@ -184,7 +150,7 @@ void transformChunk(@NotNull final Chunk source, final int sourceSize = typedSource.size(); for (int pi = 0; pi < sourceSize; ++pi) { - typedDestination.set(pi, DateTimeUtils.makeInstant(typedSource.get(pi))); + typedDestination.set(pi, DateTimeUtils.epochNanosToInstant(typedSource.get(pi))); } typedDestination.setSize(sourceSize); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ConvertableTimeSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ConvertibleTimeSource.java similarity index 84% rename from engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ConvertableTimeSource.java rename to engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ConvertibleTimeSource.java index 63bec1eb8a3..0985848e38f 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ConvertableTimeSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ConvertibleTimeSource.java @@ -4,7 +4,6 @@ package io.deephaven.engine.table.impl.sources; import io.deephaven.engine.table.ColumnSource; -import io.deephaven.time.DateTime; import java.time.*; @@ -12,7 +11,7 @@ * An interface for {@link ColumnSource}s that indicate that it both represents a time value, and may be converted * between other common time values efficiently. */ -public interface ConvertableTimeSource { +public interface ConvertibleTimeSource { /** * Convert this source to a {@link ZonedDateTime} source at the specified {@link ZoneId zone}. * @@ -40,17 +39,10 @@ public interface ConvertableTimeSource { /** * Convert this source to an {@link Instant} source. * - * @return a view of this source as a {@link Instant} + * @return a view of this source asan {@link Instant} */ ColumnSource toInstant(); - /** - * Convert this source to a {@link DateTime} source. - * - * @return a view of this source as a {@link DateTime} - */ - ColumnSource toDateTime(); - /** * Convert this source to a {@code long} source of nanoseconds of epoch. * diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeArraySource.java deleted file mode 100644 index 33268ac5079..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeArraySource.java +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.sources; - -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; -import org.jetbrains.annotations.NotNull; - -/** - * Array-backed {@link ColumnSource} for DateTimes. Allows reinterpretation to long and {@link java.time.Instant}. - */ -public class DateTimeArraySource extends NanosBasedTimeArraySource - implements MutableColumnSourceGetDefaults.ForLongAsDateTime, ConvertableTimeSource { - public DateTimeArraySource() { - super(DateTime.class); - } - - public DateTimeArraySource(final @NotNull LongArraySource nanoSource) { - super(DateTime.class, nanoSource); - } - - @Override - protected DateTime makeValue(long nanos) { - return DateTimeUtils.nanosToTime(nanos); - } - - @Override - protected long toNanos(DateTime value) { - return DateTimeUtils.nanos(value); - } - - @Override - public ColumnSource toDateTime() { - return this; - } -} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeAsLongColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeAsLongColumnSource.java deleted file mode 100644 index fe24e0ec4a7..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeAsLongColumnSource.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.sources; - -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; - -/** - * Reinterpret result {@link ColumnSource} implementations that translates {@link DateTime} to {@code long} values. - */ -public class DateTimeAsLongColumnSource extends UnboxedTimeBackedColumnSource { - public DateTimeAsLongColumnSource(ColumnSource alternateColumnSource) { - super(alternateColumnSource); - } - - @Override - protected long toEpochNano(DateTime val) { - return DateTimeUtils.nanos(val); - } -} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeSparseArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeSparseArraySource.java deleted file mode 100644 index dcbc0219cdd..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeSparseArraySource.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.sources; - -import io.deephaven.engine.table.impl.DefaultChunkSource; -import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; -import io.deephaven.chunk.attributes.Values; -import io.deephaven.time.DateTimeUtils; -import org.jetbrains.annotations.NotNull; - -/** - * Array-backed ColumnSource for DateTimes. Allows reinterpret as long. - */ -public class DateTimeSparseArraySource extends NanosBasedTimeSparseArraySource - implements MutableColumnSourceGetDefaults.ForLongAsDateTime, DefaultChunkSource, ConvertableTimeSource { - - public DateTimeSparseArraySource() { - super(DateTime.class); - } - - public DateTimeSparseArraySource(final @NotNull LongSparseArraySource nanoSource) { - super(DateTime.class, nanoSource); - } - - @Override - protected DateTime makeValue(long nanos) { - return DateTimeUtils.nanosToTime(nanos); - } - - @Override - protected long toNanos(DateTime value) { - return DateTimeUtils.nanos(value); - } -} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InMemoryColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InMemoryColumnSource.java index afcc8e8b182..41c00ea0c03 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InMemoryColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InMemoryColumnSource.java @@ -9,7 +9,6 @@ import io.deephaven.engine.table.impl.sources.immutable.*; import io.deephaven.engine.table.impl.sources.immutable.Immutable2DCharArraySource; import io.deephaven.engine.table.impl.sources.immutable.ImmutableCharArraySource; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.ArrayTypeUtils; @@ -37,7 +36,7 @@ default boolean isInMemory() { /** * Create an immutable in-memory column source that is capable of holding longSize elements. - * + *

    * Note, that the backing array may not be allocated after this call; you still must call * {@link WritableColumnSource#ensureCapacity(long)}. * @@ -75,8 +74,6 @@ static WritableColumnSource makeImmutableSource(@NotNull Class dataTyp result = new ImmutableLongArraySource(); } else if (dataType == short.class || dataType == Short.class) { result = new ImmutableShortArraySource(); - } else if (dataType == DateTime.class) { - result = new ImmutableDateTimeArraySource(); } else if (dataType == Instant.class) { result = new ImmutableInstantArraySource(); } else { @@ -106,8 +103,6 @@ static WritableColumnSource makeImmutable2DSource(@NotNull Class dataT result = new Immutable2DLongArraySource(); } else if (dataType == short.class || dataType == Short.class) { result = new Immutable2DShortArraySource(); - } else if (dataType == DateTime.class) { - result = new Immutable2DDateTimeArraySource(); } else if (dataType == Instant.class) { result = new Immutable2DInstantArraySource(); } else { @@ -140,10 +135,8 @@ static ColumnSource makeImmutableConstantSource( result = new ImmutableConstantLongSource(TypeUtils.unbox((Long) value)); } else if (dataType == short.class || dataType == Short.class) { result = new ImmutableConstantShortSource(TypeUtils.unbox((Short) value)); - } else if (dataType == DateTime.class) { - result = new ImmutableConstantDateTimeSource(DateTimeUtils.nanos((DateTime) value)); } else if (dataType == Instant.class) { - result = new ImmutableConstantInstantSource(DateTimeUtils.nanos((DateTime) value)); + result = new ImmutableConstantInstantSource(DateTimeUtils.epochNanos((Instant) value)); } else { result = new ImmutableConstantObjectSource<>(dataType, componentType, value); } @@ -170,7 +163,7 @@ static ColumnSource getImmutableMemoryColumnSource(@NotNull final Object data /** * Wrap the input array in an immutable {@link ColumnSource}. This method will unbox any boxed values, and directly * use the result array. This version allows the user to specify the column data type. It will automatically map - * column type Boolean/boolean with input array types byte[] and columnType DateTime / array type long[]. + * column type Boolean/boolean with input array types byte[] and columnType Instant / array type long[]. * * @param dataArray The array to turn into a ColumnSource * @param dataType the data type of the resultant column source @@ -221,8 +214,6 @@ static ColumnSource getImmutableMemoryColumnSource(@NotNull final Object result = new ImmutableLongArraySource(ArrayTypeUtils.getUnboxedArray((Long[]) dataArray)); } else if (dataType == Short.class) { result = new ImmutableShortArraySource(ArrayTypeUtils.getUnboxedArray((Short[]) dataArray)); - } else if (dataType == DateTime.class && dataArray instanceof long[]) { - result = new ImmutableDateTimeArraySource((long[]) dataArray); } else if (dataType == Instant.class && dataArray instanceof long[]) { result = new ImmutableInstantArraySource((long[]) dataArray); } else { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantArraySource.java index 72e5e7fc385..30f419e61f1 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantArraySource.java @@ -25,12 +25,12 @@ public InstantArraySource(final @NotNull LongArraySource nanoSource) { @Override protected Instant makeValue(long nanos) { - return DateTimeUtils.makeInstant(nanos); + return DateTimeUtils.epochNanosToInstant(nanos); } @Override protected long toNanos(Instant value) { - return DateTimeUtils.toEpochNano(value); + return DateTimeUtils.epochNanos(value); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantAsLongColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantAsLongColumnSource.java index f54b6fcba04..b930056a715 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantAsLongColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantAsLongColumnSource.java @@ -18,6 +18,6 @@ public InstantAsLongColumnSource(ColumnSource alternateColumnSource) { @Override protected long toEpochNano(Instant val) { - return DateTimeUtils.toEpochNano(val); + return DateTimeUtils.epochNanos(val); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantSparseArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantSparseArraySource.java index f9264225985..71aa1c961c6 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantSparseArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InstantSparseArraySource.java @@ -15,7 +15,7 @@ * Sparse Array-backed ColumnSource for {@link Instant}s. Allows reinterpret as long. */ public class InstantSparseArraySource extends NanosBasedTimeSparseArraySource - implements MutableColumnSourceGetDefaults.ForLongAsInstant, DefaultChunkSource, ConvertableTimeSource { + implements MutableColumnSourceGetDefaults.ForLongAsInstant, DefaultChunkSource, ConvertibleTimeSource { public InstantSparseArraySource() { super(Instant.class); } @@ -26,11 +26,11 @@ public InstantSparseArraySource(final @NotNull LongSparseArraySource nanoSource) @Override protected Instant makeValue(long nanos) { - return DateTimeUtils.makeInstant(nanos); + return DateTimeUtils.epochNanosToInstant(nanos); } @Override protected long toNanos(Instant value) { - return DateTimeUtils.toEpochNano(value); + return DateTimeUtils.epochNanos(value); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LocalDateWrapperSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LocalDateWrapperSource.java index 112b3ba09b8..728a0f9fe16 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LocalDateWrapperSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LocalDateWrapperSource.java @@ -50,8 +50,8 @@ public LocalDateWrapperSource(ColumnSource inner, ZoneId zone) { super(LocalDate.class); this.inner = inner; this.zone = zone; - mustInspectZone = !(inner instanceof ConvertableTimeSource.Zoned) - || ((ConvertableTimeSource.Zoned) inner).getZone().equals(zone); + mustInspectZone = !(inner instanceof ConvertibleTimeSource.Zoned) + || ((ConvertibleTimeSource.Zoned) inner).getZone().equals(zone); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LocalTimeWrapperSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LocalTimeWrapperSource.java index fa88887ebb8..68aa8ea92bc 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LocalTimeWrapperSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LocalTimeWrapperSource.java @@ -50,8 +50,8 @@ public LocalTimeWrapperSource(ColumnSource inner, ZoneId zone) { super(LocalTime.class); this.inner = inner; this.zone = zone; - mustInspectZone = !(inner instanceof ConvertableTimeSource.Zoned) - || ((ConvertableTimeSource.Zoned) inner).getZone().equals(zone); + mustInspectZone = !(inner instanceof ConvertibleTimeSource.Zoned) + || ((ConvertibleTimeSource.Zoned) inner).getZone().equals(zone); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongArraySource.java index d4302aa3d46..2d57cfd8cb7 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongArraySource.java @@ -17,7 +17,6 @@ import io.deephaven.base.verify.Require; import java.time.ZoneId; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.util.copy.CopyKernel; import gnu.trove.list.array.TIntArrayList; @@ -53,7 +52,7 @@ * (C-haracter is deliberately spelled that way in order to prevent Replicate from altering this very comment). */ public class LongArraySource extends ArraySourceHelper - implements MutableColumnSourceGetDefaults.ForLong , ConvertableTimeSource { + implements MutableColumnSourceGetDefaults.ForLong , ConvertibleTimeSource { private static final SoftRecycler recycler = new SoftRecycler<>(DEFAULT_RECYCLER_CAPACITY, () -> new long[BLOCK_SIZE], null); @@ -1197,7 +1196,7 @@ public void fillFromChunkUnordered( // region reinterpretation @Override public boolean allowsReinterpret(@NotNull final Class alternateDataType) { - return alternateDataType == long.class || alternateDataType == Instant.class || alternateDataType == DateTime.class; + return alternateDataType == long.class || alternateDataType == Instant.class; } @SuppressWarnings("unchecked") @@ -1205,8 +1204,6 @@ public boolean allowsReinterpret(@NotNull final Class ColumnSource doReinterpret(@NotNull Class alternateDataType) { if (alternateDataType == this.getType()) { return (ColumnSource) this; - } else if(alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == Instant.class) { return (ColumnSource) toInstant(); } @@ -1234,11 +1231,6 @@ public ColumnSource toLocalTime(final @NotNull ZoneId zone) { return new LocalTimeWrapperSource(toZonedDateTime(zone), zone); } - @Override - public ColumnSource toDateTime() { - return new DateTimeArraySource(this); - } - @Override public ColumnSource toInstant() { return new InstantArraySource(this); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsDateTimeColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsDateTimeColumnSource.java deleted file mode 100644 index 340798eaa4f..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsDateTimeColumnSource.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.sources; - -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; - -/** - * Reinterpret result {@link ColumnSource} implementations that translates {@code long} to {@link DateTime} values. - */ -public class LongAsDateTimeColumnSource extends BoxedLongAsTimeSource { - public LongAsDateTimeColumnSource(ColumnSource alternateColumnSource) { - super(DateTime.class, alternateColumnSource); - } - - @Override - protected DateTime makeValue(long val) { - return DateTimeUtils.nanosToTime(val); - } -} \ No newline at end of file diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsInstantColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsInstantColumnSource.java index e57afd08a0b..220046250af 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsInstantColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsInstantColumnSource.java @@ -18,6 +18,6 @@ public LongAsInstantColumnSource(ColumnSource alternateColumnSource) { @Override protected Instant makeValue(long val) { - return DateTimeUtils.makeInstant(val); + return DateTimeUtils.epochNanosToInstant(val); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsLocalDateColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsLocalDateColumnSource.java index e63ac3df8ee..932c8d4be26 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsLocalDateColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsLocalDateColumnSource.java @@ -23,7 +23,7 @@ public LongAsLocalDateColumnSource(ColumnSource alternateColumnSource, Zon @Override protected LocalDate makeValue(long val) { - final ZonedDateTime zdt = DateTimeUtils.makeZonedDateTime(val, zone); + final ZonedDateTime zdt = DateTimeUtils.epochNanosToZonedDateTime(val, zone); return zdt == null ? null : zdt.toLocalDate(); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsLocalTimeColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsLocalTimeColumnSource.java index 5f2d3e7e18d..fed711c89a7 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsLocalTimeColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsLocalTimeColumnSource.java @@ -23,7 +23,7 @@ public LongAsLocalTimeColumnSource(ColumnSource alternateColumnSource, Zon @Override protected LocalTime makeValue(long val) { - final ZonedDateTime zdt = DateTimeUtils.makeZonedDateTime(val, zone); + final ZonedDateTime zdt = DateTimeUtils.epochNanosToZonedDateTime(val, zone); return zdt == null ? null : zdt.toLocalTime(); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsZonedDateTimeColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsZonedDateTimeColumnSource.java index 721afc95ac4..3cd9c58fa09 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsZonedDateTimeColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongAsZonedDateTimeColumnSource.java @@ -13,7 +13,7 @@ * Reinterpret result {@link ColumnSource} implementations that translates {@code long} to {@link ZonedDateTime} values. */ public class LongAsZonedDateTimeColumnSource extends BoxedLongAsTimeSource - implements ConvertableTimeSource.Zoned { + implements ConvertibleTimeSource.Zoned { private final ZoneId zone; public LongAsZonedDateTimeColumnSource(ColumnSource alternateColumnSource, ZoneId zone) { @@ -23,7 +23,7 @@ public LongAsZonedDateTimeColumnSource(ColumnSource alternateColumnSource, @Override protected ZonedDateTime makeValue(long val) { - return DateTimeUtils.makeZonedDateTime(val, zone); + return DateTimeUtils.epochNanosToZonedDateTime(val, zone); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongSparseArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongSparseArraySource.java index e98b8f3b768..91427432edf 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongSparseArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/LongSparseArraySource.java @@ -17,8 +17,6 @@ import io.deephaven.base.verify.Require; import java.time.ZoneId; -import io.deephaven.time.DateTime; - import io.deephaven.engine.table.impl.DefaultGetContext; import io.deephaven.chunk.*; import io.deephaven.engine.rowset.chunkattributes.OrderedRowKeyRanges; @@ -56,7 +54,7 @@ * (C-haracter is deliberately spelled that way in order to prevent Replicate from altering this very comment). */ public class LongSparseArraySource extends SparseArrayColumnSource - implements MutableColumnSourceGetDefaults.ForLong , ConvertableTimeSource { + implements MutableColumnSourceGetDefaults.ForLong , ConvertibleTimeSource { // region recyclers private static final SoftRecycler recycler = new SoftRecycler<>(DEFAULT_RECYCLER_CAPACITY, () -> new long[BLOCK_SIZE], null); @@ -1388,7 +1386,7 @@ public LongChunk getPrevChunk(@NotNull final GetContext context, @NotNul // region reinterpretation @Override public boolean allowsReinterpret(@NotNull final Class alternateDataType) { - return alternateDataType == long.class || alternateDataType == Instant.class || alternateDataType == DateTime.class; + return alternateDataType == long.class || alternateDataType == Instant.class; } @SuppressWarnings("unchecked") @@ -1396,8 +1394,6 @@ public boolean allowsReinterpret(@NotNull final Class ColumnSource doReinterpret(@NotNull Class alternateDataType) { if (alternateDataType == this.getType()) { return (ColumnSource) this; - } else if(alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == Instant.class) { return (ColumnSource) toInstant(); } @@ -1425,11 +1421,6 @@ public ColumnSource toLocalTime(final @NotNull ZoneId zone) { return new LocalTimeWrapperSource(toZonedDateTime(zone), zone); } - @Override - public ColumnSource toDateTime() { - return new DateTimeSparseArraySource(this); - } - @Override public ColumnSource toInstant() { return new InstantSparseArraySource(this); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/NanosBasedTimeArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/NanosBasedTimeArraySource.java index 17dd7573893..1e9432fc7e8 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/NanosBasedTimeArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/NanosBasedTimeArraySource.java @@ -15,14 +15,13 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.WritableSourceWithPrepareForParallelPopulation; import io.deephaven.engine.table.impl.util.ShiftData; -import io.deephaven.time.DateTime; import org.jetbrains.annotations.NotNull; import java.time.*; public abstract class NanosBasedTimeArraySource extends AbstractDeferredGroupingColumnSource implements FillUnordered, ShiftData.ShiftCallback, WritableColumnSource, - InMemoryColumnSource, WritableSourceWithPrepareForParallelPopulation, ConvertableTimeSource { + InMemoryColumnSource, WritableSourceWithPrepareForParallelPopulation, ConvertibleTimeSource { protected final LongArraySource nanoSource; @@ -165,8 +164,7 @@ public void fillFromChunkUnordered( @Override public boolean allowsReinterpret( @NotNull final Class alternateDataType) { - return alternateDataType == long.class || alternateDataType == Instant.class - || alternateDataType == DateTime.class; + return alternateDataType == long.class || alternateDataType == Instant.class; } @SuppressWarnings("unchecked") @@ -175,8 +173,6 @@ protected ColumnSource doReinterpret( @NotNull Class alternateDataType) { if (alternateDataType == this.getType()) { return (ColumnSource) this; - } else if (alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == long.class || alternateDataType == Long.class) { return (ColumnSource) toEpochNano(); } else if (alternateDataType == Instant.class) { @@ -207,11 +203,6 @@ public ColumnSource toLocalTime(final @NotNull ZoneId zone) { return new LocalTimeWrapperSource(toZonedDateTime(zone), zone); } - @Override - public ColumnSource toDateTime() { - return new DateTimeArraySource(nanoSource); - } - @Override public ColumnSource toInstant() { return new InstantArraySource(nanoSource); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/NanosBasedTimeSparseArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/NanosBasedTimeSparseArraySource.java index f535f812a6a..6c80390abf3 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/NanosBasedTimeSparseArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/NanosBasedTimeSparseArraySource.java @@ -15,7 +15,6 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.WritableSourceWithPrepareForParallelPopulation; import io.deephaven.engine.table.impl.util.ShiftData; -import io.deephaven.time.DateTime; import org.jetbrains.annotations.NotNull; import java.time.Instant; @@ -30,7 +29,7 @@ public abstract class NanosBasedTimeSparseArraySource extends AbstractDeferredGroupingColumnSource implements FillUnordered, WritableColumnSource, InMemoryColumnSource, PossiblyImmutableColumnSource, WritableSourceWithPrepareForParallelPopulation, ShiftData.RowSetShiftCallback, - ConvertableTimeSource { + ConvertibleTimeSource { protected final LongSparseArraySource nanoSource; @@ -180,8 +179,7 @@ public void setNull(RowSequence rowSequence) { @Override public boolean allowsReinterpret( @NotNull final Class alternateDataType) { - return alternateDataType == long.class || alternateDataType == Instant.class - || alternateDataType == DateTime.class; + return alternateDataType == long.class || alternateDataType == Instant.class; } @SuppressWarnings("unchecked") @@ -190,8 +188,6 @@ protected ColumnSource doReinterpret( @NotNull Class alternateDataType) { if (alternateDataType == this.getType()) { return (ColumnSource) this; - } else if (alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == long.class || alternateDataType == Long.class) { return (ColumnSource) toEpochNano(); } else if (alternateDataType == Instant.class) { @@ -222,11 +218,6 @@ public ColumnSource toLocalTime(final @NotNull ZoneId zone) { return new LocalTimeWrapperSource(toZonedDateTime(zone), zone); } - @Override - public ColumnSource toDateTime() { - return new DateTimeSparseArraySource(nanoSource); - } - @Override public ColumnSource toInstant() { return new InstantSparseArraySource(nanoSource); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/RedirectedColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/RedirectedColumnSource.java index 9cc8b6ca80d..069954b2f3f 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/RedirectedColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/RedirectedColumnSource.java @@ -9,7 +9,6 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.Table; import io.deephaven.engine.table.impl.util.RowRedirection; -import io.deephaven.time.DateTime; import io.deephaven.util.BooleanUtils; import io.deephaven.engine.table.impl.join.dupexpand.DupExpandKernel; import io.deephaven.engine.table.impl.sort.permute.PermuteKernel; @@ -42,7 +41,7 @@ * @param */ public class RedirectedColumnSource extends AbstractDeferredGroupingColumnSource - implements UngroupableColumnSource, ConvertableTimeSource { + implements UngroupableColumnSource, ConvertibleTimeSource { /** * Redirect the innerSource if it is not agnostic to redirection. Otherwise, return the innerSource. * @@ -378,7 +377,6 @@ public boolean allowsReinterpret( @NotNull final Class alternateDataType) { if ((alternateDataType == long.class || alternateDataType == Long.class - || alternateDataType == DateTime.class || alternateDataType == Instant.class) && supportsTimeConversion()) { return true; @@ -389,43 +387,37 @@ && supportsTimeConversion()) { @Override public boolean supportsTimeConversion() { - return innerSource instanceof ConvertableTimeSource - && ((ConvertableTimeSource) innerSource).supportsTimeConversion(); + return innerSource instanceof ConvertibleTimeSource + && ((ConvertibleTimeSource) innerSource).supportsTimeConversion(); } @Override public ColumnSource toEpochNano() { - return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertableTimeSource) innerSource) + return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertibleTimeSource) innerSource) .toEpochNano()); } - @Override - public ColumnSource toDateTime() { - return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertableTimeSource) innerSource) - .toDateTime()); - } - @Override public ColumnSource toInstant() { - return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertableTimeSource) innerSource) + return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertibleTimeSource) innerSource) .toInstant()); } @Override public ColumnSource toZonedDateTime(ZoneId zone) { - return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertableTimeSource) innerSource) + return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertibleTimeSource) innerSource) .toZonedDateTime(zone)); } @Override public ColumnSource toLocalDate(ZoneId zone) { - return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertableTimeSource) innerSource) + return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertibleTimeSource) innerSource) .toLocalDate(zone)); } @Override public ColumnSource toLocalTime(ZoneId zone) { - return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertableTimeSource) innerSource) + return new RedirectedColumnSource<>(this.rowRedirection, ((ConvertibleTimeSource) innerSource) .toLocalTime(zone)); } @@ -440,8 +432,6 @@ protected ColumnSource doReinterpret( if (supportsTimeConversion()) { if (alternateDataType == long.class || alternateDataType == Long.class) { return (ColumnSource) toEpochNano(); - } else if (alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == Instant.class) { return (ColumnSource) toInstant(); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ReinterpretUtils.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ReinterpretUtils.java index dcf1ead2ba4..b4d25188d6c 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ReinterpretUtils.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ReinterpretUtils.java @@ -6,7 +6,6 @@ import io.deephaven.chunk.ChunkType; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.WritableColumnSource; -import io.deephaven.time.DateTime; import org.jetbrains.annotations.NotNull; import java.time.Instant; @@ -16,32 +15,17 @@ public class ReinterpretUtils { /** - * Given a DateTime column source turn it into a long column source, either via reinterpretation or wrapping. + * Given a long column source turn it into a Instant column source, either via reinterpretation or wrapping. * - * @param source the source to turn into a long source + * @param source the source to turn into a Instant source * * @return the long source */ - public static ColumnSource dateTimeToLongSource(ColumnSource source) { - if (source.allowsReinterpret(long.class)) { - return source.reinterpret(long.class); + public static ColumnSource longToInstantSource(ColumnSource source) { + if (source.allowsReinterpret(Instant.class)) { + return source.reinterpret(Instant.class); } else { - return new DateTimeAsLongColumnSource(source); - } - } - - /** - * Given a long column source turn it into a DateTime column source, either via reinterpretation or wrapping. - * - * @param source the source to turn into a DateTime source - * - * @return the long source - */ - public static ColumnSource longToDateTimeSource(ColumnSource source) { - if (source.allowsReinterpret(DateTime.class)) { - return source.reinterpret(DateTime.class); - } else { - return new LongAsDateTimeColumnSource(source); + return new LongAsInstantColumnSource(source); } } @@ -94,21 +78,6 @@ public static ColumnSource zonedDateTimeToLongSource(final @NotNull Column } } - /** - * Given a writable DateTime column source turn it into a writable long column source via reinterpretation if - * possible. - * - * @param source the source to turn into a long source - * - * @return the long source or null if it could not be reinterpreted - */ - public static WritableColumnSource writableDateTimeToLongSource(WritableColumnSource source) { - if (source.allowsReinterpret(long.class)) { - return (WritableColumnSource) source.reinterpret(long.class); - } - return null; - } - /** * Given a writable Boolean column source turn it into a writable byte column source via reinterpretation if * possible. @@ -167,9 +136,6 @@ public static ColumnSource maybeConvertToPrimitive(ColumnSource source) { if (source.getType() == Boolean.class || source.getType() == boolean.class) { return booleanToByteSource((ColumnSource) source); } - if (source.getType() == DateTime.class) { - return dateTimeToLongSource((ColumnSource) source); - } if (source.getType() == Instant.class) { return instantToLongSource((ColumnSource) source); } @@ -191,8 +157,6 @@ public static WritableColumnSource maybeConvertToWritablePrimitive(WritableCo WritableColumnSource result = null; if (source.getType() == Boolean.class || source.getType() == boolean.class) { result = writableBooleanToByteSource((WritableColumnSource) source); - } else if (source.getType() == DateTime.class) { - result = writableDateTimeToLongSource((WritableColumnSource) source); } else if (source.getType() == Instant.class) { result = writableInstantToLongSource((WritableColumnSource) source); } else if (source.getType() == ZonedDateTime.class) { @@ -212,7 +176,7 @@ public static ChunkType maybeConvertToPrimitiveChunkType(@NotNull final Class if (dataType == Boolean.class || dataType == boolean.class) { return ChunkType.Byte; } - if (dataType == DateTime.class || dataType == Instant.class || dataType == ZonedDateTime.class) { + if (dataType == Instant.class || dataType == ZonedDateTime.class) { return ChunkType.Long; } return ChunkType.fromElementType(dataType); @@ -229,7 +193,7 @@ public static Class maybeConvertToPrimitiveDataType(@NotNull final Class d if (dataType == Boolean.class || dataType == boolean.class) { return byte.class; } - if (dataType == DateTime.class || dataType == Instant.class || dataType == ZonedDateTime.class) { + if (dataType == Instant.class || dataType == ZonedDateTime.class) { return long.class; } return dataType; @@ -259,12 +223,6 @@ public static ColumnSource convertToOriginal( return source.allowsReinterpret(Boolean.class) ? source.reinterpret(Boolean.class) : new BoxedColumnSource.OfBoolean((ColumnSource) source); } - if (originalType == DateTime.class) { - validateSourceType.accept(long.class); - // noinspection unchecked - return source.allowsReinterpret(DateTime.class) ? source.reinterpret(DateTime.class) - : new BoxedColumnSource.OfDateTime((ColumnSource) source); - } if (originalType == Instant.class) { validateSourceType.accept(long.class); // noinspection unchecked diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ShiftedColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ShiftedColumnSource.java index 6b016821e47..23cb634aa2a 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ShiftedColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ShiftedColumnSource.java @@ -17,7 +17,6 @@ import io.deephaven.engine.table.impl.AbstractColumnSource; import io.deephaven.engine.table.impl.DefaultGetContext; import io.deephaven.engine.table.impl.ShiftedColumnOperation; -import io.deephaven.time.DateTime; import io.deephaven.util.BooleanUtils; import io.deephaven.util.QueryConstants; import io.deephaven.util.type.TypeUtils; @@ -34,7 +33,7 @@ * @param */ public class ShiftedColumnSource extends AbstractColumnSource - implements UngroupableColumnSource, ConvertableTimeSource, InMemoryColumnSource { + implements UngroupableColumnSource, ConvertibleTimeSource, InMemoryColumnSource { protected final ColumnSource innerSource; protected final TrackingRowSet rowSet; protected final long shift; @@ -374,38 +373,33 @@ public void releaseCachedResources() { @Override public ColumnSource toZonedDateTime(ZoneId zone) { - return new ShiftedColumnSource<>(rowSet, ((ConvertableTimeSource) innerSource).toZonedDateTime(zone), shift); + return new ShiftedColumnSource<>(rowSet, ((ConvertibleTimeSource) innerSource).toZonedDateTime(zone), shift); } @Override public ColumnSource toLocalDate(ZoneId zone) { - return new ShiftedColumnSource<>(rowSet, ((ConvertableTimeSource) innerSource).toLocalDate(zone), shift); + return new ShiftedColumnSource<>(rowSet, ((ConvertibleTimeSource) innerSource).toLocalDate(zone), shift); } @Override public ColumnSource toLocalTime(ZoneId zone) { - return new ShiftedColumnSource<>(rowSet, ((ConvertableTimeSource) innerSource).toLocalTime(zone), shift); + return new ShiftedColumnSource<>(rowSet, ((ConvertibleTimeSource) innerSource).toLocalTime(zone), shift); } @Override public ColumnSource toInstant() { - return new ShiftedColumnSource<>(rowSet, ((ConvertableTimeSource) innerSource).toInstant(), shift); - } - - @Override - public ColumnSource toDateTime() { - return new ShiftedColumnSource<>(rowSet, ((ConvertableTimeSource) innerSource).toDateTime(), shift); + return new ShiftedColumnSource<>(rowSet, ((ConvertibleTimeSource) innerSource).toInstant(), shift); } @Override public ColumnSource toEpochNano() { - return new ShiftedColumnSource<>(rowSet, ((ConvertableTimeSource) innerSource).toEpochNano(), shift); + return new ShiftedColumnSource<>(rowSet, ((ConvertibleTimeSource) innerSource).toEpochNano(), shift); } @Override public boolean supportsTimeConversion() { - return innerSource instanceof ConvertableTimeSource - && ((ConvertableTimeSource) innerSource).supportsTimeConversion(); + return innerSource instanceof ConvertibleTimeSource + && ((ConvertibleTimeSource) innerSource).supportsTimeConversion(); } @SuppressWarnings("unchecked") @@ -416,12 +410,10 @@ protected ColumnSource doReinterpret( return new ReinterpretToOriginalForBoolean<>(alternateDataType); } - if (innerSource instanceof ConvertableTimeSource - && ((ConvertableTimeSource) innerSource).supportsTimeConversion()) { + if (innerSource instanceof ConvertibleTimeSource + && ((ConvertibleTimeSource) innerSource).supportsTimeConversion()) { if (alternateDataType == long.class || alternateDataType == Long.class) { return (ColumnSource) toEpochNano(); - } else if (alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == Instant.class) { return (ColumnSource) toInstant(); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/SparseArrayColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/SparseArrayColumnSource.java index 1bb133af8f5..42694b11e63 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/SparseArrayColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/SparseArrayColumnSource.java @@ -9,7 +9,6 @@ import io.deephaven.engine.table.WritableSourceWithPrepareForParallelPopulation; import io.deephaven.engine.table.impl.util.ShiftData; import io.deephaven.util.type.ArrayTypeUtils; -import io.deephaven.time.DateTime; import io.deephaven.engine.rowset.chunkattributes.RowKeys; import io.deephaven.chunk.attributes.Values; import io.deephaven.chunk.LongChunk; @@ -272,8 +271,8 @@ public static SparseArrayColumnSource getSparseMemoryColumnSource(long[] d return result; } - public static WritableColumnSource getDateTimeMemoryColumnSource(long[] data) { - final WritableColumnSource result = new DateTimeSparseArraySource(); + public static WritableColumnSource getInstantMemoryColumnSource(long[] data) { + final WritableColumnSource result = new InstantSparseArraySource(); result.ensureCapacity(data.length); long i = 0; for (long o : data) { @@ -323,8 +322,6 @@ public static WritableColumnSource getSparseMemoryColumnSource(long size, result = new ShortSparseArraySource(); } else if (type == boolean.class || type == Boolean.class) { result = new BooleanSparseArraySource(); - } else if (type == DateTime.class) { - result = new DateTimeSparseArraySource(); } else if (type == Instant.class) { result = new InstantSparseArraySource(); } else { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UnboxedLongBackedColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UnboxedLongBackedColumnSource.java index 83e8f9a8eaf..e83b5bdca97 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UnboxedLongBackedColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UnboxedLongBackedColumnSource.java @@ -3,11 +3,12 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.AbstractColumnSource; import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; import org.jetbrains.annotations.NotNull; +import java.time.Instant; + /** - * Reinterpret result for many {@link ColumnSource} implementations that internally represent {@link DateTime} values + * Reinterpret result for many {@link ColumnSource} implementations that internally represent {@link Instant} values * as {@code long} values. */ public class UnboxedLongBackedColumnSource extends AbstractColumnSource implements MutableColumnSourceGetDefaults.ForLong { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/WritableLongAsDateTimeColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/WritableLongAsDateTimeColumnSource.java deleted file mode 100644 index dc7ecd4f144..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/WritableLongAsDateTimeColumnSource.java +++ /dev/null @@ -1,89 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.sources; - -import io.deephaven.chunk.*; -import io.deephaven.chunk.attributes.Values; -import io.deephaven.engine.rowset.RowSequence; -import io.deephaven.engine.rowset.chunkattributes.RowKeys; -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.engine.table.WritableColumnSource; -import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; -import io.deephaven.util.BooleanUtils; -import io.deephaven.util.QueryConstants; -import org.jetbrains.annotations.NotNull; - -import static io.deephaven.util.QueryConstants.NULL_LONG; - -/** - * Reinterpret result {@link ColumnSource} implementations that translates {@link byte} to {@code Boolean} values. - */ -public class WritableLongAsDateTimeColumnSource extends LongAsDateTimeColumnSource implements MutableColumnSourceGetDefaults.ForObject, WritableColumnSource { - - private final WritableColumnSource alternateColumnSource; - - public WritableLongAsDateTimeColumnSource(@NotNull final WritableColumnSource alternateColumnSource) { - super(alternateColumnSource); - this.alternateColumnSource = alternateColumnSource; - } - - @Override - public void setNull(long key) { - alternateColumnSource.set(key, NULL_LONG); - } - - @Override - public void set(long key, DateTime value) { - alternateColumnSource.set(key, DateTimeUtils.nanos(value)); - } - - @Override - public void ensureCapacity(long capacity, boolean nullFilled) { - alternateColumnSource.ensureCapacity(capacity, nullFilled); - } - - private class ConvertingFillFromContext implements FillFromContext { - private final FillFromContext alternateFillFromContext; - private final WritableLongChunk longChunk; - - private ConvertingFillFromContext(int size) { - alternateFillFromContext = alternateColumnSource.makeFillFromContext(size); - longChunk = WritableLongChunk.makeWritableChunk(size); - } - - @Override - public void close() { - alternateFillFromContext.close(); - longChunk.close(); - } - - private void convert(ObjectChunk src) { - longChunk.setSize(src.size()); - for (int ii = 0; ii < src.size(); ++ii) { - longChunk.set(ii, DateTimeUtils.nanos(src.get(ii))); - } - } - } - - @Override - public FillFromContext makeFillFromContext(int chunkCapacity) { - return new ConvertingFillFromContext(chunkCapacity); - } - - @Override - public void fillFromChunk(@NotNull FillFromContext context, @NotNull Chunk src, @NotNull RowSequence rowSequence) { - final ConvertingFillFromContext convertingFillFromContext = (ConvertingFillFromContext)context; - convertingFillFromContext.convert(src.asObjectChunk()); - alternateColumnSource.fillFromChunk(convertingFillFromContext.alternateFillFromContext, convertingFillFromContext.longChunk, rowSequence); - } - - @Override - public void fillFromChunkUnordered(@NotNull FillFromContext context, @NotNull Chunk src, @NotNull LongChunk keys) { - final ConvertingFillFromContext convertingFillFromContext = (ConvertingFillFromContext)context; - convertingFillFromContext.convert(src.asObjectChunk()); - alternateColumnSource.fillFromChunkUnordered(convertingFillFromContext.alternateFillFromContext, convertingFillFromContext.longChunk, keys); - } -} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeArraySource.java index 5ed1b6d7c68..08f140e4380 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeArraySource.java @@ -6,7 +6,6 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.TimeZone; import org.jetbrains.annotations.NotNull; import java.time.ZoneId; @@ -16,17 +15,13 @@ * Array-backed ColumnSource for {@link ZonedDateTime}s. Allows reinterpretation as long. */ public class ZonedDateTimeArraySource extends NanosBasedTimeArraySource - implements MutableColumnSourceGetDefaults.ForObject, ConvertableTimeSource.Zoned { + implements MutableColumnSourceGetDefaults.ForObject, ConvertibleTimeSource.Zoned { private final ZoneId zone; public ZonedDateTimeArraySource(final @NotNull String zone) { this(ZoneId.of(zone)); } - public ZonedDateTimeArraySource(final @NotNull TimeZone zone) { - this(zone.getZoneId()); - } - public ZonedDateTimeArraySource(final @NotNull ZoneId zone) { this(zone, new LongArraySource()); } @@ -38,12 +33,12 @@ public ZonedDateTimeArraySource(final @NotNull ZoneId zone, final @NotNull LongA @Override protected ZonedDateTime makeValue(long nanos) { - return DateTimeUtils.makeZonedDateTime(nanos, zone); + return DateTimeUtils.epochNanosToZonedDateTime(nanos, zone); } @Override protected long toNanos(ZonedDateTime value) { - return DateTimeUtils.toEpochNano(value); + return DateTimeUtils.epochNanos(value); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeAsLongSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeAsLongSource.java index d225b12dad2..8de08316620 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeAsLongSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeAsLongSource.java @@ -19,6 +19,6 @@ public ZonedDateTimeAsLongSource(ColumnSource alternateColumnSour @Override protected long toEpochNano(ZonedDateTime val) { - return DateTimeUtils.toEpochNano(val); + return DateTimeUtils.epochNanos(val); } } \ No newline at end of file diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeSparseArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeSparseArraySource.java index 1ab98177c9f..6a9d2cdbb01 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeSparseArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ZonedDateTimeSparseArraySource.java @@ -6,7 +6,6 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.TimeZone; import org.jetbrains.annotations.NotNull; import java.time.ZoneId; @@ -16,17 +15,13 @@ * Array-backed ColumnSource for {@link ZonedDateTime}s. Allows reinterpretation as long. */ public class ZonedDateTimeSparseArraySource extends NanosBasedTimeSparseArraySource - implements MutableColumnSourceGetDefaults.ForObject, ConvertableTimeSource.Zoned { + implements MutableColumnSourceGetDefaults.ForObject, ConvertibleTimeSource.Zoned { private final ZoneId zone; public ZonedDateTimeSparseArraySource(final @NotNull String zone) { this(ZoneId.of(zone)); } - public ZonedDateTimeSparseArraySource(final @NotNull TimeZone zone) { - this(zone.getZoneId()); - } - public ZonedDateTimeSparseArraySource(final @NotNull ZoneId zone) { this(zone, new LongSparseArraySource()); } @@ -38,12 +33,12 @@ public ZonedDateTimeSparseArraySource(final @NotNull ZoneId zone, final @NotNull @Override protected ZonedDateTime makeValue(long nanos) { - return DateTimeUtils.makeZonedDateTime(nanos, zone); + return DateTimeUtils.epochNanosToZonedDateTime(nanos, zone); } @Override protected long toNanos(ZonedDateTime value) { - return DateTimeUtils.toEpochNano(value); + return DateTimeUtils.epochNanos(value); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DDateTimeArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DDateTimeArraySource.java deleted file mode 100644 index 17de37f878f..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DDateTimeArraySource.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.sources.immutable; - -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; -import org.jetbrains.annotations.NotNull; - -/** - * Immutable2DArraySource for {@link DateTime}s. Allows reinterpretation as long. - */ -public class Immutable2DDateTimeArraySource extends Immutable2DNanosBasedTimeArraySource - implements ImmutableColumnSourceGetDefaults.ForLongAsDateTime { - - public Immutable2DDateTimeArraySource() { - super(DateTime.class); - } - - public Immutable2DDateTimeArraySource(final @NotNull Immutable2DLongArraySource nanoSource) { - super(DateTime.class, nanoSource); - } - - @Override - protected DateTime makeValue(long nanos) { - return DateTimeUtils.nanosToTime(nanos); - } - - @Override - protected long toNanos(DateTime value) { - return DateTimeUtils.nanos(value); - } - - @Override - public ColumnSource toDateTime() { - return this; - } -} - diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DInstantArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DInstantArraySource.java index 35311b09e84..4d5a70f5d65 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DInstantArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DInstantArraySource.java @@ -26,12 +26,12 @@ public Immutable2DInstantArraySource(final @NotNull Immutable2DLongArraySource n @Override protected Instant makeValue(long nanos) { - return DateTimeUtils.makeInstant(nanos); + return DateTimeUtils.epochNanosToInstant(nanos); } @Override protected long toNanos(Instant value) { - return DateTimeUtils.toEpochNano(value); + return DateTimeUtils.epochNanos(value); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DLongArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DLongArraySource.java index 7f060053a64..1287d421832 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DLongArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DLongArraySource.java @@ -19,8 +19,6 @@ import io.deephaven.engine.table.ColumnSource; -import io.deephaven.time.DateTime; - import io.deephaven.chunk.*; import io.deephaven.chunk.attributes.Values; import io.deephaven.engine.rowset.RowSequence; @@ -53,7 +51,7 @@ public class Immutable2DLongArraySource extends AbstractDeferredGroupingColumnSource implements ImmutableColumnSourceGetDefaults.ForLong, WritableColumnSource, FillUnordered, InMemoryColumnSource, ChunkedBackingStoreExposedWritableSource, WritableSourceWithPrepareForParallelPopulation - , ConvertableTimeSource { + , ConvertibleTimeSource { private static final int DEFAULT_SEGMENT_SHIFT = 30; private final long segmentShift; private final int segmentMask; @@ -469,7 +467,7 @@ public void prepareForParallelPopulation(RowSequence rowSequence) { // region reinterpretation @Override public boolean allowsReinterpret(@NotNull final Class alternateDataType) { - return alternateDataType == long.class || alternateDataType == Instant.class || alternateDataType == DateTime.class; + return alternateDataType == long.class || alternateDataType == Instant.class; } @SuppressWarnings("unchecked") @@ -477,8 +475,6 @@ public boolean allowsReinterpret(@NotNull final Class ColumnSource doReinterpret(@NotNull Class alternateDataType) { if (alternateDataType == this.getType()) { return (ColumnSource) this; - } else if(alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == Instant.class) { return (ColumnSource) toInstant(); } @@ -506,11 +502,6 @@ public ColumnSource toLocalTime(final @NotNull ZoneId zone) { return new LocalTimeWrapperSource(toZonedDateTime(zone), zone); } - @Override - public ColumnSource toDateTime() { - return new Immutable2DDateTimeArraySource(this); - } - @Override public ColumnSource toInstant() { return new Immutable2DInstantArraySource(this); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DNanosBasedTimeArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DNanosBasedTimeArraySource.java index 8ef83b878c5..ab3b1513543 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DNanosBasedTimeArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DNanosBasedTimeArraySource.java @@ -7,13 +7,14 @@ import io.deephaven.chunk.*; import io.deephaven.chunk.attributes.Values; import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.rowset.RowSet; import io.deephaven.engine.rowset.chunkattributes.RowKeys; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.SharedContext; import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.WritableSourceWithPrepareForParallelPopulation; import io.deephaven.engine.table.impl.sources.*; -import io.deephaven.time.DateTime; +import org.apache.commons.lang3.mutable.MutableInt; import org.jetbrains.annotations.NotNull; import java.time.Instant; @@ -28,7 +29,7 @@ public abstract class Immutable2DNanosBasedTimeArraySource extends AbstractDeferredGroupingColumnSource - implements WritableColumnSource, FillUnordered, InMemoryColumnSource, ConvertableTimeSource, + implements WritableColumnSource, FillUnordered, InMemoryColumnSource, ConvertibleTimeSource, WritableSourceWithPrepareForParallelPopulation { protected final Immutable2DLongArraySource nanoSource; @@ -198,8 +199,7 @@ public void prepareForParallelPopulation(RowSequence rowSequence) { @Override public boolean allowsReinterpret( @NotNull final Class alternateDataType) { - return alternateDataType == long.class || alternateDataType == Instant.class - || alternateDataType == DateTime.class; + return alternateDataType == long.class || alternateDataType == Instant.class; } @SuppressWarnings("unchecked") @@ -208,8 +208,6 @@ protected ColumnSource doReinterpret( @NotNull Class alternateDataType) { if (alternateDataType == this.getType()) { return (ColumnSource) this; - } else if (alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == long.class || alternateDataType == Long.class) { return (ColumnSource) toEpochNano(); } else if (alternateDataType == Instant.class) { @@ -240,11 +238,6 @@ public ColumnSource toLocalTime(final @NotNull ZoneId zone) { return new LocalTimeWrapperSource(toZonedDateTime(zone), zone); } - @Override - public ColumnSource toDateTime() { - return new Immutable2DDateTimeArraySource(nanoSource); - } - @Override public ColumnSource toInstant() { return new Immutable2DInstantArraySource(nanoSource); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DZonedDateTimeArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DZonedDateTimeArraySource.java index 1abb613c590..574f186cfbd 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DZonedDateTimeArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DZonedDateTimeArraySource.java @@ -5,7 +5,7 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; -import io.deephaven.engine.table.impl.sources.ConvertableTimeSource; +import io.deephaven.engine.table.impl.sources.ConvertibleTimeSource; import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; @@ -16,7 +16,7 @@ * ImmutableArraySource for {@link ZonedDateTime}s. Allows reinterpretation as long. */ public class Immutable2DZonedDateTimeArraySource extends Immutable2DNanosBasedTimeArraySource - implements ImmutableColumnSourceGetDefaults.ForObject, ConvertableTimeSource.Zoned { + implements ImmutableColumnSourceGetDefaults.ForObject, ConvertibleTimeSource.Zoned { private final ZoneId zone; public Immutable2DZonedDateTimeArraySource( @@ -34,12 +34,12 @@ public Immutable2DZonedDateTimeArraySource( @Override protected ZonedDateTime makeValue(long nanos) { - return DateTimeUtils.makeZonedDateTime(nanos, zone); + return DateTimeUtils.epochNanosToZonedDateTime(nanos, zone); } @Override protected long toNanos(ZonedDateTime value) { - return DateTimeUtils.toEpochNano(value); + return DateTimeUtils.epochNanos(value); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantDateTimeSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantDateTimeSource.java deleted file mode 100644 index dca7c384c8a..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantDateTimeSource.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.sources.immutable; - -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; -import org.jetbrains.annotations.NotNull; - -/** - * Constant ImmutableColumnSource for {@link DateTime}s. Allows reinterpretation as long. - */ -public class ImmutableConstantDateTimeSource extends ImmutableConstantNanosBasedTimeSource - implements ImmutableColumnSourceGetDefaults.ForLongAsDateTime { - - public ImmutableConstantDateTimeSource(final long nanos) { - super(DateTime.class, new ImmutableConstantLongSource(nanos)); - } - - public ImmutableConstantDateTimeSource(final @NotNull ImmutableConstantLongSource nanoSource) { - super(DateTime.class, nanoSource); - } - - @Override - protected DateTime makeValue(long nanos) { - return DateTimeUtils.nanosToTime(nanos); - } - - @Override - protected long toNanos(DateTime value) { - return DateTimeUtils.nanos(value); - } - - @Override - public ColumnSource toDateTime() { - return this; - } -} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantInstantSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantInstantSource.java index 33a5f0832a7..a9fbef79c42 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantInstantSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantInstantSource.java @@ -26,12 +26,12 @@ public ImmutableConstantInstantSource(final @NotNull ImmutableConstantLongSource @Override protected Instant makeValue(long nanos) { - return DateTimeUtils.makeInstant(nanos); + return DateTimeUtils.epochNanosToInstant(nanos); } @Override protected long toNanos(Instant value) { - return DateTimeUtils.toEpochNano(value); + return DateTimeUtils.epochNanos(value); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantLongSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantLongSource.java index 8e6996bbd9e..c7c5ca6bc79 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantLongSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantLongSource.java @@ -17,8 +17,6 @@ import io.deephaven.engine.table.ColumnSource; -import io.deephaven.time.DateTime; - import io.deephaven.chunk.LongChunk; import io.deephaven.chunk.WritableLongChunk; import io.deephaven.chunk.WritableChunk; @@ -43,7 +41,7 @@ public class ImmutableConstantLongSource extends AbstractColumnSource implements ImmutableColumnSourceGetDefaults.ForLong, ShiftData.ShiftCallback, InMemoryColumnSource, - RowKeyAgnosticChunkSource , ConvertableTimeSource { + RowKeyAgnosticChunkSource , ConvertibleTimeSource { private final long value; @@ -111,7 +109,7 @@ public boolean providesFillUnordered() { // region reinterpretation @Override public boolean allowsReinterpret(@NotNull final Class alternateDataType) { - return alternateDataType == long.class || alternateDataType == Instant.class || alternateDataType == DateTime.class; + return alternateDataType == long.class || alternateDataType == Instant.class; } @SuppressWarnings("unchecked") @@ -119,8 +117,6 @@ public boolean allowsReinterpret(@NotNull final Class ColumnSource doReinterpret(@NotNull Class alternateDataType) { if (alternateDataType == this.getType()) { return (ColumnSource) this; - } else if(alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == Instant.class) { return (ColumnSource) toInstant(); } @@ -148,11 +144,6 @@ public ColumnSource toLocalTime(final @NotNull ZoneId zone) { return new LocalTimeWrapperSource(toZonedDateTime(zone), zone); } - @Override - public ColumnSource toDateTime() { - return new ImmutableConstantDateTimeSource(this); - } - @Override public ColumnSource toInstant() { return new ImmutableConstantInstantSource(this); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantNanosBasedTimeSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantNanosBasedTimeSource.java index caf8b3213d0..75326d34f2c 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantNanosBasedTimeSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantNanosBasedTimeSource.java @@ -12,13 +12,12 @@ import io.deephaven.engine.rowset.chunkattributes.RowKeys; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.AbstractColumnSource; -import io.deephaven.engine.table.impl.sources.ConvertableTimeSource; +import io.deephaven.engine.table.impl.sources.ConvertibleTimeSource; import io.deephaven.engine.table.impl.sources.InMemoryColumnSource; import io.deephaven.engine.table.impl.sources.LocalDateWrapperSource; import io.deephaven.engine.table.impl.sources.LocalTimeWrapperSource; import io.deephaven.engine.table.impl.sources.RowKeyAgnosticChunkSource; import io.deephaven.engine.table.impl.util.ShiftData; -import io.deephaven.time.DateTime; import org.jetbrains.annotations.NotNull; import java.time.Instant; @@ -29,7 +28,7 @@ public abstract class ImmutableConstantNanosBasedTimeSource extends AbstractColumnSource implements ShiftData.ShiftCallback, InMemoryColumnSource, RowKeyAgnosticChunkSource, - ConvertableTimeSource { + ConvertibleTimeSource { protected final ImmutableConstantLongSource nanoSource; @@ -123,8 +122,7 @@ public boolean providesFillUnordered() { @Override public boolean allowsReinterpret( @NotNull final Class alternateDataType) { - return alternateDataType == long.class || alternateDataType == Instant.class - || alternateDataType == DateTime.class; + return alternateDataType == long.class || alternateDataType == Instant.class; } @SuppressWarnings("unchecked") @@ -133,8 +131,6 @@ protected ColumnSource doReinterpret( @NotNull Class alternateDataType) { if (alternateDataType == this.getType()) { return (ColumnSource) this; - } else if (alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == long.class || alternateDataType == Long.class) { return (ColumnSource) toEpochNano(); } else if (alternateDataType == Instant.class) { @@ -165,11 +161,6 @@ public ColumnSource toLocalTime(final @NotNull ZoneId zone) { return new LocalTimeWrapperSource(toZonedDateTime(zone), zone); } - @Override - public ColumnSource toDateTime() { - return new ImmutableConstantDateTimeSource(nanoSource); - } - @Override public ColumnSource toInstant() { return new ImmutableConstantInstantSource(nanoSource); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantZonedDateTimeSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantZonedDateTimeSource.java index a9b4b67ddbb..e5000d5e039 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantZonedDateTimeSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantZonedDateTimeSource.java @@ -5,7 +5,7 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; -import io.deephaven.engine.table.impl.sources.ConvertableTimeSource; +import io.deephaven.engine.table.impl.sources.ConvertibleTimeSource; import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; @@ -16,7 +16,7 @@ * Constant ImmutableColumnSource for {@link ZonedDateTime}s. Allows reinterpretation as long. */ public class ImmutableConstantZonedDateTimeSource extends ImmutableConstantNanosBasedTimeSource - implements ImmutableColumnSourceGetDefaults.ForObject, ConvertableTimeSource.Zoned { + implements ImmutableColumnSourceGetDefaults.ForObject, ConvertibleTimeSource.Zoned { private final ZoneId zone; public ImmutableConstantZonedDateTimeSource( @@ -28,12 +28,12 @@ public ImmutableConstantZonedDateTimeSource( @Override protected ZonedDateTime makeValue(long nanos) { - return DateTimeUtils.makeZonedDateTime(nanos, zone); + return DateTimeUtils.epochNanosToZonedDateTime(nanos, zone); } @Override protected long toNanos(ZonedDateTime value) { - return DateTimeUtils.toEpochNano(value); + return DateTimeUtils.epochNanos(value); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableDateTimeArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableDateTimeArraySource.java deleted file mode 100644 index ad3e8712fe3..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableDateTimeArraySource.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.sources.immutable; - -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; -import org.jetbrains.annotations.NotNull; - -/** - * ImmutableArraySource for {@link DateTime}s. Allows reinterpretation as long. - */ -public class ImmutableDateTimeArraySource extends ImmutableNanosBasedTimeArraySource - implements ImmutableColumnSourceGetDefaults.ForLongAsDateTime { - - public ImmutableDateTimeArraySource() { - super(DateTime.class); - } - - public ImmutableDateTimeArraySource(final @NotNull long[] nanos) { - super(DateTime.class, new ImmutableLongArraySource(nanos)); - } - - public ImmutableDateTimeArraySource(final @NotNull ImmutableLongArraySource nanoSource) { - super(DateTime.class, nanoSource); - } - - @Override - protected DateTime makeValue(long nanos) { - return DateTimeUtils.nanosToTime(nanos); - } - - @Override - protected long toNanos(DateTime value) { - return DateTimeUtils.nanos(value); - } - - @Override - public ColumnSource toDateTime() { - return this; - } -} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableInstantArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableInstantArraySource.java index 64113d4feeb..f2bde84718c 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableInstantArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableInstantArraySource.java @@ -30,12 +30,12 @@ public ImmutableInstantArraySource(final @NotNull ImmutableLongArraySource nanoS @Override protected Instant makeValue(long nanos) { - return DateTimeUtils.makeInstant(nanos); + return DateTimeUtils.epochNanosToInstant(nanos); } @Override protected long toNanos(Instant value) { - return DateTimeUtils.toEpochNano(value); + return DateTimeUtils.epochNanos(value); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableLongArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableLongArraySource.java index dffe2eaaa40..34996ebff9c 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableLongArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableLongArraySource.java @@ -19,8 +19,6 @@ import io.deephaven.engine.table.ColumnSource; -import io.deephaven.time.DateTime; - import io.deephaven.chunk.*; import io.deephaven.chunk.attributes.Values; import io.deephaven.engine.rowset.RowSequence; @@ -53,7 +51,7 @@ public class ImmutableLongArraySource extends AbstractDeferredGroupingColumnSource implements ImmutableColumnSourceGetDefaults.ForLong, WritableColumnSource, FillUnordered, InMemoryColumnSource, ChunkedBackingStoreExposedWritableSource, WritableSourceWithPrepareForParallelPopulation - , ConvertableTimeSource { + , ConvertibleTimeSource { private long[] data; // region constructor @@ -431,7 +429,7 @@ public void setArray(long [] array) { // region reinterpretation @Override public boolean allowsReinterpret(@NotNull final Class alternateDataType) { - return alternateDataType == long.class || alternateDataType == Instant.class || alternateDataType == DateTime.class; + return alternateDataType == long.class || alternateDataType == Instant.class; } @SuppressWarnings("unchecked") @@ -439,8 +437,6 @@ public boolean allowsReinterpret(@NotNull final Class ColumnSource doReinterpret(@NotNull Class alternateDataType) { if (alternateDataType == this.getType()) { return (ColumnSource) this; - } else if(alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == Instant.class) { return (ColumnSource) toInstant(); } @@ -468,11 +464,6 @@ public ColumnSource toLocalTime(final @NotNull ZoneId zone) { return new LocalTimeWrapperSource(toZonedDateTime(zone), zone); } - @Override - public ColumnSource toDateTime() { - return new ImmutableDateTimeArraySource(this); - } - @Override public ColumnSource toInstant() { return new ImmutableInstantArraySource(this); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableLongAsDateTimeColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableLongAsDateTimeColumnSource.java deleted file mode 100644 index 705d7be25ea..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableLongAsDateTimeColumnSource.java +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.sources.immutable; - -import io.deephaven.engine.table.impl.sources.LongAsDateTimeColumnSource; - -/** - * Convenience wrapper for Python conversions from long[] to immutable DateTime source. - */ -public class ImmutableLongAsDateTimeColumnSource extends LongAsDateTimeColumnSource { - public ImmutableLongAsDateTimeColumnSource(long [] dateTimes) { - super(new ImmutableLongArraySource(dateTimes)); - } -} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableNanosBasedTimeArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableNanosBasedTimeArraySource.java index beba119fdc3..ed30580ccb9 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableNanosBasedTimeArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableNanosBasedTimeArraySource.java @@ -8,7 +8,6 @@ import io.deephaven.engine.table.SharedContext; import io.deephaven.engine.table.WritableSourceWithPrepareForParallelPopulation; -import io.deephaven.time.DateTime; import io.deephaven.chunk.*; import io.deephaven.chunk.attributes.Values; @@ -26,7 +25,7 @@ public abstract class ImmutableNanosBasedTimeArraySource extends AbstractDeferredGroupingColumnSource - implements WritableColumnSource, FillUnordered, InMemoryColumnSource, ConvertableTimeSource, + implements WritableColumnSource, FillUnordered, InMemoryColumnSource, ConvertibleTimeSource, WritableSourceWithPrepareForParallelPopulation { protected final ImmutableLongArraySource nanoSource; @@ -177,8 +176,7 @@ public void prepareForParallelPopulation(RowSequence rowSequence) { @Override public boolean allowsReinterpret( @NotNull final Class alternateDataType) { - return alternateDataType == long.class || alternateDataType == Instant.class - || alternateDataType == DateTime.class; + return alternateDataType == long.class || alternateDataType == Instant.class; } @SuppressWarnings("unchecked") @@ -187,8 +185,6 @@ protected ColumnSource doReinterpret( @NotNull Class alternateDataType) { if (alternateDataType == this.getType()) { return (ColumnSource) this; - } else if (alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } else if (alternateDataType == long.class || alternateDataType == Long.class) { return (ColumnSource) toEpochNano(); } else if (alternateDataType == Instant.class) { @@ -219,11 +215,6 @@ public ColumnSource toLocalTime(final @NotNull ZoneId zone) { return new LocalTimeWrapperSource(toZonedDateTime(zone), zone); } - @Override - public ColumnSource toDateTime() { - return new ImmutableDateTimeArraySource(nanoSource); - } - @Override public ColumnSource toInstant() { return new ImmutableInstantArraySource(nanoSource); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableZonedDateTimeArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableZonedDateTimeArraySource.java index ccd12f6da66..7e451dcf41f 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableZonedDateTimeArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableZonedDateTimeArraySource.java @@ -5,7 +5,7 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; -import io.deephaven.engine.table.impl.sources.ConvertableTimeSource; +import io.deephaven.engine.table.impl.sources.ConvertibleTimeSource; import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; @@ -16,7 +16,7 @@ * ImmutableArraySource for {@link ZonedDateTime}s. Allows reinterpretation as long. */ public class ImmutableZonedDateTimeArraySource extends ImmutableNanosBasedTimeArraySource - implements ImmutableColumnSourceGetDefaults.ForObject, ConvertableTimeSource.Zoned { + implements ImmutableColumnSourceGetDefaults.ForObject, ConvertibleTimeSource.Zoned { private final ZoneId zone; public ImmutableZonedDateTimeArraySource( @@ -34,12 +34,12 @@ public ImmutableZonedDateTimeArraySource( @Override protected ZonedDateTime makeValue(long nanos) { - return DateTimeUtils.makeZonedDateTime(nanos, zone); + return DateTimeUtils.epochNanosToZonedDateTime(nanos, zone); } @Override protected long toNanos(ZonedDateTime value) { - return DateTimeUtils.toEpochNano(value); + return DateTimeUtils.epochNanos(value); } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceDateTime.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceDateTime.java deleted file mode 100644 index d8f386021ec..00000000000 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceDateTime.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.sources.regioned; - -import io.deephaven.chunk.attributes.Values; -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.engine.table.impl.sources.ConvertableTimeSource; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; -import io.deephaven.engine.table.impl.ColumnSourceGetDefaults; -import io.deephaven.chunk.*; -import io.deephaven.engine.rowset.RowSequence; -import org.jetbrains.annotations.NotNull; - -import java.time.Instant; -import java.time.LocalDate; -import java.time.LocalTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; - -/** - * Regioned column source implementation for columns of {@link DateTime}s. - */ -final class RegionedColumnSourceDateTime - extends RegionedColumnSourceReferencing> - implements ColumnSourceGetDefaults.ForObject, ConvertableTimeSource { - - public RegionedColumnSourceDateTime() { - this(new RegionedColumnSourceLong.AsValues()); - } - - public RegionedColumnSourceDateTime(@NotNull final RegionedColumnSourceLong inner) { - super(ColumnRegionLong.createNull(PARAMETERS.regionMask), DateTime.class, inner); - } - - @Override - public void convertRegion( - @NotNull final WritableChunk destination, - @NotNull final Chunk source, RowSequence rowSequence) { - final WritableObjectChunk objectChunk = destination.asWritableObjectChunk(); - final LongChunk longChunk = source.asLongChunk(); - - final int size = objectChunk.size(); - final int length = longChunk.size(); - - for (int i = 0; i < length; ++i) { - objectChunk.set(size + i, DateTimeUtils.nanosToTime(longChunk.get(i))); - } - objectChunk.setSize(size + length); - } - - @Override - public DateTime get(final long rowKey) { - return rowKey == RowSequence.NULL_ROW_KEY ? null - : DateTimeUtils.nanosToTime(getNativeSource().lookupRegion(rowKey).getLong(rowKey)); - } - - @Override - public boolean supportsTimeConversion() { - return true; - } - - @Override - public ColumnSource toInstant() { - return new RegionedColumnSourceInstant((RegionedColumnSourceLong) getNativeSource()); - } - - @Override - public ColumnSource toZonedDateTime(@NotNull final ZoneId zone) { - return new RegionedColumnSourceZonedDateTime(zone, (RegionedColumnSourceLong) getNativeSource()); - } - - @Override - public ColumnSource toLocalDate(@NotNull final ZoneId zone) { - return RegionedColumnSourceZonedDateTime.asLocalDate(zone, - (RegionedColumnSourceLong) getNativeSource()); - } - - @Override - public ColumnSource toLocalTime(@NotNull final ZoneId zone) { - return RegionedColumnSourceZonedDateTime.asLocalTime(zone, - (RegionedColumnSourceLong) getNativeSource()); - } - - @Override - public ColumnSource toDateTime() { - return this; - } - - @Override - public ColumnSource toEpochNano() { - return getNativeSource(); - } -} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceInstant.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceInstant.java index 719f8521c2c..d90c58bb209 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceInstant.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceInstant.java @@ -8,8 +8,7 @@ import io.deephaven.engine.rowset.RowSequence; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.ColumnSourceGetDefaults; -import io.deephaven.engine.table.impl.sources.ConvertableTimeSource; -import io.deephaven.time.DateTime; +import io.deephaven.engine.table.impl.sources.ConvertibleTimeSource; import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; @@ -24,7 +23,7 @@ */ final class RegionedColumnSourceInstant extends RegionedColumnSourceReferencing> - implements ColumnSourceGetDefaults.ForObject, ConvertableTimeSource { + implements ColumnSourceGetDefaults.ForObject, ConvertibleTimeSource { public RegionedColumnSourceInstant() { this(new RegionedColumnSourceLong.AsValues()); @@ -46,7 +45,7 @@ public void convertRegion( final int length = longChunk.size(); for (int i = 0; i < length; ++i) { - objectChunk.set(size + i, DateTimeUtils.makeInstant(longChunk.get(i))); + objectChunk.set(size + i, DateTimeUtils.epochNanosToInstant(longChunk.get(i))); } objectChunk.setSize(size + length); } @@ -54,7 +53,7 @@ public void convertRegion( @Override public Instant get(final long rowKey) { return rowKey == RowSequence.NULL_ROW_KEY ? null - : DateTimeUtils.makeInstant(getNativeSource().lookupRegion(rowKey).getLong(rowKey)); + : DateTimeUtils.epochNanosToInstant(getNativeSource().lookupRegion(rowKey).getLong(rowKey)); } @Override @@ -84,11 +83,6 @@ public ColumnSource toLocalTime(ZoneId zone) { (RegionedColumnSourceLong) getNativeSource()); } - @Override - public ColumnSource toDateTime() { - return new RegionedColumnSourceDateTime((RegionedColumnSourceLong) getNativeSource()); - } - @Override public ColumnSource toEpochNano() { return getNativeSource(); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceLong.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceLong.java index e303b00a395..fdcc2f60eb0 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceLong.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceLong.java @@ -14,11 +14,10 @@ import java.time.LocalTime; import java.time.ZoneId; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.sources.LocalDateWrapperSource; import io.deephaven.engine.table.impl.sources.LocalTimeWrapperSource; -import io.deephaven.engine.table.impl.sources.ConvertableTimeSource; +import io.deephaven.engine.table.impl.sources.ConvertibleTimeSource; import io.deephaven.engine.rowset.RowSequence; import io.deephaven.engine.table.ColumnDefinition; @@ -36,7 +35,7 @@ */ abstract class RegionedColumnSourceLong extends RegionedColumnSourceArray> - implements ColumnSourceGetDefaults.ForLong ,ConvertableTimeSource { + implements ColumnSourceGetDefaults.ForLong , ConvertibleTimeSource { RegionedColumnSourceLong(@NotNull final ColumnRegionLong nullRegion, @NotNull final MakeDeferred> makeDeferred) { @@ -67,8 +66,7 @@ public boolean allowsReinterpret(@NotNull Class boolean allowsReinterpret(@NotNull Class ColumnSource doReinterpret(@NotNull Class alternateDataType) { if(alternateDataType == Instant.class) { return (ColumnSource) toInstant(); - } else if(alternateDataType == DateTime.class) { - return (ColumnSource) toDateTime(); } return super.doReinterpret(alternateDataType); @@ -93,11 +89,6 @@ public ColumnSource toInstant() { return new RegionedColumnSourceInstant((RegionedColumnSourceLong) this); } - public ColumnSource toDateTime() { - //noinspection unchecked - return new RegionedColumnSourceDateTime((RegionedColumnSourceLong) this); - } - @Override public ColumnSource toZonedDateTime(ZoneId zone) { //noinspection unchecked diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceZonedDateTime.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceZonedDateTime.java index 2ed99effdb1..bb3f57fc269 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceZonedDateTime.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceZonedDateTime.java @@ -8,10 +8,9 @@ import io.deephaven.engine.rowset.RowSequence; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.ColumnSourceGetDefaults; -import io.deephaven.engine.table.impl.sources.ConvertableTimeSource; +import io.deephaven.engine.table.impl.sources.ConvertibleTimeSource; import io.deephaven.engine.table.impl.sources.LocalDateWrapperSource; import io.deephaven.engine.table.impl.sources.LocalTimeWrapperSource; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; @@ -26,8 +25,8 @@ */ final class RegionedColumnSourceZonedDateTime extends RegionedColumnSourceReferencing> - implements ColumnSourceGetDefaults.ForObject, ConvertableTimeSource, - ConvertableTimeSource.Zoned { + implements ColumnSourceGetDefaults.ForObject, ConvertibleTimeSource, + ConvertibleTimeSource.Zoned { private final ZoneId zone; public static ColumnSource asLocalDate(ZoneId zone, RegionedColumnSourceLong inner) { @@ -56,7 +55,7 @@ public void convertRegion( final int length = longChunk.size(); for (int i = 0; i < length; ++i) { - objectChunk.set(size + i, DateTimeUtils.makeZonedDateTime(longChunk.get(i), zone)); + objectChunk.set(size + i, DateTimeUtils.epochNanosToZonedDateTime(longChunk.get(i), zone)); } objectChunk.setSize(size + length); } @@ -64,7 +63,7 @@ public void convertRegion( @Override public ZonedDateTime get(final long rowKey) { return rowKey == RowSequence.NULL_ROW_KEY ? null - : DateTimeUtils.makeZonedDateTime(getNativeSource().lookupRegion(rowKey).getLong(rowKey), + : DateTimeUtils.epochNanosToZonedDateTime(getNativeSource().lookupRegion(rowKey).getLong(rowKey), zone); } @@ -98,11 +97,6 @@ public ColumnSource toLocalTime(ZoneId zone) { (RegionedColumnSourceLong) getNativeSource()); } - @Override - public ColumnSource toDateTime() { - return new RegionedColumnSourceDateTime((RegionedColumnSourceLong) getNativeSource()); - } - @Override public ColumnSource toEpochNano() { return getNativeSource(); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedTableComponentFactoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedTableComponentFactoryImpl.java index be02ad6acb1..70a7154f799 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedTableComponentFactoryImpl.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedTableComponentFactoryImpl.java @@ -5,7 +5,6 @@ import io.deephaven.engine.table.ColumnDefinition; import io.deephaven.engine.table.impl.locations.TableDataException; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.ColumnSourceManager; import io.deephaven.engine.table.impl.ColumnToCodecMappings; import io.deephaven.util.type.TypeUtils; @@ -35,7 +34,6 @@ public class RegionedTableComponentFactoryImpl implements RegionedTableComponent typeToSupplier.put(Long.class, RegionedColumnSourceLong.AsValues::new); typeToSupplier.put(Short.class, RegionedColumnSourceShort.AsValues::new); typeToSupplier.put(Boolean.class, RegionedColumnSourceBoolean::new); - typeToSupplier.put(DateTime.class, RegionedColumnSourceDateTime::new); typeToSupplier.put(Instant.class, RegionedColumnSourceInstant::new); SIMPLE_DATA_TYPE_TO_REGIONED_COLUMN_SOURCE_SUPPLIER = Collections.unmodifiableMap(typeToSupplier); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ring/RingColumnSource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ring/RingColumnSource.java index 0cb85242242..095dc3f4f2f 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ring/RingColumnSource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ring/RingColumnSource.java @@ -17,7 +17,6 @@ import io.deephaven.engine.table.impl.AbstractColumnSource; import io.deephaven.engine.table.impl.TableUpdateImpl; import io.deephaven.engine.table.impl.sources.InMemoryColumnSource; -import io.deephaven.time.DateTime; import org.jetbrains.annotations.NotNull; import java.time.Instant; @@ -87,9 +86,6 @@ public static RingColumnSource of(int capacity, Class dataType, Class< } else if (dataType == boolean.class || dataType == Boolean.class) { throw new UnsupportedOperationException( "No Boolean chunk source for RingColumnSource - use byte and reinterpret"); - } else if (dataType == DateTime.class) { - throw new UnsupportedOperationException( - "No DateTime chunk source for RingColumnSource - use long and reinterpret"); } else if (dataType == Instant.class) { throw new UnsupportedOperationException( "No Instant chunk source for RingColumnSource - use long and reinterpret"); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/LongSegmentedSortedMultiset.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/LongSegmentedSortedMultiset.java index 24a34bf4278..ba203ad2526 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/LongSegmentedSortedMultiset.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/LongSegmentedSortedMultiset.java @@ -8,7 +8,8 @@ */ package io.deephaven.engine.table.impl.ssms; -import io.deephaven.time.DateTime; +import java.time.Instant; + import io.deephaven.vector.ObjectVectorDirect; import io.deephaven.time.DateTimeUtils; @@ -2518,48 +2519,48 @@ public String toString() { } // region Extensions - public DateTime getAsDate(long i) { - return DateTimeUtils.nanosToTime(get(i)); + public Instant getAsInstant(long i) { + return DateTimeUtils.epochNanosToInstant(get(i)); } - public ObjectVector subArrayAsDate(long fromIndexInclusive, long toIndexExclusive) { - return new ObjectVectorDirect<>(keyArrayAsDate(fromIndexInclusive, toIndexExclusive)); + public ObjectVector subArrayAsInstants(long fromIndexInclusive, long toIndexExclusive) { + return new ObjectVectorDirect<>(keyArrayAsInstants(fromIndexInclusive, toIndexExclusive)); } - public ObjectVector subArrayByPositionsAsDates(long[] positions) { - final DateTime[] keyArray = new DateTime[positions.length]; + public ObjectVector subArrayByPositionsAsInstants(long[] positions) { + final Instant[] keyArray = new Instant[positions.length]; int writePos = 0; for (long position : positions) { - keyArray[writePos++] = getAsDate(position); + keyArray[writePos++] = getAsInstant(position); } return new ObjectVectorDirect<>(keyArray); } - public DateTime[] toDateArray() { - return keyArrayAsDate(); + public Instant[] toInstantArray() { + return keyArrayAsInstants(); } - public Chunk toDateChunk() { - return ObjectChunk.chunkWrap(toDateArray()); + public Chunk toInstantChunk() { + return ObjectChunk.chunkWrap(toInstantArray()); } - public void fillDateChunk(WritableChunk destChunk) { + public void fillInstantChunk(WritableChunk destChunk) { if(isEmpty()) { return ; } //noinspection unchecked - WritableObjectChunk writable = destChunk.asWritableObjectChunk(); + WritableObjectChunk writable = destChunk.asWritableObjectChunk(); if (leafCount == 1) { for(int ii = 0; ii < size(); ii++) { - writable.set(ii, DateTimeUtils.nanosToTime(directoryValues[ii])); + writable.set(ii, DateTimeUtils.epochNanosToInstant(directoryValues[ii])); } } else if (leafCount > 0) { int offset = 0; for (int li = 0; li < leafCount; ++li) { for(int jj = 0; jj < leafSizes[li]; jj++) { - writable.set(jj + offset, DateTimeUtils.nanosToTime(leafValues[li][jj])); + writable.set(jj + offset, DateTimeUtils.epochNanosToInstant(leafValues[li][jj])); } offset += leafSizes[li]; } @@ -2567,12 +2568,12 @@ public void fillDateChunk(WritableChunk destChunk) { } - public ObjectVector getDirectAsDate() { - return new ObjectVectorDirect<>(keyArrayAsDate()); + public ObjectVector getDirectAsInstants() { + return new ObjectVectorDirect<>(keyArrayAsInstants()); } - private DateTime[] keyArrayAsDate() { - return keyArrayAsDate(0, size()-1); + private Instant[] keyArrayAsInstants() { + return keyArrayAsInstants(0, size()-1); } /** @@ -2581,16 +2582,16 @@ private DateTime[] keyArrayAsDate() { * @param last * @return */ - private DateTime[] keyArrayAsDate(long first, long last) { + private Instant[] keyArrayAsInstants(long first, long last) { if(isEmpty()) { - return DateTimeUtils.ZERO_LENGTH_DATETIME_ARRAY; + return DateTimeUtils.ZERO_LENGTH_INSTANT_ARRAY; } final int totalSize = (int)(last - first + 1); - final DateTime[] keyArray = new DateTime[intSize()]; + final Instant[] keyArray = new Instant[intSize()]; if (leafCount == 1) { for(int ii = 0; ii < totalSize; ii++) { - keyArray[ii] = DateTimeUtils.nanosToTime(directoryValues[ii + (int)first]); + keyArray[ii] = DateTimeUtils.epochNanosToInstant(directoryValues[ii + (int)first]); } } else if (leafCount > 0) { int offset = 0; @@ -2602,7 +2603,7 @@ private DateTime[] keyArrayAsDate(long first, long last) { if(toSkip < leafSizes[li]) { final int nToCopy = Math.min(leafSizes[li] - toSkip, totalSize); for(int jj = 0; jj < nToCopy; jj++) { - keyArray[jj] = DateTimeUtils.nanosToTime(leafValues[li][jj + toSkip]); + keyArray[jj] = DateTimeUtils.epochNanosToInstant(leafValues[li][jj + toSkip]); } copied = nToCopy; offset = copied; @@ -2613,7 +2614,7 @@ private DateTime[] keyArrayAsDate(long first, long last) { } else { int nToCopy = Math.min(leafSizes[li], totalSize - copied); for(int jj = 0; jj < nToCopy; jj++) { - keyArray[jj + offset] = DateTimeUtils.nanosToTime(leafValues[li][jj]); + keyArray[jj + offset] = DateTimeUtils.epochNanosToInstant(leafValues[li][jj]); } offset += leafSizes[li]; copied += nToCopy; @@ -2623,11 +2624,11 @@ private DateTime[] keyArrayAsDate(long first, long last) { return keyArray; } - public String toDateString() { + public String toInstantString() { final StringBuilder arrAsString = new StringBuilder("["); if (leafCount == 1) { for(int ii = 0; ii < intSize(); ii++) { - arrAsString.append(DateTimeUtils.nanosToTime(directoryValues[ii])).append(", "); + arrAsString.append(DateTimeUtils.epochNanosToInstant(directoryValues[ii])).append(", "); } arrAsString.replace(arrAsString.length() - 2, arrAsString.length(), "]"); @@ -2635,7 +2636,7 @@ public String toDateString() { } else if (leafCount > 0) { for (int li = 0; li < leafCount; ++li) { for(int ai = 0; ai < leafSizes[li]; ai++) { - arrAsString.append(DateTimeUtils.nanosToTime(leafValues[li][ai])).append(", "); + arrAsString.append(DateTimeUtils.epochNanosToInstant(leafValues[li][ai])).append(", "); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/UpdateByOperatorFactory.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/UpdateByOperatorFactory.java index 51dd03464bc..f129838dc51 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/UpdateByOperatorFactory.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/UpdateByOperatorFactory.java @@ -27,13 +27,13 @@ import io.deephaven.engine.table.impl.util.RowRedirection; import io.deephaven.hash.KeyedObjectHashMap; import io.deephaven.hash.KeyedObjectKey; -import io.deephaven.time.DateTime; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.math.BigDecimal; import java.math.BigInteger; import java.math.MathContext; +import java.time.Instant; import java.util.*; import java.util.stream.Collectors; @@ -293,8 +293,8 @@ private class OperationVisitor implements UpdateBySpec.Visitor, UpdateByOp * @return true if the type is one of the useable time types */ public boolean isTimeType(final @NotNull Class type) { - // TODO: extend time handling similar to enterprise (Instant, ZonedDateTime, LocalDate, LocalTime) - return type == DateTime.class; + // TODO: extend time handling similar to enterprise (ZonedDateTime, LocalDate, LocalTime) + return type == Instant.class; } @Override diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/LongFillByOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/LongFillByOperator.java index d42e87a1657..61e4e6d0271 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/LongFillByOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/LongFillByOperator.java @@ -5,11 +5,11 @@ */ package io.deephaven.engine.table.impl.updateby.fill; -import io.deephaven.engine.table.ColumnSource; +import java.time.Instant; import java.util.Map; import java.util.Collections; -import io.deephaven.time.DateTime; -import java.time.Instant; + +import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.sources.ReinterpretUtils; import io.deephaven.base.verify.Assert; @@ -76,8 +76,8 @@ public UpdateByOperator.Context makeUpdateContext(final int affectedChunkSize, f @Override public Map> getOutputColumns() { final ColumnSource actualOutput; - if(type == DateTime.class) { - actualOutput = ReinterpretUtils.longToDateTimeSource(outputSource); + if(type == Instant.class) { + actualOutput = ReinterpretUtils.longToInstantSource(outputSource); } else { actualOutput = outputSource; } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/minmax/LongCumMinMaxOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/minmax/LongCumMinMaxOperator.java index 33959ad8f57..63299529c2b 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/minmax/LongCumMinMaxOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/minmax/LongCumMinMaxOperator.java @@ -5,11 +5,11 @@ */ package io.deephaven.engine.table.impl.updateby.minmax; -import io.deephaven.engine.table.ColumnSource; +import java.time.Instant; import java.util.Map; import java.util.Collections; -import io.deephaven.time.DateTime; -import java.time.Instant; + +import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.sources.ReinterpretUtils; import io.deephaven.base.verify.Assert; @@ -79,8 +79,8 @@ public LongCumMinMaxOperator(@NotNull final MatchPair pair, @Override public Map> getOutputColumns() { final ColumnSource actualOutput; - if(type == DateTime.class) { - actualOutput = ReinterpretUtils.longToDateTimeSource(outputSource); + if(type == Instant.class) { + actualOutput = ReinterpretUtils.longToInstantSource(outputSource); } else { actualOutput = outputSource; } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/AsyncErrorLogger.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/AsyncErrorLogger.java index 341ae4d2d51..8a4b55baad4 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/AsyncErrorLogger.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/AsyncErrorLogger.java @@ -6,19 +6,19 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.table.TableListener; import io.deephaven.engine.table.impl.perf.PerformanceEntry; -import io.deephaven.time.DateTime; import io.deephaven.qst.column.header.ColumnHeader; import io.deephaven.qst.table.TableHeader; import io.deephaven.tablelogger.RowSetter; import java.io.IOException; +import java.time.Instant; @SuppressWarnings("unchecked") public class AsyncErrorLogger { private static final DynamicTableWriter tableWriter = new DynamicTableWriter( TableHeader.of( - ColumnHeader.of("Time", DateTime.class), + ColumnHeader.of("Time", Instant.class), ColumnHeader.ofInt("EvaluationNumber"), ColumnHeader.ofInt("OperationNumber"), ColumnHeader.ofString("Description"), @@ -28,7 +28,7 @@ public class AsyncErrorLogger { ColumnHeader.of("Cause", Exception.class), ColumnHeader.ofString("WorkerName"), ColumnHeader.ofString("HostName"))); - private static final RowSetter timeSetter = tableWriter.getSetter("Time"); + private static final RowSetter timeSetter = tableWriter.getSetter("Time"); private static final RowSetter evaluationNumberSetter = tableWriter.getSetter("EvaluationNumber"); private static final RowSetter operationNumberSetter = tableWriter.getSetter("OperationNumber"); private static final RowSetter descriptionSetter = tableWriter.getSetter("Description"); @@ -45,7 +45,7 @@ public static Table getErrorLog() { return tableWriter.getTable(); } - public static void log(DateTime time, TableListener.Entry entry, + public static void log(Instant time, TableListener.Entry entry, TableListener.Entry sourceEntry, Throwable originalException) throws IOException { timeSetter.set(time); if (entry instanceof PerformanceEntry) { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/ColumnHolder.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/ColumnHolder.java index 9530a33de45..0a82a2c988e 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/ColumnHolder.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/ColumnHolder.java @@ -19,7 +19,6 @@ import io.deephaven.engine.table.ChunkSink; import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.vector.ObjectVector; -import io.deephaven.time.DateTime; import io.deephaven.api.util.NameValidator; import io.deephaven.engine.table.impl.sources.ArrayBackedColumnSource; import io.deephaven.engine.table.ColumnSource; @@ -151,7 +150,6 @@ private ColumnHolder(String name, boolean grouped, Class dataType, Class c throw new IllegalArgumentException("Data must be provided as an array"); } if (!arrayData.getClass().getComponentType().isAssignableFrom(dataType) - && !(dataType == DateTime.class && arrayData.getClass().getComponentType() == long.class) && !(dataType == Instant.class && arrayData.getClass().getComponentType() == long.class) && !(dataType == Boolean.class && arrayData.getClass().getComponentType() == byte.class)) { throw new IllegalArgumentException( @@ -194,32 +192,31 @@ public static ColumnHolder makeForChunk(String name, Class type, Class /** - * Create a column holder for a DateTime column where the values are represented as longs. Whatever process produces + * Create a column holder for an Instant column where the values are represented as longs. Whatever process produces * a table from this column holder should respect this and create the appropriate type of ColumnSource. Under normal - * conditions, this will be a DateTimeArraySource (see {@link #getColumnSource()}). + * conditions, this will bean InstantArraySource (see {@link #getColumnSource()}). * * @param name column name * @param grouped true if the column is grouped; false otherwise * @param data column data (long integers representing nanos since the epoch) - * @return a DateTime column holder implemented with longs for storage + * @returnan Instant column holder implemented with longs for storage */ - public static ColumnHolder getDateTimeColumnHolder(String name, boolean grouped, long... data) { - return new ColumnHolder<>(name, grouped, DateTime.class, null, data); + public static ColumnHolder getInstantColumnHolder(String name, boolean grouped, long... data) { + return new ColumnHolder<>(name, grouped, Instant.class, null, data); } /** - * Create a column holder for a DateTime column where the values are represented as longs. Whatever process produces + * Create a column holder for an Instant column where the values are represented as longs. Whatever process produces * a table from this column holder should respect this and create the appropriate type of ColumnSource. Under normal - * conditions, this will be a DateTimeArraySource (see {@link #getColumnSource()}). + * conditions, this will bean InstantArraySource (see {@link #getColumnSource()}). * * @param name column name * @param grouped true if the column is grouped; false otherwise * @param chunkData column data (long integers representing nanos since the epoch) - * @return a DateTime column holder implemented with longs for storage + * @returnan Instant column holder implemented with longs for storage */ - public static ColumnHolder getDateTimeColumnHolder(String name, boolean grouped, - Chunk chunkData) { - return new ColumnHolder<>(true, name, DateTime.class, null, grouped, chunkData); + public static ColumnHolder getInstantColumnHolder(String name, boolean grouped, Chunk chunkData) { + return new ColumnHolder<>(true, name, Instant.class, null, grouped, chunkData); } /** @@ -263,7 +260,7 @@ public String getName() { } /** - * Gets a column source for the data. Other than the special case of DateTime columns, this requires that the type + * Gets a column source for the data. Other than the special case of Instant columns, this requires that the type * specified match the component type of the actual data. * * @return column source constructed with data from this column holder @@ -272,8 +269,8 @@ public ColumnSource getColumnSource() { if (chunkData == null) { if (arrayData.getClass().getComponentType().equals(dataType)) { return ArrayBackedColumnSource.getMemoryColumnSourceUntyped(arrayData, dataType, componentType); - } else if (dataType.equals(DateTime.class) && arrayData.getClass().getComponentType().equals(long.class)) { - return ArrayBackedColumnSource.getDateTimeMemoryColumnSource((long[]) arrayData); + } else if (dataType.equals(Instant.class) && arrayData.getClass().getComponentType().equals(long.class)) { + return ArrayBackedColumnSource.getInstantMemoryColumnSource((long[]) arrayData); } else { throw new IllegalStateException("Unsupported column holder data & type: " + dataType.getName() + ", " + arrayData.getClass().getComponentType().getName()); @@ -282,8 +279,8 @@ public ColumnSource getColumnSource() { Assert.eqNull(arrayData, "arrayData"); - if (dataType.equals(DateTime.class) && chunkData.getChunkType() == ChunkType.Long) { - return ArrayBackedColumnSource.getDateTimeMemoryColumnSource(chunkData.asLongChunk()); + if (dataType.equals(Instant.class) && chunkData.getChunkType() == ChunkType.Long) { + return ArrayBackedColumnSource.getInstantMemoryColumnSource(chunkData.asLongChunk()); } final WritableColumnSource cs = ArrayBackedColumnSource.getMemoryColumnSource( diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TableTimeConversions.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TableTimeConversions.java index f9b2cf7ea75..6ebd43cb554 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TableTimeConversions.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TableTimeConversions.java @@ -9,7 +9,6 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.table.impl.select.MatchPairFactory; import io.deephaven.engine.table.impl.select.ReinterpretedColumn; -import io.deephaven.time.DateTime; import io.deephaven.util.annotations.ScriptApi; import org.jetbrains.annotations.NotNull; @@ -21,8 +20,8 @@ import java.util.List; /** - * This class contains static methods to support conversions between various time types such as {@link DateTime}, - * {@link Instant}, {@link ZonedDateTime}, {@link LocalDate}, {@link LocalTime}, and {@code long}. + * This class contains static methods to support conversions between various time types such as {@link Instant}, + * {@link ZonedDateTime}, {@link LocalDate}, {@link LocalTime}, and {@code long}. * *

    * For example, lets say that you wanted to select multiple days from a table, but filter them to a specific times of @@ -270,31 +269,6 @@ public static Table asInstant(final @NotNull Table source, @NotNull final MatchP } // endregion - // region to DateTime - /** - * Convert the specified column in the table to a {@link DateTime} column. The column may be specified as a single - * value "Column" or a pair "NewColumn = OriginalColumn" - * - * @param source The source table - * @param column The column to convert, in {@link MatchPair} format - * @return the {@link Table} with the specified column converted to {@link DateTime}. - */ - public static Table asDateTime(final @NotNull Table source, @NotNull final String column) { - return asDateTime(source, MatchPairFactory.getExpression(Require.neqNull(column, "column"))); - } - - /** - * Convert the specified column in the table to a {@link DateTime} column. - * - * @param source The source table - * @param matchPair The {@link MatchPair} of columns - * @return the {@link Table} with the specified column converted to {@link DateTime}. - */ - public static Table asDateTime(final @NotNull Table source, @NotNull final MatchPair matchPair) { - return convertTimeColumn(source, matchPair, DateTime.class); - } - // endregion - // region to EpochNanos /** * Convert the specified column in the table to a {@code long} column of nanos since epoch. The column may be @@ -327,8 +301,10 @@ public static Table asEpochNanos(final @NotNull Table source, @NotNull final Mat * @return true if the type is one of the useable time types */ public static boolean isTimeType(final @NotNull Class type) { - return type == DateTime.class || type == Instant.class || type == ZonedDateTime.class || - type == LocalDate.class || type == LocalTime.class; + return type == Instant.class + || type == ZonedDateTime.class + || type == LocalDate.class + || type == LocalTime.class; } /** diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TailInitializationFilter.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TailInitializationFilter.java index 60596e73e07..7d1d1605fcb 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TailInitializationFilter.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TailInitializationFilter.java @@ -9,7 +9,6 @@ import io.deephaven.engine.rowset.RowSetFactory; import io.deephaven.engine.rowset.TrackingWritableRowSet; import io.deephaven.engine.table.Table; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder; import io.deephaven.engine.table.impl.BaseTable; @@ -18,22 +17,23 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.util.QueryConstants; +import java.time.Instant; import java.util.function.LongUnaryOperator; /** * For an Intraday restart, we often know that all data of interest must take place within a fixed period of time. * Rather than processing all of the data, we can binary search in each partition to find the relevant rows based on a * Timestamp. - * + *

    * This is only designed to operate against a source table, if any rows are modified or removed from the table, then the * ShiftObliviousListener throws an IllegalStateException. Each contiguous range of indices is assumed to be a * partition. If you filter or otherwise alter the source table before calling TailInitializationFilter, this assumption * will be violated and the resulting table will not be filtered as desired. - * + *

    * Once initialized, the filter returns all new rows, rows that have already been passed are not removed or modified. - * + *

    * The input must be sorted by Timestamp, or the resulting table is undefined. Null timestamps are not permitted. - * + *

    * For consistency, the last value of each partition is used to determine the threshold for that partition. */ public class TailInitializationFilter { @@ -42,11 +42,12 @@ public class TailInitializationFilter { * * @param table the source table to filter * @param timestampName the name of the timestamp column - * @param period interval between the last row in a partition (as converted by DateTimeUtils.expressionToNanos) + * @param period interval between the last row in a partition (as converted by + * {@link DateTimeUtils#parseDurationNanos(String)}) * @return a table with only the most recent values in each partition */ public static Table mostRecent(final Table table, final String timestampName, final String period) { - return mostRecent(table, timestampName, DateTimeUtils.expressionToNanos(period)); + return mostRecent(table, timestampName, DateTimeUtils.parseDurationNanos(period)); } /** @@ -59,13 +60,11 @@ public static Table mostRecent(final Table table, final String timestampName, fi */ public static Table mostRecent(final Table table, final String timestampName, final long nanos) { return QueryPerformanceRecorder.withNugget("TailInitializationFilter(" + nanos + ")", () -> { - final ColumnSource timestampSource = table.getColumnSource(timestampName, DateTime.class); + final ColumnSource timestampSource = table.getColumnSource(timestampName, Instant.class); if (timestampSource.allowsReinterpret(long.class)) { - // noinspection unchecked return mostRecentLong(table, timestampSource.reinterpret(long.class), nanos); } else { - // noinspection unchecked - return mostRecentDateTime(table, timestampSource, nanos); + return mostRecentInstant(table, timestampSource, nanos); } }); } @@ -74,8 +73,11 @@ private static Table mostRecentLong(final Table table, final ColumnSource return mostRecentLong(table, reinterpret::getLong, nanos); } - private static Table mostRecentDateTime(final Table table, final ColumnSource cs, final long nanos) { - return mostRecentLong(table, (idx) -> cs.get(idx).getNanos(), nanos); + private static Table mostRecentInstant(final Table table, final ColumnSource cs, final long nanos) { + return mostRecentLong(table, (idx) -> { + Instant instant = cs.get(idx); + return DateTimeUtils.epochNanos(instant); + }, nanos); } private static Table mostRecentLong(final Table table, final LongUnaryOperator getValue, final long nanos) { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/freezeby/FreezeByOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/freezeby/FreezeByOperator.java index dc72b8b0c97..f5a707bd815 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/freezeby/FreezeByOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/freezeby/FreezeByOperator.java @@ -10,7 +10,6 @@ import io.deephaven.engine.table.TableUpdate; import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.rowset.chunkattributes.RowKeys; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.by.IterativeChunkedAggregationOperator; import io.deephaven.engine.table.impl.sources.*; import io.deephaven.chunk.*; @@ -117,7 +116,7 @@ private static FreezeByHelper makeHelper(WritableColumnSource source, FreezeByCo case Double: return new DoubleFreezeByHelper(source, rowCount); case Object: - if (source.getType() == DateTime.class || source.getType() == Instant.class) { + if (source.getType() == Instant.class) { return new LongFreezeByHelper(((NanosBasedTimeArraySource) source).toEpochNano(), rowCount); } else if (source.getType() == Boolean.class) { return new BooleanFreezeByHelper(source, rowCount); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/lang/impl/QueryLibraryImportsDefaults.java b/engine/table/src/main/java/io/deephaven/engine/table/lang/impl/QueryLibraryImportsDefaults.java index 2865ac047ad..256a5359fae 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/lang/impl/QueryLibraryImportsDefaults.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/lang/impl/QueryLibraryImportsDefaults.java @@ -5,33 +5,11 @@ import com.google.auto.service.AutoService; import io.deephaven.base.string.cache.CompressedString; -import io.deephaven.chunk.ByteChunk; -import io.deephaven.chunk.CharChunk; -import io.deephaven.chunk.Chunk; -import io.deephaven.chunk.DoubleChunk; -import io.deephaven.chunk.FloatChunk; -import io.deephaven.chunk.IntChunk; -import io.deephaven.chunk.LongChunk; -import io.deephaven.chunk.ObjectChunk; -import io.deephaven.chunk.ShortChunk; -import io.deephaven.chunk.WritableByteChunk; -import io.deephaven.chunk.WritableCharChunk; -import io.deephaven.chunk.WritableChunk; -import io.deephaven.chunk.WritableDoubleChunk; -import io.deephaven.chunk.WritableFloatChunk; -import io.deephaven.chunk.WritableIntChunk; -import io.deephaven.chunk.WritableLongChunk; -import io.deephaven.chunk.WritableObjectChunk; -import io.deephaven.chunk.WritableShortChunk; +import io.deephaven.chunk.*; import io.deephaven.chunk.attributes.Any; -import io.deephaven.engine.rowset.RowSequence; -import io.deephaven.engine.rowset.RowSet; -import io.deephaven.engine.rowset.RowSetBuilderRandom; -import io.deephaven.engine.rowset.RowSetBuilderSequential; -import io.deephaven.engine.rowset.RowSetFactory; -import io.deephaven.engine.rowset.TrackingRowSet; -import io.deephaven.engine.rowset.TrackingWritableRowSet; -import io.deephaven.engine.rowset.WritableRowSet; +import io.deephaven.engine.context.QueryLibraryImports; +import io.deephaven.engine.context.QueryScopeParam; +import io.deephaven.engine.rowset.*; import io.deephaven.engine.rowset.chunkattributes.RowKeys; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.Context; @@ -40,32 +18,19 @@ import io.deephaven.engine.table.impl.lang.QueryLanguageFunctionUtils; import io.deephaven.engine.table.impl.select.ConditionFilter; import io.deephaven.engine.table.impl.verify.TableAssertions; -import io.deephaven.engine.context.QueryLibraryImports; -import io.deephaven.engine.context.QueryScopeParam; import io.deephaven.engine.util.ColorUtilImpl; -import io.deephaven.function.Basic; -import io.deephaven.function.BinSearch; -import io.deephaven.function.BinSearchAlgo; -import io.deephaven.function.Cast; -import io.deephaven.function.Logic; -import io.deephaven.function.Numeric; -import io.deephaven.function.Parse; -import io.deephaven.function.Random; -import io.deephaven.function.Sort; +import io.deephaven.function.*; import io.deephaven.gui.color.Color; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.Period; -import io.deephaven.time.TimeZone; import io.deephaven.time.calendar.StaticCalendarMethods; import io.deephaven.util.QueryConstants; import io.deephaven.util.datastructures.LongSizedDataStructure; import io.deephaven.util.type.ArrayTypeUtils; import io.deephaven.util.type.TypeUtils; import io.deephaven.vector.VectorConversions; -import org.joda.time.LocalTime; import java.lang.reflect.Array; +import java.time.*; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; @@ -92,11 +57,14 @@ public Set> classes() { DataColumn.class, ArrayTypeUtils.class, VectorConversions.class, - DateTime.class, DateTimeUtils.class, CompressedString.class, java.util.Arrays.class, + LocalDate.class, LocalTime.class, + Instant.class, + ZonedDateTime.class, + Duration.class, Period.class, QueryScopeParam.class, ColumnSource.class, @@ -147,7 +115,6 @@ public Set> statics() { Sort.class, QueryLanguageFunctionUtils.class, DateTimeUtils.class, - TimeZone.class, CompressedString.class, Color.class, ColorUtilImpl.class, diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryOperationPerformanceLogLoggerMemoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryOperationPerformanceLogLoggerMemoryImpl.java index 1ee72a37a2c..bbe82862842 100644 --- a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryOperationPerformanceLogLoggerMemoryImpl.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryOperationPerformanceLogLoggerMemoryImpl.java @@ -6,7 +6,6 @@ import io.deephaven.engine.table.impl.perf.QueryPerformanceNugget; import io.deephaven.engine.table.impl.util.EngineMetrics; import io.deephaven.engine.tablelogger.QueryOperationPerformanceLogLogger; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.util.ColumnsSpecHelper; import io.deephaven.tablelogger.*; @@ -14,6 +13,7 @@ import io.deephaven.engine.table.TableDefinition; import io.deephaven.util.QueryConstants; import java.io.IOException; +import java.time.Instant; class QueryOperationPerformanceLogLoggerMemoryImpl extends MemoryTableLogger @@ -45,8 +45,8 @@ class DirectSetter extends BaseSetter implements ISetter { RowSetter CallerLine; RowSetter IsTopLevel; RowSetter IsCompilation; - RowSetter StartTime; - RowSetter EndTime; + RowSetter StartTime; + RowSetter EndTime; RowSetter DurationNanos; RowSetter CpuNanos; RowSetter UserCpuNanos; @@ -68,8 +68,8 @@ class DirectSetter extends BaseSetter implements ISetter { CallerLine = row.getSetter("CallerLine", String.class); IsTopLevel = row.getSetter("IsTopLevel", Boolean.class); IsCompilation = row.getSetter("IsCompilation", Boolean.class); - StartTime = row.getSetter("StartTime", DateTime.class); - EndTime = row.getSetter("EndTime", DateTime.class); + StartTime = row.getSetter("StartTime", Instant.class); + EndTime = row.getSetter("EndTime", Instant.class); DurationNanos = row.getSetter("DurationNanos", long.class); CpuNanos = row.getSetter("CpuNanos", long.class); UserCpuNanos = row.getSetter("UserCpuNanos", long.class); @@ -95,10 +95,10 @@ public void log(final Row.Flags flags, final int operationNumber, final QueryPer this.CallerLine.set(nugget.getCallerLine()); this.IsTopLevel.setBoolean(nugget.isTopLevel()); this.IsCompilation.setBoolean(nugget.getName().startsWith("Compile:")); - this.StartTime.set(DateTimeUtils.millisToTime(nugget.getStartClockTime())); + this.StartTime.set(DateTimeUtils.epochMillisToInstant(nugget.getStartClockTime())); this.EndTime.set(nugget.getTotalTimeNanos() == null ? null - : DateTimeUtils.millisToTime( + : DateTimeUtils.epochMillisToInstant( nugget.getStartClockTime() + DateTimeUtils.nanosToMillis(nugget.getTotalTimeNanos()))); this.DurationNanos.setLong( nugget.getTotalTimeNanos() == null ? QueryConstants.NULL_LONG : nugget.getTotalTimeNanos()); @@ -133,8 +133,8 @@ protected String threadName() { .add("CallerLine", String.class) .add("IsTopLevel", Boolean.class) .add("IsCompilation", Boolean.class) - .add("StartTime", DateTime.class) - .add("EndTime", DateTime.class) + .add("StartTime", Instant.class) + .add("EndTime", Instant.class) .add("DurationNanos", long.class) .add("CpuNanos", long.class) .add("UserCpuNanos", long.class) diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryPerformanceLogLoggerMemoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryPerformanceLogLoggerMemoryImpl.java index e6d61d76add..7559fda55f9 100644 --- a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryPerformanceLogLoggerMemoryImpl.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryPerformanceLogLoggerMemoryImpl.java @@ -5,7 +5,6 @@ import io.deephaven.engine.table.impl.util.EngineMetrics; import io.deephaven.engine.tablelogger.QueryPerformanceLogLogger; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tablelogger.*; import io.deephaven.engine.table.TableDefinition; @@ -14,6 +13,7 @@ import io.deephaven.engine.table.impl.perf.QueryPerformanceNugget; import io.deephaven.util.QueryConstants; import java.io.IOException; +import java.time.Instant; class QueryPerformanceLogLoggerMemoryImpl extends MemoryTableLogger implements QueryPerformanceLogLogger { @@ -39,8 +39,8 @@ void log(Row.Flags flags, final long evaluationNumber, class DirectSetter extends BaseSetter implements ISetter { RowSetter ProcessUniqueId; RowSetter EvaluationNumber; - RowSetter StartTime; - RowSetter EndTime; + RowSetter StartTime; + RowSetter EndTime; RowSetter DurationNanos; RowSetter CpuNanos; RowSetter UserCpuNanos; @@ -59,8 +59,8 @@ class DirectSetter extends BaseSetter implements ISetter { DirectSetter() { ProcessUniqueId = row.getSetter("ProcessUniqueId", String.class); EvaluationNumber = row.getSetter("EvaluationNumber", long.class); - StartTime = row.getSetter("StartTime", DateTime.class); - EndTime = row.getSetter("EndTime", DateTime.class); + StartTime = row.getSetter("StartTime", Instant.class); + EndTime = row.getSetter("EndTime", Instant.class); DurationNanos = row.getSetter("DurationNanos", long.class); CpuNanos = row.getSetter("CpuNanos", long.class); UserCpuNanos = row.getSetter("UserCpuNanos", long.class); @@ -85,10 +85,10 @@ public void log( setRowFlags(flags); this.ProcessUniqueId.set(processUniqueId); this.EvaluationNumber.setLong(evaluationNumber); - this.StartTime.set(DateTimeUtils.millisToTime(nugget.getStartClockTime())); + this.StartTime.set(DateTimeUtils.epochMillisToInstant(nugget.getStartClockTime())); this.EndTime.set(nugget.getTotalTimeNanos() == null ? null - : DateTimeUtils.millisToTime( + : DateTimeUtils.epochMillisToInstant( nugget.getStartClockTime() + DateTimeUtils.nanosToMillis(nugget.getTotalTimeNanos()))); this.DurationNanos.setLong( nugget.getTotalTimeNanos() == null ? QueryConstants.NULL_LONG : nugget.getTotalTimeNanos()); @@ -120,8 +120,8 @@ protected String threadName() { final ColumnsSpecHelper cols = new ColumnsSpecHelper() .add("ProcessUniqueId", String.class) .add("EvaluationNumber", long.class) - .add("StartTime", DateTime.class) - .add("EndTime", DateTime.class) + .add("StartTime", Instant.class) + .add("EndTime", Instant.class) .add("DurationNanos", long.class) .add("CpuNanos", long.class) .add("UserCpuNanos", long.class) diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ServerStateLogLoggerMemoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ServerStateLogLoggerMemoryImpl.java index d9b4875d516..064cbc7eade 100644 --- a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ServerStateLogLoggerMemoryImpl.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ServerStateLogLoggerMemoryImpl.java @@ -7,13 +7,13 @@ import io.deephaven.engine.tablelogger.ServerStateLogLogger; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.util.ColumnsSpecHelper; -import io.deephaven.time.DateTime; import io.deephaven.tablelogger.Row; import io.deephaven.tablelogger.RowSetter; import io.deephaven.tablelogger.TableLoggerImpl2; import io.deephaven.tablelogger.WritableRowContainer; import java.io.IOException; +import java.time.Instant; class ServerStateLogLoggerMemoryImpl extends MemoryTableLogger implements ServerStateLogLogger { @@ -43,7 +43,7 @@ void log( } class DirectSetter extends TableLoggerImpl2.BaseSetter implements ISetter { - RowSetter IntervalStartTime; + RowSetter IntervalStartTime; RowSetter IntervalDurationMicros; RowSetter TotalMemoryMiB; RowSetter FreeMemoryMiB; @@ -55,7 +55,7 @@ class DirectSetter extends TableLoggerImpl2.BaseSetter implements ISetter { RowSetter IntervalUGPCyclesSafePointTimeMicros; DirectSetter() { - IntervalStartTime = row.getSetter("IntervalStartTime", DateTime.class); + IntervalStartTime = row.getSetter("IntervalStartTime", Instant.class); IntervalDurationMicros = row.getSetter("IntervalDurationMicros", int.class); TotalMemoryMiB = row.getSetter("TotalMemoryMiB", int.class); FreeMemoryMiB = row.getSetter("FreeMemoryMiB", int.class); @@ -82,7 +82,7 @@ public void log( final short intervalUGPCyclesSafePoints, final int intervalUGPCyclesSafePointTimeMicros) throws IOException { setRowFlags(flags); - this.IntervalStartTime.set(DateTimeUtils.millisToTime(intervalStartTime)); + this.IntervalStartTime.set(DateTimeUtils.epochMillisToInstant(intervalStartTime)); this.IntervalDurationMicros.set(intervalDurationMicros); this.TotalMemoryMiB.set(totalMemoryMiB); this.FreeMemoryMiB.set(freeMemoryMiB); @@ -105,7 +105,7 @@ protected String threadName() { static { final ColumnsSpecHelper cols = new ColumnsSpecHelper() - .add("IntervalStartTime", DateTime.class) + .add("IntervalStartTime", Instant.class) .add("IntervalDurationMicros", int.class) .add("TotalMemoryMiB", int.class) .add("FreeMemoryMiB", int.class) diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/UpdatePerformanceLogLoggerMemoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/UpdatePerformanceLogLoggerMemoryImpl.java index a4692ea4a54..7d2454f2f72 100644 --- a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/UpdatePerformanceLogLoggerMemoryImpl.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/UpdatePerformanceLogLoggerMemoryImpl.java @@ -4,12 +4,13 @@ package io.deephaven.engine.tablelogger.impl.memory; import java.io.IOException; +import java.time.Instant; + import io.deephaven.engine.table.TableDefinition; import io.deephaven.engine.table.impl.util.EngineMetrics; import io.deephaven.engine.tablelogger.UpdatePerformanceLogLogger; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.util.ColumnsSpecHelper; -import io.deephaven.time.DateTime; import io.deephaven.tablelogger.*; import static io.deephaven.engine.table.impl.perf.UpdatePerformanceTracker.IntervalLevelDetails; @@ -44,8 +45,8 @@ class DirectSetter extends BaseSetter implements ISetter { RowSetter OperationNumber; RowSetter EntryDescription; RowSetter EntryCallerLine; - RowSetter IntervalStartTime; - RowSetter IntervalEndTime; + RowSetter IntervalStartTime; + RowSetter IntervalEndTime; RowSetter IntervalDurationNanos; RowSetter EntryIntervalUsage; RowSetter EntryIntervalCpuNanos; @@ -69,8 +70,8 @@ class DirectSetter extends BaseSetter implements ISetter { OperationNumber = row.getSetter("OperationNumber", int.class); EntryDescription = row.getSetter("EntryDescription", String.class); EntryCallerLine = row.getSetter("EntryCallerLine", String.class); - IntervalStartTime = row.getSetter("IntervalStartTime", DateTime.class); - IntervalEndTime = row.getSetter("IntervalEndTime", DateTime.class); + IntervalStartTime = row.getSetter("IntervalStartTime", Instant.class); + IntervalEndTime = row.getSetter("IntervalEndTime", Instant.class); IntervalDurationNanos = row.getSetter("IntervalDurationNanos", long.class); EntryIntervalUsage = row.getSetter("EntryIntervalUsage", long.class); EntryIntervalCpuNanos = row.getSetter("EntryIntervalCpuNanos", long.class); @@ -98,8 +99,10 @@ public void log(final Row.Flags flags, final IntervalLevelDetails intervalLevelD this.OperationNumber.setInt(performanceEntry.getOperationNumber()); this.EntryDescription.set(performanceEntry.getDescription()); this.EntryCallerLine.set(performanceEntry.getCallerLine()); - this.IntervalStartTime.set(DateTimeUtils.millisToTime(intervalLevelDetails.getIntervalStartTimeMillis())); - this.IntervalEndTime.set(DateTimeUtils.millisToTime(intervalLevelDetails.getIntervalEndTimeMillis())); + this.IntervalStartTime.set( + DateTimeUtils.epochMillisToInstant(intervalLevelDetails.getIntervalStartTimeMillis())); + this.IntervalEndTime.set( + DateTimeUtils.epochMillisToInstant(intervalLevelDetails.getIntervalEndTimeMillis())); this.IntervalDurationNanos.setLong(intervalLevelDetails.getIntervalDurationNanos()); this.EntryIntervalUsage.setLong(performanceEntry.getIntervalUsageNanos()); this.EntryIntervalCpuNanos.setLong(performanceEntry.getIntervalCpuNanos()); @@ -135,8 +138,8 @@ protected String threadName() { .add("EntryDescription", String.class) .add("EntryCallerLine", String.class) - .add("IntervalStartTime", DateTime.class) - .add("IntervalEndTime", DateTime.class) + .add("IntervalStartTime", Instant.class) + .add("IntervalEndTime", Instant.class) .add("IntervalDurationNanos", long.class) .add("EntryIntervalUsage", long.class) diff --git a/engine/table/src/main/java/io/deephaven/engine/util/GroovyDeephavenSession.java b/engine/table/src/main/java/io/deephaven/engine/util/GroovyDeephavenSession.java index 6d66f373210..cbbf31efead 100644 --- a/engine/table/src/main/java/io/deephaven/engine/util/GroovyDeephavenSession.java +++ b/engine/table/src/main/java/io/deephaven/engine/util/GroovyDeephavenSession.java @@ -509,12 +509,14 @@ private Pair fullCommand(String command) { "import java.lang.reflect.Array;\n" + "import io.deephaven.util.type.TypeUtils;\n" + "import io.deephaven.util.type.ArrayTypeUtils;\n" + - "import io.deephaven.time.DateTime;\n" + "import io.deephaven.time.DateTimeUtils;\n" + "import io.deephaven.base.string.cache.CompressedString;\n" + "import static io.deephaven.base.string.cache.CompressedString.compress;\n" + - "import org.joda.time.LocalTime;\n" + - "import io.deephaven.time.Period;\n" + + "import java.time.Instant;\n" + + "import java.time.LocalDate;\n" + + "import java.time.LocalTime;\n" + + "import java.time.ZoneId;\n" + + "import java.time.ZonedDateTime;\n" + "import io.deephaven.engine.context.QueryScopeParam;\n" + "import io.deephaven.engine.context.QueryScope;\n" + "import java.util.*;\n" + @@ -522,7 +524,6 @@ private Pair fullCommand(String command) { "import static io.deephaven.util.QueryConstants.*;\n" + "import static io.deephaven.libs.GroovyStaticImports.*;\n" + "import static io.deephaven.time.DateTimeUtils.*;\n" + - "import static io.deephaven.time.TimeZone.*;\n" + "import static io.deephaven.engine.table.impl.lang.QueryLanguageFunctionUtils.*;\n" + "import static io.deephaven.api.agg.Aggregation.*;\n" + "import static io.deephaven.api.updateby.UpdateByOperation.*;\n" + diff --git a/engine/table/src/main/java/io/deephaven/engine/util/HtmlTable.java b/engine/table/src/main/java/io/deephaven/engine/util/HtmlTable.java index 8125d569d75..2dfd4676b1e 100644 --- a/engine/table/src/main/java/io/deephaven/engine/util/HtmlTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/util/HtmlTable.java @@ -4,13 +4,13 @@ package io.deephaven.engine.util; import io.deephaven.engine.table.Table; -import io.deephaven.time.DateTime; -import io.deephaven.time.TimeZone; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.rowset.RowSet; +import io.deephaven.time.DateTimeUtils; import org.apache.commons.text.StringEscapeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; import java.util.Collection; import java.util.List; @@ -37,8 +37,8 @@ public static String html(Table source) { final Object value = columnSource.get(key); if (value instanceof String) { out.append(StringEscapeUtils.escapeCsv((String) value)); - } else if (value instanceof DateTime) { - out.append(((DateTime) value).toString(TimeZone.TZ_NY)); + } else if (value instanceof Instant) { + out.append(DateTimeUtils.formatDateTime((Instant) value, DateTimeUtils.timeZone())); } else { out.append(TableTools.nullToNullString(value)); } diff --git a/engine/table/src/main/java/io/deephaven/engine/util/TableShowTools.java b/engine/table/src/main/java/io/deephaven/engine/util/TableShowTools.java index 3ba38e0d734..ac65b727082 100644 --- a/engine/table/src/main/java/io/deephaven/engine/util/TableShowTools.java +++ b/engine/table/src/main/java/io/deephaven/engine/util/TableShowTools.java @@ -7,14 +7,15 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.table.impl.perf.QueryPerformanceNugget; import io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder; -import io.deephaven.time.DateTime; -import io.deephaven.time.TimeZone; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.rowset.RowSet; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.type.ArrayTypeUtils; import java.io.PrintStream; import java.lang.annotation.Annotation; +import java.time.Instant; +import java.time.ZoneId; import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -25,7 +26,7 @@ */ class TableShowTools { - static void showInternal(Table source, long firstRow, long lastRowExclusive, TimeZone timeZone, String delimiter, + static void showInternal(Table source, long firstRow, long lastRowExclusive, ZoneId timeZone, String delimiter, PrintStream out, boolean showRowSet, String[] columns) { final QueryPerformanceNugget nugget = QueryPerformanceRecorder.getInstance().getNugget("TableTools.show()"); try { @@ -119,7 +120,7 @@ private static int getColumnLen(String name, ColumnSource columnSource, RowSet r len = Math.max(len, 20); } else if (columnSource.getType() == double.class || columnSource.getType() == Double.class) { len = Math.max(len, 20); - } else if (columnSource.getType() == DateTime.class) { + } else if (columnSource.getType() == Instant.class) { len = Math.max(len, 33); } else if (columnSource.getType() == java.util.Date.class) { len = Math.max(len, 33); @@ -144,9 +145,9 @@ private static int getColumnLen(String name, ColumnSource columnSource, RowSet r return len; } - private static ColumnPrinter getColumnPrinter(ColumnSource column, int len, TimeZone timeZone) { - if (column.getType() == DateTime.class) { - return new DateTimePrinter(len, timeZone); + private static ColumnPrinter getColumnPrinter(ColumnSource column, int len, ZoneId timeZone) { + if (column.getType() == Instant.class) { + return new InstantPrinter(len, timeZone); } else if (!column.getType().isArray()) { return new DefaultPrinter(len); } else if (!column.getType().getComponentType().isPrimitive()) { @@ -242,18 +243,18 @@ public void print(PrintStream out, Object value) { } } - private static class DateTimePrinter extends DefaultPrinter { + private static class InstantPrinter extends DefaultPrinter { - private final TimeZone timeZone; + private final ZoneId timeZone; - private DateTimePrinter(int len, TimeZone timeZone) { + private InstantPrinter(int len, ZoneId timeZone) { super(len); this.timeZone = timeZone; } @Override public void print(PrintStream out, Object value) { - super.print(out, value == null ? null : ((DateTime) value).toString(timeZone)); + super.print(out, value == null ? null : DateTimeUtils.formatDateTime((Instant) value, timeZone)); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/util/TableTools.java b/engine/table/src/main/java/io/deephaven/engine/util/TableTools.java index ab8d78e5e0b..f90f500fe90 100644 --- a/engine/table/src/main/java/io/deephaven/engine/util/TableTools.java +++ b/engine/table/src/main/java/io/deephaven/engine/util/TableTools.java @@ -14,9 +14,7 @@ import io.deephaven.engine.table.*; import io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder; import io.deephaven.internal.log.LoggerFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.TimeZone; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.table.impl.QueryTable; import io.deephaven.engine.table.impl.TimeTable; @@ -38,6 +36,8 @@ import java.security.DigestOutputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import java.time.Instant; +import java.time.ZoneId; import java.util.*; import java.util.function.BinaryOperator; import java.util.function.Function; @@ -84,7 +84,7 @@ private static BinaryOperator throwingMerger() { * @param columns varargs of column names to display */ public static void show(Table source, String... columns) { - show(source, 10, io.deephaven.time.TimeZone.TZ_DEFAULT, System.out, columns); + show(source, 10, DateTimeUtils.timeZone(), System.out, columns); } /** @@ -95,7 +95,7 @@ public static void show(Table source, String... columns) { * @param columns varargs of column names to display */ public static void showWithRowSet(Table source, String... columns) { - showWithRowSet(source, 10, io.deephaven.time.TimeZone.TZ_DEFAULT, System.out, columns); + showWithRowSet(source, 10, DateTimeUtils.timeZone(), System.out, columns); } /** @@ -105,17 +105,17 @@ public static void showWithRowSet(Table source, String... columns) { * @param columns varargs of column names to display */ public static void showCommaDelimited(Table source, String... columns) { - show(source, 10, io.deephaven.time.TimeZone.TZ_DEFAULT, ",", System.out, false, columns); + show(source, 10, DateTimeUtils.timeZone(), ",", System.out, false, columns); } /** * Prints the first few rows of a table to standard output. * * @param source a Deephaven table object - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param columns varargs of column names to display */ - public static void show(Table source, io.deephaven.time.TimeZone timeZone, String... columns) { + public static void show(Table source, ZoneId timeZone, String... columns) { show(source, 10, timeZone, System.out, columns); } @@ -127,7 +127,7 @@ public static void show(Table source, io.deephaven.time.TimeZone timeZone, Strin * @param columns varargs of column names to display */ public static void show(Table source, long maxRowCount, String... columns) { - show(source, maxRowCount, io.deephaven.time.TimeZone.TZ_DEFAULT, System.out, columns); + show(source, maxRowCount, DateTimeUtils.timeZone(), System.out, columns); } /** @@ -139,7 +139,7 @@ public static void show(Table source, long maxRowCount, String... columns) { * @param columns varargs of column names to display */ public static void showWithRowSet(Table source, long maxRowCount, String... columns) { - showWithRowSet(source, maxRowCount, io.deephaven.time.TimeZone.TZ_DEFAULT, System.out, columns); + showWithRowSet(source, maxRowCount, DateTimeUtils.timeZone(), System.out, columns); } /** @@ -150,7 +150,7 @@ public static void showWithRowSet(Table source, long maxRowCount, String... colu * @param columns varargs of column names to display */ public static void showCommaDelimited(Table source, long maxRowCount, String... columns) { - show(source, maxRowCount, io.deephaven.time.TimeZone.TZ_DEFAULT, ",", System.out, false, columns); + show(source, maxRowCount, DateTimeUtils.timeZone(), ",", System.out, false, columns); } /** @@ -158,10 +158,10 @@ public static void showCommaDelimited(Table source, long maxRowCount, String... * * @param source a Deephaven table object * @param maxRowCount the number of rows to return - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param columns varargs of column names to display */ - public static void show(Table source, long maxRowCount, io.deephaven.time.TimeZone timeZone, + public static void show(Table source, long maxRowCount, ZoneId timeZone, String... columns) { show(source, maxRowCount, timeZone, System.out, columns); } @@ -171,11 +171,11 @@ public static void show(Table source, long maxRowCount, io.deephaven.time.TimeZo * * @param source a Deephaven table object * @param maxRowCount the number of rows to return - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param out a PrintStream destination to which to print the data * @param columns varargs of column names to display */ - public static void show(Table source, long maxRowCount, io.deephaven.time.TimeZone timeZone, PrintStream out, + public static void show(Table source, long maxRowCount, ZoneId timeZone, PrintStream out, String... columns) { show(source, maxRowCount, timeZone, "|", out, false, columns); } @@ -186,11 +186,11 @@ public static void show(Table source, long maxRowCount, io.deephaven.time.TimeZo * * @param source a Deephaven table object * @param maxRowCount the number of rows to return - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param out a PrintStream destination to which to print the data * @param columns varargs of column names to display */ - public static void showWithRowSet(Table source, long maxRowCount, io.deephaven.time.TimeZone timeZone, + public static void showWithRowSet(Table source, long maxRowCount, ZoneId timeZone, PrintStream out, String... columns) { show(source, maxRowCount, timeZone, "|", out, true, columns); @@ -207,7 +207,7 @@ public static void showWithRowSet(Table source, long maxRowCount, io.deephaven.t * @param columns varargs of column names to display */ public static void showWithRowSet(Table source, long firstRow, long lastRow, PrintStream out, String... columns) { - TableShowTools.showInternal(source, firstRow, lastRow, io.deephaven.time.TimeZone.TZ_DEFAULT, "|", out, + TableShowTools.showInternal(source, firstRow, lastRow, DateTimeUtils.timeZone(), "|", out, true, columns); } @@ -216,13 +216,13 @@ public static void showWithRowSet(Table source, long firstRow, long lastRow, Pri * * @param source a Deephaven table object * @param maxRowCount the number of rows to return - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param delimiter a String value to use between printed values * @param out a PrintStream destination to which to print the data * @param showRowSet a boolean indicating whether to also print rowSet details * @param columns varargs of column names to display */ - public static void show(final Table source, final long maxRowCount, final TimeZone timeZone, + public static void show(final Table source, final long maxRowCount, final ZoneId timeZone, final String delimiter, final PrintStream out, final boolean showRowSet, String... columns) { TableShowTools.showInternal(source, 0, maxRowCount, timeZone, delimiter, out, showRowSet, columns); } @@ -238,7 +238,7 @@ public static void show(final Table source, final long maxRowCount, final TimeZo */ public static void showWithRowSet(final Table source, final long firstRow, final long lastRow, final String... columns) { - TableShowTools.showInternal(source, firstRow, lastRow, io.deephaven.time.TimeZone.TZ_DEFAULT, "|", + TableShowTools.showInternal(source, firstRow, lastRow, DateTimeUtils.timeZone(), "|", System.out, true, columns); } @@ -250,7 +250,7 @@ public static void showWithRowSet(final Table source, final long firstRow, final * @return a String */ public static String string(Table t, String... columns) { - return string(t, 10, io.deephaven.time.TimeZone.TZ_DEFAULT, columns); + return string(t, 10, DateTimeUtils.timeZone(), columns); } /** @@ -262,18 +262,18 @@ public static String string(Table t, String... columns) { * @return a String */ public static String string(Table t, int size, String... columns) { - return string(t, size, io.deephaven.time.TimeZone.TZ_DEFAULT, columns); + return string(t, size, DateTimeUtils.timeZone(), columns); } /** * Returns the first few rows of a table as a pipe-delimited string. * * @param t a Deephaven table object - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param columns varargs of columns to include in the result * @return a String */ - public static String string(Table t, io.deephaven.time.TimeZone timeZone, String... columns) { + public static String string(Table t, ZoneId timeZone, String... columns) { return string(t, 10, timeZone, columns); } @@ -282,14 +282,14 @@ public static String string(Table t, io.deephaven.time.TimeZone timeZone, String * * @param table a Deephaven table object * @param size the number of rows to return - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param columns varargs of columns to include in the result * @return a String */ public static String string( @NotNull final Table table, final int size, - final io.deephaven.time.TimeZone timeZone, + final ZoneId timeZone, @NotNull final String... columns) { try (final ByteArrayOutputStream bytes = new ByteArrayOutputStream(); final PrintStream printStream = new PrintStream(bytes, false, StandardCharsets.UTF_8)) { @@ -553,16 +553,16 @@ public static ColumnHolder stringCol(String name, String... data) { } /** - * Returns a ColumnHolder of type DateTime that can be used when creating in-memory tables. + * Returns a ColumnHolder of type Instant that can be used when creating in-memory tables. * * @param name name of the column * @param data a list of values for the column * @return a Deephaven ColumnHolder object */ - public static ColumnHolder dateTimeCol(String name, DateTime... data) { + public static ColumnHolder instantCol(String name, Instant... data) { // NB: IntelliJ says that we do not need to cast data, but javac warns about this statement otherwise // noinspection RedundantCast - return new ColumnHolder<>(name, DateTime.class, null, false, (DateTime[]) data); + return new ColumnHolder<>(name, Instant.class, null, false, (Instant[]) data); } /** @@ -777,7 +777,7 @@ public static Table timeTable(String period) { * @return time table */ public static Table timeTable(String period, ReplayerInterface replayer) { - final long periodValue = DateTimeUtils.expressionToNanos(period); + final long periodValue = DateTimeUtils.parseDurationNanos(period); return timeTable(periodValue, replayer); } @@ -788,8 +788,8 @@ public static Table timeTable(String period, ReplayerInterface replayer) { * @param period time interval between new row additions * @return time table */ - public static Table timeTable(DateTime startTime, String period) { - final long periodValue = DateTimeUtils.expressionToNanos(period); + public static Table timeTable(Instant startTime, String period) { + final long periodValue = DateTimeUtils.parseDurationNanos(period); return timeTable(startTime, periodValue); } @@ -801,8 +801,8 @@ public static Table timeTable(DateTime startTime, String period) { * @param replayer data replayer * @return time table */ - public static Table timeTable(DateTime startTime, String period, ReplayerInterface replayer) { - final long periodValue = DateTimeUtils.expressionToNanos(period); + public static Table timeTable(Instant startTime, String period, ReplayerInterface replayer) { + final long periodValue = DateTimeUtils.parseDurationNanos(period); return timeTable(startTime, periodValue, replayer); } @@ -814,7 +814,7 @@ public static Table timeTable(DateTime startTime, String period, ReplayerInterfa * @return time table */ public static Table timeTable(String startTime, String period) { - return timeTable(DateTimeUtils.convertDateTime(startTime), period); + return timeTable(DateTimeUtils.parseInstant(startTime), period); } /** @@ -826,7 +826,7 @@ public static Table timeTable(String startTime, String period) { * @return time table */ public static Table timeTable(String startTime, String period, ReplayerInterface replayer) { - return timeTable(DateTimeUtils.convertDateTime(startTime), period, replayer); + return timeTable(DateTimeUtils.parseInstant(startTime), period, replayer); } /** @@ -847,8 +847,7 @@ public static Table timeTable(long periodNanos) { * @return time table */ public static Table timeTable(long periodNanos, ReplayerInterface replayer) { - return new TimeTable(UpdateGraphProcessor.DEFAULT, Replayer.getClock(replayer), - null, periodNanos, false); + return new TimeTable(UpdateGraphProcessor.DEFAULT, Replayer.getClock(replayer), null, periodNanos, false); } /** @@ -858,9 +857,8 @@ public static Table timeTable(long periodNanos, ReplayerInterface replayer) { * @param periodNanos time interval between new row additions in nanoseconds. * @return time table */ - public static Table timeTable(DateTime startTime, long periodNanos) { - return new TimeTable(UpdateGraphProcessor.DEFAULT, DateTimeUtils.currentClock(), - startTime, periodNanos, false); + public static Table timeTable(Instant startTime, long periodNanos) { + return new TimeTable(UpdateGraphProcessor.DEFAULT, DateTimeUtils.currentClock(), startTime, periodNanos, false); } /** @@ -871,9 +869,8 @@ public static Table timeTable(DateTime startTime, long periodNanos) { * @param replayer data replayer * @return time table */ - public static Table timeTable(DateTime startTime, long periodNanos, ReplayerInterface replayer) { - return new TimeTable(UpdateGraphProcessor.DEFAULT, Replayer.getClock(replayer), - startTime, periodNanos, false); + public static Table timeTable(Instant startTime, long periodNanos, ReplayerInterface replayer) { + return new TimeTable(UpdateGraphProcessor.DEFAULT, Replayer.getClock(replayer), startTime, periodNanos, false); } /** @@ -884,7 +881,7 @@ public static Table timeTable(DateTime startTime, long periodNanos, ReplayerInte * @return time table */ public static Table timeTable(String startTime, long periodNanos) { - return timeTable(DateTimeUtils.convertDateTime(startTime), periodNanos); + return timeTable(DateTimeUtils.parseInstant(startTime), periodNanos); } /** @@ -896,7 +893,7 @@ public static Table timeTable(String startTime, long periodNanos) { * @return time table */ public static Table timeTable(String startTime, long periodNanos, ReplayerInterface replayer) { - return timeTable(DateTimeUtils.convertDateTime(startTime), periodNanos, replayer); + return timeTable(DateTimeUtils.parseInstant(startTime), periodNanos, replayer); } /** @@ -907,7 +904,7 @@ public static Table timeTable(String startTime, long periodNanos, ReplayerInterf * @param periodNanos time interval between new row additions in nanoseconds. * @return time table */ - public static Table timeTable(Clock clock, DateTime startTime, long periodNanos) { + public static Table timeTable(Clock clock, Instant startTime, long periodNanos) { return new TimeTable(UpdateGraphProcessor.DEFAULT, clock, startTime, periodNanos, false); } @@ -1155,9 +1152,9 @@ public static String base64Fingerprint(Table source) throws IOException { private static void processColumnForFingerprint(RowSequence ok, ColumnSource col, DataOutputStream outputStream) throws IOException { - if (col.getType() == DateTime.class) { + if (col.getType() == Instant.class) { // noinspection unchecked - col = ReinterpretUtils.dateTimeToLongSource((ColumnSource) col); + col = ReinterpretUtils.instantToLongSource((ColumnSource) col); } final int chunkSize = 1 << 16; diff --git a/engine/table/src/main/java/io/deephaven/engine/util/WindowCheck.java b/engine/table/src/main/java/io/deephaven/engine/util/WindowCheck.java index 2dc30e37d48..c060997fbe7 100644 --- a/engine/table/src/main/java/io/deephaven/engine/util/WindowCheck.java +++ b/engine/table/src/main/java/io/deephaven/engine/util/WindowCheck.java @@ -24,7 +24,6 @@ import io.deephaven.engine.table.impl.sources.ReinterpretUtils; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.*; import io.deephaven.engine.table.impl.AbstractColumnSource; import io.deephaven.engine.table.ColumnSource; @@ -35,6 +34,7 @@ import io.deephaven.util.QueryConstants; import org.jetbrains.annotations.NotNull; +import java.time.Instant; import java.util.*; /** @@ -428,11 +428,11 @@ private static class InWindowColumnSource extends AbstractColumnSource super(Boolean.class); this.windowNanos = windowNanos; - final ColumnSource timeStampSource = table.getColumnSource(timestampColumn); - if (!DateTime.class.isAssignableFrom(timeStampSource.getType())) { - throw new IllegalArgumentException(timestampColumn + " is not of type DateTime!"); + final ColumnSource timeStampSource = table.getColumnSource(timestampColumn); + if (!Instant.class.isAssignableFrom(timeStampSource.getType())) { + throw new IllegalArgumentException(timestampColumn + " is not of type Instant!"); } - this.timeStampSource = ReinterpretUtils.dateTimeToLongSource(timeStampSource); + this.timeStampSource = ReinterpretUtils.instantToLongSource(timeStampSource); } /** diff --git a/engine/table/src/main/java/io/deephaven/engine/util/caching/C14nUtil.java b/engine/table/src/main/java/io/deephaven/engine/util/caching/C14nUtil.java index fca7ca27a35..ae401eed624 100644 --- a/engine/table/src/main/java/io/deephaven/engine/util/caching/C14nUtil.java +++ b/engine/table/src/main/java/io/deephaven/engine/util/caching/C14nUtil.java @@ -30,8 +30,8 @@ public class C14nUtil { String.class, CompressedString.class, - // DateTimes used in aggregations are most likely expirations. - // DateTime.class, + // Instants used in aggregations are most likely expirations. + // Instant.class, // If we're going to bother canonicalizing key members, we might as well do the keys themselves. // ArrayTuple.class diff --git a/engine/table/src/main/java/io/deephaven/stream/StreamToBlinkTableAdapter.java b/engine/table/src/main/java/io/deephaven/stream/StreamToBlinkTableAdapter.java index 7a8bcdef97a..61cd5e22441 100644 --- a/engine/table/src/main/java/io/deephaven/stream/StreamToBlinkTableAdapter.java +++ b/engine/table/src/main/java/io/deephaven/stream/StreamToBlinkTableAdapter.java @@ -16,7 +16,6 @@ import io.deephaven.engine.table.impl.TableUpdateImpl; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.updategraph.UpdateSourceRegistrar; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.ModifiedColumnSet; import io.deephaven.engine.table.impl.QueryTable; import io.deephaven.engine.table.impl.sources.*; @@ -213,10 +212,7 @@ private static SwitchColumnSource[] makeSwitchSources(TableDefinition definit new SwitchColumnSource<>(wrapped[ii], StreamToBlinkTableAdapter::maybeClearChunkColumnSource); final ColumnSource visibleSource; - if (columnDefinition.getDataType() == DateTime.class) { - // noinspection unchecked - visibleSource = new LongAsDateTimeColumnSource((ColumnSource) switchSource); - } else if (columnDefinition.getDataType() == Instant.class) { + if (columnDefinition.getDataType() == Instant.class) { // noinspection unchecked visibleSource = new LongAsInstantColumnSource((ColumnSource) switchSource); } else if (columnDefinition.getDataType() == Boolean.class) { @@ -238,7 +234,7 @@ private static void maybeClearChunkColumnSource(ColumnSource cs) { } /** - * We change the inner columns to long and byte for DateTime and Boolean, respectively. We expect our ingesters to + * We change the inner columns to long and byte for Instant and Boolean, respectively. We expect our ingesters to * pass us these primitive chunks for those types. * * @param columnType the type of the outer column @@ -246,7 +242,7 @@ private static void maybeClearChunkColumnSource(ColumnSource cs) { * @return the type of the inner column */ private static Class replacementType(Class columnType) { - if (columnType == DateTime.class || columnType == Instant.class) { + if (columnType == Instant.class) { return long.class; } else if (columnType == Boolean.class) { return byte.class; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/FuzzerTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/FuzzerTest.java index 9363ddeaf10..73de3720c1b 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/FuzzerTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/FuzzerTest.java @@ -15,7 +15,6 @@ import io.deephaven.plugin.type.ObjectTypeLookup.NoOp; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.util.GroovyDeephavenSession; import io.deephaven.engine.util.GroovyDeephavenSession.RunScripts; @@ -33,6 +32,7 @@ import java.io.IOException; import java.io.InputStream; import java.text.DecimalFormat; +import java.time.Instant; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -92,8 +92,9 @@ private void testFuzzerScriptFile(final long timeSeed, String s, boolean realtim groovyString = FileUtils.readTextFile(in); } - final DateTime fakeStart = DateTimeUtils.convertDateTime("2020-03-17T13:53:25.123456 NY"); - final TestClock clock = realtime ? null : new TestClock(fakeStart.getNanos()); + final Instant fakeStart = DateTimeUtils.parseInstant("2020-03-17T13:53:25.123456 NY"); + final TestClock clock; + clock = realtime ? null : new TestClock(DateTimeUtils.epochNanos(fakeStart)); final GroovyDeephavenSession session = getGroovySession(clock); @@ -211,8 +212,8 @@ private void runLargeFuzzerSetWithSeed(long mainTestSeed, int firstRun, int last final Random sourceRandom = new Random(mainTestSeed); final Random timeRandom = new Random(mainTestSeed + 1); - final DateTime fakeStart = DateTimeUtils.convertDateTime("2020-03-17T13:53:25.123456 NY"); - final TestClock clock = new TestClock(fakeStart.getNanos()); + final Instant fakeStart = DateTimeUtils.parseInstant("2020-03-17T13:53:25.123456 NY"); + final TestClock clock = new TestClock(DateTimeUtils.epochNanos(fakeStart)); final long start = System.currentTimeMillis(); @@ -279,8 +280,10 @@ private void runLargeFuzzerSetWithSeed(long mainTestSeed, int firstRun, int last final long loopEnd = System.currentTimeMillis(); System.out.println("Elapsed time: " + (loopEnd - start) + "ms, loop: " + (loopEnd - loopStart) + "ms" - + (realtime ? "" - : (", sim: " + (double) (clock.now - fakeStart.getNanos()) / DateTimeUtils.SECOND)) + + (realtime + ? "" + : (", sim: " + + (double) (clock.now - DateTimeUtils.epochNanos(fakeStart)) / DateTimeUtils.SECOND)) + ", ttSize: " + timeTable.size()); } diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/PartitionedTableTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/PartitionedTableTest.java index badb6d1af08..480eb4c7f3d 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/PartitionedTableTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/PartitionedTableTest.java @@ -826,7 +826,7 @@ public void testSnapshotWhen() { getRandomIntCol("e", 100, random)); final PartitionedTable partitionedTable = testTable.partitionBy("c"); final Proxy selfPtProxy = partitionedTable.proxy(); - final Table triggerTable = timeTable("00:00:01"); + final Table triggerTable = timeTable("PT00:00:01"); final Proxy ptProxy = selfPtProxy.snapshotWhen(triggerTable); assertThat(ptProxy.target().constituentDefinition().numColumns()).isEqualTo(6); for (Table constituent : ptProxy.target().constituents()) { diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryFactory.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryFactory.java index 8e8f7f440a3..cbaacb7dd4d 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryFactory.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryFactory.java @@ -3,8 +3,7 @@ */ package io.deephaven.engine.table.impl; -import io.deephaven.time.DateTime; - +import java.time.Instant; import java.util.*; import java.util.stream.Collectors; @@ -55,7 +54,8 @@ public class QueryFactory { private static final String[] DEFAULT_COLUMN_NAMES = {"Timestamp", "MyString", "MyInt", "MyLong", "MyFloat", "MyDouble", "MyBoolean", "MyChar", "MyShort", "MyByte", "MyBigDecimal", "MyBigInteger"}; private static final Class[] DEFAULT_COLUMN_TYPES = - {DateTime.class, String.class, Integer.class, Long.class, Float.class, Double.class, Boolean.class, + { + Instant.class, String.class, Integer.class, Long.class, Float.class, Double.class, Boolean.class, Character.class, short.class, byte.class, java.math.BigDecimal.class, java.math.BigInteger.class}; // Copy and modify this block of code if you want to disable an operation. private static final String[] IMPLEMENTED_OPS = {"where", "merge", "flatten", "slice", "head", "tail", "headPct", @@ -663,7 +663,7 @@ private String createWhereFilter(Random random) { StringBuilder filter = new StringBuilder(); switch (columnTypes[colNum].getSimpleName()) { - case "DateTime": + case "Instant": filter.append(colName).append(" > ").append(random.nextInt(1000) * 1_000_000_000L); break; @@ -825,7 +825,7 @@ public String getTablePreamble(Long tableSeed) { "\tSystem.out.println(\"column: \"+colNum+\"[Seed] \" + seed);\n" + "\tcolumnRandoms[colNum] = new Random(seed);\n" + "}\n\n" + - "tt = timeTable(\"00:00:00.1\");" + + "tt = timeTable(\"PT00:00:00.1\");" + "tickingValues = tt.update(\n" + "\"MyString=new String(`a`+i)\",\n" + "\"MyInt=new Integer(i)\",\n" + @@ -850,7 +850,8 @@ public String getTablePreamble(Long tableSeed) { "}\n" + "\n" + "randomValues = emptyTable(size)\n" + - ".update(\"Timestamp= i%nullPoints[0] == 0 ? null : new DateTime(i*1_000_000_000L)\")\n" + + ".update(\"Timestamp= i%nullPoints[0] == 0 ? null : DateTimeUtils.epochNanosToInstant(i*1_000_000_000L)\")\n" + + ".update(\"MyString=(i%nullPoints[1] == 0 ? null : `a`+ (columnRandoms[0].nextInt(scale*2) - scale) )\",\n" + "\"MyInt=(i%nullPoints[2] == 0 ? null : columnRandoms[1].nextInt(scale*2) - scale )\",\n" + diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAggregationTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAggregationTest.java index 3aca62388c3..99d0c1de0ca 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAggregationTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAggregationTest.java @@ -11,7 +11,6 @@ import io.deephaven.chunk.util.pools.ChunkPoolReleaseTracking; import io.deephaven.datastructures.util.CollectionUtil; import io.deephaven.engine.context.QueryScope; -import io.deephaven.engine.liveness.LivenessScope; import io.deephaven.engine.liveness.LivenessScopeStack; import io.deephaven.engine.rowset.RowSet; import io.deephaven.engine.rowset.RowSetFactory; @@ -38,7 +37,6 @@ import io.deephaven.engine.testutil.junit4.EngineCleanup; import io.deephaven.qst.table.AggregateAllTable; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import io.deephaven.util.SafeCloseable; @@ -51,7 +49,6 @@ import org.junit.*; import org.junit.experimental.categories.Category; -import java.io.IOException; import java.lang.reflect.Array; import java.math.BigDecimal; import java.math.BigInteger; @@ -153,7 +150,7 @@ public void testStaticNoKeyByWithChunks() { @Test public void testStaticReinterpretableKeyByWithChunks() { final String nowName = "__now_" + Thread.currentThread().hashCode() + "__"; - QueryScope.addParam(nowName, DateTime.now()); + QueryScope.addParam(nowName, DateTimeUtils.now()); final Table input = emptyTable(10000).update("A=ii % 100 == 0 ? null : plus(" + nowName + ", (long) (ii / 5))", "B=ii % 100 == 0 ? null : (ii & 1) == 0"); @@ -272,7 +269,7 @@ public void testIncrementalByDownstreamFromMerge() { final long mergeChunkMultiple = UnionRedirection.ALLOCATION_UNIT_ROW_KEYS; final String nowName = "__now_" + Thread.currentThread().hashCode() + "__"; - QueryScope.addParam(nowName, DateTime.now()); + QueryScope.addParam(nowName, DateTimeUtils.now()); final String tableIndexName = "__tableIndex_" + Thread.currentThread().hashCode() + "__"; final QueryTable[] parents = IntStream.range(0, 20).mapToObj((final int tableIndex) -> { @@ -321,10 +318,10 @@ public boolean shouldProbeShift(long shiftSize, int numStates) { incrementalByEvalNugget(controlSize8, merged, "TimeCol"), incrementalByEvalNugget(controlShiftByProbing, merged, "TimeCol"), incrementalByEvalNugget(controlSize8, - (QueryTable) merged.updateView("TimeCol=isNull(TimeCol) ? NULL_LONG : TimeCol.getNanos()"), + (QueryTable) merged.updateView("TimeCol=isNull(TimeCol) ? NULL_LONG : epochNanos(TimeCol)"), "TimeCol"), incrementalByEvalNugget( - (QueryTable) merged.updateView("TimeCol=isNull(TimeCol) ? NULL_LONG : TimeCol.getNanos()"), + (QueryTable) merged.updateView("TimeCol=isNull(TimeCol) ? NULL_LONG : epochNanos(TimeCol)"), "TimeCol"), incrementalByEvalNugget(controlSize8, merged, "StrCol", "IntCol"), @@ -858,8 +855,8 @@ public void testKeyColumnTypes() { new String[] {"Sym", "Date", "intCol", "doubleCol", "BooleanCol", "ByteCol", "CharCol", "ShortCol", "FloatCol", "LongCol", "BigDecimalCol", "NonKey"}, new SetGenerator<>("aa", "bb", "bc", "cc", "dd"), - new UnsortedDateTimeLongGenerator(DateTimeUtils.convertDateTime("2018-10-15T09:30:00 NY"), - DateTimeUtils.convertDateTime("2018-10-15T16:00:00 NY")), + new UnsortedInstantLongGenerator(DateTimeUtils.parseInstant("2018-10-15T09:30:00 NY"), + DateTimeUtils.parseInstant("2018-10-15T16:00:00 NY")), new IntGenerator(0, 100), new DoubleGenerator(0, 100), new BooleanGenerator(), @@ -1392,8 +1389,8 @@ private void testMinMaxByStatic(int size, boolean lotsOfStrings) { new BooleanGenerator(0.5, 0.1), new BigIntegerGenerator(0.1), new BigDecimalGenerator(0.1), - new UnsortedDateTimeGenerator(DateTimeUtils.convertDateTime("2019-12-17T00:00:00 NY"), - DateTimeUtils.convertDateTime("2019-12-17T23:59:59 NY"), 0.1), + new UnsortedInstantGenerator(DateTimeUtils.parseInstant("2019-12-17T00:00:00 NY"), + DateTimeUtils.parseInstant("2019-12-17T23:59:59 NY"), 0.1), new BooleanGenerator(0.4, 0.1))); if (RefreshingTableTestCase.printTableUpdates) { @@ -2307,8 +2304,8 @@ private void testMinMaxByIncremental(int size, int seed) { new ShortGenerator((short) 10, (short) 100, 0.1), new ByteGenerator((byte) 10, (byte) 100, 0.1), new SetGenerator<>(10.1, 20.1, 30.1), - new UnsortedDateTimeGenerator(DateTimeUtils.convertDateTime("2020-01-01T00:00:00 NY"), - DateTimeUtils.convertDateTime("2020-01-25T00:00:00 NY")), + new UnsortedInstantGenerator(DateTimeUtils.parseInstant("2020-01-01T00:00:00 NY"), + DateTimeUtils.parseInstant("2020-01-25T00:00:00 NY")), new BooleanGenerator(0.4, 0.2), new DoubleGenerator(Double.MIN_NORMAL, Double.MIN_NORMAL, 0.05, 0.05), new FloatGenerator(Float.MIN_NORMAL, Float.MIN_NORMAL, 0.05, 0.05))); @@ -2876,9 +2873,10 @@ public void testMedianTypes() { final Map expectedResults = new HashMap<>(); expectedResults.put("Timestamp", - new Object[] {DateTimeUtils.convertDateTime("2020-03-14T00:01:00 NY"), - DateTimeUtils.convertDateTime("2020-03-14T00:05:00 NY"), - DateTimeUtils.convertDateTime("2020-03-14T00:08:00 NY")}); + new Object[] { + DateTimeUtils.parseInstant("2020-03-14T00:01:00 NY"), + DateTimeUtils.parseInstant("2020-03-14T00:05:00 NY"), + DateTimeUtils.parseInstant("2020-03-14T00:08:00 NY")}); expectedResults.put("MyString", new Object[] {"1", "5", "8"}); expectedResults.put("MyInt", new Object[] {1, 4.5, 8}); expectedResults.put("MyLong", new Object[] {1L, 4.5, 8L}); @@ -3246,7 +3244,7 @@ public void testIds5942() { final Table randomValues = emptyTable(100) .update("MyInt=(i%12==0 ? null : (int)(ids5942_scale*(Math.random()*2-1)))", "MyBoolean=i%3==0 ? null : (i % 3 == 1)", - "MyDateTime=new DateTime(DateTimeUtils.convertDateTime(\"2020-01-28T00:00:00 NY\").getNanos() + 1000000000L * i)", + "MyInstant=epochNanosToInstant(epochNanos(parseInstant(\"2020-01-28T00:00:00 NY\")) + 1000000000L * i)", "MyBigDecimal=(i%21==0 ? null : new java.math.BigDecimal(ids5942_scale*(Math.random()*2-1)))", "MyBigInteger=(i%22==0 ? null : new java.math.BigInteger(Integer.toString((int)(ids5942_scale*(Math.random()*2-1)))))"); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAjTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAjTest.java index 7b6877520b2..02cfff526f0 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAjTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAjTest.java @@ -20,7 +20,6 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.table.impl.select.MatchPairFactory; import io.deephaven.engine.context.QueryScope; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.liveness.LivenessScopeStack; import io.deephaven.engine.testutil.QueryTableTestBase.JoinIncrement; @@ -32,6 +31,7 @@ import junit.framework.TestCase; import org.jetbrains.annotations.NotNull; +import java.time.Instant; import java.util.Arrays; import java.util.Collections; import java.util.Map; @@ -210,8 +210,8 @@ public void testAjBoolean() { @Test public void testAjDateTime() { - final DateTime first = DateTimeUtils.convertDateTime("2019-06-14T08:30:00 NY"); - final DateTime second = DateTimeUtils.convertDateTime("2019-06-14T19:30:00 NY"); + final Instant first = DateTimeUtils.parseInstant("2019-06-14T08:30:00 NY"); + final Instant second = DateTimeUtils.parseInstant("2019-06-14T19:30:00 NY"); final Table left = TableTools.newTable( col("Bucket", "A", "A", "B", "A", "B", "C", "C", "A"), @@ -1326,8 +1326,8 @@ public void testIds5293() { try { final Table staticOne = emptyTable(size) - .update("Timestamp= i%23 == 0 ? null : new DateTime(timeOffset + (long)(scale*(Math.random()*2-0.1))*100_000_000L)", - "OtherTimestamp= i%24 == 0 ? null : new DateTime(timeOffset + (long)(scale*(Math.random()*2-0.05))*100_000_000L)", + .update("Timestamp= i%23 == 0 ? null : DateTimeUtils.epochNanosToInstant(timeOffset + (long)(scale*(Math.random()*2-0.1))*100_000_000L)", + "OtherTimestamp= i%24 == 0 ? null : DateTimeUtils.epochNanosToInstant(timeOffset + (long)(scale*(Math.random()*2-0.05))*100_000_000L)", "MyString=(i%11==0? null : `a`+(int)(scale*(Math.random()*2-1)))", "MyInt=(i%12==0 ? null : (int)(scale*(Math.random()*2-1)))", "MyLong=(i%13==0 ? null : (long)(scale*(Math.random()*2-1)))", @@ -1341,8 +1341,8 @@ public void testIds5293() { "MyBigInteger=(i%22==0 ? null : new java.math.BigInteger(Integer.toString((int)(scale*(Math.random()*2-1)))))"); final Table staticTwo = emptyTable(size) - .update("Timestamp= i%23 == 0 ? null : new DateTime(timeOffset + (long)(scale*(Math.random()*2-0.1))*100_000_000L)", - "OtherTimestamp= i%24 == 0 ? null : new DateTime(timeOffset + (long)(scale*(Math.random()*2-0.05))*100_000_000L)", + .update("Timestamp= i%23 == 0 ? null : DateTimeUtils.epochNanosToInstant(timeOffset + (long)(scale*(Math.random()*2-0.1))*100_000_000L)", + "OtherTimestamp= i%24 == 0 ? null : DateTimeUtils.epochNanosToInstant(timeOffset + (long)(scale*(Math.random()*2-0.05))*100_000_000L)", "MyString=(i%11==0? null : `a`+(int)(scale*(Math.random()*2-1)))", "MyInt=(i%12==0 ? null : (int)(scale*(Math.random()*2-1)))", "MyLong=(i%13==0 ? null : (long)(scale*(Math.random()*2-1)))", diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableJoinTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableJoinTest.java index b013860cc98..dc010c5d713 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableJoinTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableJoinTest.java @@ -9,8 +9,7 @@ import io.deephaven.engine.testutil.generator.IntGenerator; import io.deephaven.engine.testutil.generator.SetGenerator; import io.deephaven.engine.testutil.generator.SortedIntGenerator; -import io.deephaven.engine.testutil.generator.UnsortedDateTimeGenerator; -import io.deephaven.time.DateTime; +import io.deephaven.engine.testutil.generator.UnsortedInstantGenerator; import io.deephaven.time.DateTimeFormatter; import io.deephaven.time.DateTimeUtils; import io.deephaven.vector.IntVector; @@ -25,6 +24,7 @@ import io.deephaven.engine.util.TableTools; import java.text.ParseException; +import java.time.Instant; import java.time.ZoneId; import java.util.Arrays; import java.util.Random; @@ -240,20 +240,20 @@ private void testAjIncremental(int leftSize, int rightSize, QueryTableTestBase.J final Random random = new Random(seed); QueryScope.addParam("f", new DateTimeFormatter("dd HH:mm:ss")); - final DateTime start = DateTimeUtils.toDateTime( - DateTimeUtils.convertDate("2011-02-02").atStartOfDay().atZone(ZoneId.of("America/New_York"))); - final DateTime end = DateTimeUtils.toDateTime( - DateTimeUtils.convertDate("2011-02-03").atStartOfDay().atZone(ZoneId.of("America/New_York"))); + final Instant start = DateTimeUtils.parseLocalDate("2011-02-02").atStartOfDay() + .atZone(ZoneId.of("America/New_York")).toInstant(); + final Instant end = DateTimeUtils.parseLocalDate("2011-02-03").atStartOfDay() + .atZone(ZoneId.of("America/New_York")).toInstant(); final ColumnInfo[] leftColumnInfo; final QueryTable leftTable = getTable(leftSize, random, leftColumnInfo = initColumnInfos(new String[] {"Date", "C1", "C2"}, - new UnsortedDateTimeGenerator(start, end), + new UnsortedInstantGenerator(start, end), new SetGenerator<>("a", "b"), new SetGenerator<>(10, 20, 30))); final ColumnInfo[] rightColumnInfo; final QueryTable rightTable = getTable(rightSize, random, rightColumnInfo = initColumnInfos(new String[] {"Date", "C1", "C2"}, - new UnsortedDateTimeGenerator(start, end), + new UnsortedInstantGenerator(start, end), new SetGenerator<>("a", "b", "c"), new SetGenerator<>(20, 30, 40))); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableNaturalJoinTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableNaturalJoinTest.java index 3e59a74c830..d236760cf9b 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableNaturalJoinTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableNaturalJoinTest.java @@ -26,7 +26,6 @@ import io.deephaven.engine.util.TableTools; import io.deephaven.parquet.table.ParquetTools; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import junit.framework.TestCase; @@ -37,6 +36,7 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; +import java.time.Instant; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -523,15 +523,15 @@ public void testNaturalJoinDuplicateReinterpret() { private void testNaturalJoinDuplicateRightReinterpret(boolean leftRefreshing, boolean rightRefreshing) { // build from right - final DateTime dateTimeA = DateTimeUtils.convertDateTime("2022-05-06T09:30:00 NY"); - final DateTime dateTimeB = DateTimeUtils.convertDateTime("2022-05-06T09:31:00 NY"); - final DateTime dateTimeC = DateTimeUtils.convertDateTime("2022-05-06T09:32:00 NY"); - final DateTime dateTimeD = DateTimeUtils.convertDateTime("2022-05-06T09:33:00 NY"); - final QueryTable left = testTable(col("JK1", false, null, true), col("JK2", dateTimeA, dateTimeA, dateTimeA), + final Instant instantA = DateTimeUtils.parseInstant("2022-05-06T09:30:00 NY"); + final Instant instantB = DateTimeUtils.parseInstant("2022-05-06T09:31:00 NY"); + final Instant instantC = DateTimeUtils.parseInstant("2022-05-06T09:32:00 NY"); + final Instant instantD = DateTimeUtils.parseInstant("2022-05-06T09:33:00 NY"); + final QueryTable left = testTable(col("JK1", false, null, true), col("JK2", instantA, instantA, instantA), col("LeftSentinel", 1, 2, 3)); left.setRefreshing(leftRefreshing); final QueryTable right = - testTable(col("JK1", true, true), col("JK2", dateTimeA, dateTimeA), col("RightSentinel", 10, 11)); + testTable(col("JK1", true, true), col("JK2", instantA, instantA), col("RightSentinel", 10, 11)); right.setRefreshing(rightRefreshing); try { @@ -539,32 +539,32 @@ private void testNaturalJoinDuplicateRightReinterpret(boolean leftRefreshing, bo TableTools.showWithRowSet(cj); fail("Expected exception."); } catch (IllegalStateException e) { - assertEquals(dupMsg + "[true, " + dateTimeA + "]", e.getMessage()); + assertEquals(dupMsg + "[true, " + instantA + "]", e.getMessage()); } // build from left - final Table left2 = testTable(col("DT", dateTimeA, dateTimeB), col("LeftSentinel", 1, 2)); - final Table right2 = newTable(col("DT", dateTimeA, dateTimeA, dateTimeB, dateTimeC, dateTimeD), + final Table left2 = testTable(col("DT", instantA, instantB), col("LeftSentinel", 1, 2)); + final Table right2 = newTable(col("DT", instantA, instantA, instantB, instantC, instantD), col("RightSentinel", 10, 11, 12, 13, 14)); try { final Table cj2 = left2.naturalJoin(right2, "DT"); TableTools.showWithRowSet(cj2); fail("Expected exception"); } catch (IllegalStateException e) { - assertEquals(dupMsg + dateTimeA, e.getMessage()); + assertEquals(dupMsg + instantA, e.getMessage()); } } private final static String dupMsg = "Natural Join found duplicate right key for "; - private static DateTime makeDateTimeKey(String a) { - final DateTime dateTimeA = DateTimeUtils.convertDateTime("2022-05-06T09:30:00 NY"); - final DateTime dateTimeB = DateTimeUtils.convertDateTime("2022-05-06T09:31:00 NY"); + private static Instant makeInstantKey(String a) { + final Instant instantA = DateTimeUtils.parseInstant("2022-05-06T09:30:00 NY"); + final Instant instantB = DateTimeUtils.parseInstant("2022-05-06T09:31:00 NY"); switch (a) { case "A": - return dateTimeA; + return instantA; case "B": - return dateTimeB; + return instantB; default: throw new IllegalStateException(); } @@ -576,7 +576,7 @@ private static Table castSymbol(Class clazz, Table table) { public void testNaturalJoinDuplicateRightsRefreshingRight() { testNaturalJoinDuplicateRightsRefreshingRight(String.class, Function.identity()); - testNaturalJoinDuplicateRightsRefreshingRight(DateTime.class, QueryTableNaturalJoinTest::makeDateTimeKey); + testNaturalJoinDuplicateRightsRefreshingRight(Instant.class, QueryTableNaturalJoinTest::makeInstantKey); } private void testNaturalJoinDuplicateRightsRefreshingRight(Class clazz, Function makeKey) { @@ -622,7 +622,7 @@ private void testNaturalJoinDuplicateRightsRefreshingRight(Class clazz, F public void testNaturalJoinDuplicateRightsRefreshingBoth() { testNaturalJoinDuplicateRightsRefreshingBoth(String.class, Function.identity()); - testNaturalJoinDuplicateRightsRefreshingBoth(DateTime.class, QueryTableNaturalJoinTest::makeDateTimeKey); + testNaturalJoinDuplicateRightsRefreshingBoth(Instant.class, QueryTableNaturalJoinTest::makeInstantKey); } private void testNaturalJoinDuplicateRightsRefreshingBoth(Class clazz, Function makeKey) { @@ -671,8 +671,8 @@ public void testNaturalJoinReinterprets() { TableTools.showWithRowSet(cj); assertEquals(new int[] {10, 11, 12, 10}, intColumn(cj, "RightSentinel")); - final DateTime time1 = DateTimeUtils.convertDateTime("2019-05-10T09:45:00 NY"); - final DateTime time2 = DateTimeUtils.convertDateTime("2019-05-10T21:45:00 NY"); + final Instant time1 = DateTimeUtils.parseInstant("2019-05-10T09:45:00 NY"); + final Instant time2 = DateTimeUtils.parseInstant("2019-05-10T21:45:00 NY"); final Table left2 = testTable(col("JDate", time1, time2, null, time2), col("LeftSentinel", 1, 2, 3, 4)); final Table right2 = newTable(col("JDate", time2, time1, null), col("RightSentinel", 10, 11, 12)); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableRangeJoinTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableRangeJoinTest.java index a4a8ef9ab7f..ddf0ccc854c 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableRangeJoinTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableRangeJoinTest.java @@ -18,7 +18,6 @@ import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.junit4.EngineCleanup; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; import org.jetbrains.annotations.NotNull; import org.junit.After; import org.junit.Before; @@ -28,6 +27,7 @@ import org.opentest4j.AssertionFailedError; import java.lang.reflect.Array; +import java.time.Instant; import java.util.*; import static io.deephaven.api.agg.Aggregation.*; @@ -207,7 +207,7 @@ private static void expectException( // endregion validation tests - private static final DateTime NOW = DateTime.now(); + private static final Instant NOW = Instant.now(); private enum Type { // @formatter:off @@ -232,10 +232,10 @@ private enum Type { DOUBLE("double", "io.deephaven.vector.DoubleVectorDirect.ZERO_LENGTH_VECTOR", new double[]{NULL_DOUBLE, -1, 1, 3, 5, 7, 9, Double.NaN}, new double[]{NULL_DOUBLE, 0, 1, 2, 4, 5, 6, 7, 8, Double.NaN}), - TIMESTAMP( "DateTime", "io.deephaven.vector.ObjectVectorDirect.empty()", - new DateTime[]{null, minus(NOW, 1), plus(NOW, 1), plus(NOW, 3), plus(NOW, 5), plus(NOW, 7), + TIMESTAMP("Instant", "io.deephaven.vector.ObjectVectorDirect.empty()", + new Instant[]{null, minus(NOW, 1), plus(NOW, 1), plus(NOW, 3), plus(NOW, 5), plus(NOW, 7), plus(NOW, 9)}, - new DateTime[]{null, NOW, plus(NOW, 1), plus(NOW, 2), plus(NOW, 4), plus(NOW, 5), + new Instant[]{null, NOW, plus(NOW, 1), plus(NOW, 2), plus(NOW, 4), plus(NOW, 5), plus(NOW, 6), plus(NOW, 7), plus(NOW, 8)}), STRING("String", "io.deephaven.vector.ObjectVectorDirect.empty()", new String[]{null, ">?@", "DEF", "IJK", "OPQ", "UVW", "[\\]"}, diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableSelectUpdateTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableSelectUpdateTest.java index 1370dff5998..71bf8abb4ea 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableSelectUpdateTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableSelectUpdateTest.java @@ -651,13 +651,13 @@ private void testUpdateIncremental(final int seed, MutableInt numSteps) { EvalNugget.from(() -> queryTable.select("intCol = intCol/2")), EvalNugget.from(() -> queryTable.update("newCol = `` + intCol/2")), EvalNugget.from(() -> queryTable.update("newCol = intCol > 50")), - // Let's create a datetime and use it as an override + // Let's create an Instant and use it as an override partialEvalNuggetFrom(queryTable, false, - () -> queryTable.update("Time = new DateTime(0) + intCol * MINUTE") + () -> queryTable.update("Time = DateTimeUtils.epochNanosToInstant(0) + intCol * MINUTE") .update("Diff = Time_[i]")), partialEvalNuggetFrom(queryTable, true, - () -> queryTable.select("Time = new DateTime(0) + intCol * MINUTE").select("Time", - "Diff = Time_[i]")), + () -> queryTable.select("Time = DateTimeUtils.epochNanosToInstant(0) + intCol * MINUTE") + .select("Time", "Diff = Time_[i]")), }; final int maxSteps = numSteps.intValue(); @@ -1056,7 +1056,7 @@ public void testFlattenSelect() { @Test public void testStaticSelectFlattenDateTimeCol() { - final Table input = emptyTable(10).view("A=ii", "B = DateTime.now()").where("A % 2 == 0"); + final Table input = emptyTable(10).view("A=ii", "B = DateTimeUtils.now()").where("A % 2 == 0"); final Table output = input.select("B"); Assert.assertEquals(5, output.size()); Assert.assertTrue(output.isFlat()); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableSortTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableSortTest.java index 6ae2375c7c6..17ea4bdb876 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableSortTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableSortTest.java @@ -18,7 +18,6 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.context.QueryScope; -import io.deephaven.time.DateTime; import io.deephaven.parquet.table.ParquetTools; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.table.impl.select.IncrementalReleaseFilter; @@ -32,6 +31,7 @@ import java.io.IOException; import java.math.BigInteger; import java.nio.file.Files; +import java.time.Instant; import java.util.*; import java.util.function.Consumer; import java.util.function.LongUnaryOperator; @@ -782,7 +782,7 @@ private void diskBackedTestHarness(Consumer testFunction) throws IOExcept ColumnDefinition.ofBoolean("Truthiness")); final String[] syms = new String[] {"Apple", "Banana", "Cantaloupe"}; - final DateTime baseTime = DateTimeUtils.convertDateTime("2019-04-11T09:30 NY"); + final Instant baseTime = DateTimeUtils.parseInstant("2019-04-11T09:30 NY"); final long[] dateOffset = new long[] {0, 5, 10, 15, 1, 6, 11, 16, 2, 7}; final Boolean[] booleans = new Boolean[] {true, false, null, true, false, null, true, false, null, true, false}; QueryScope.addParam("syms", syms); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableTest.java index c36b277dec4..fbd9161de51 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableTest.java @@ -26,7 +26,7 @@ import io.deephaven.engine.table.impl.select.MatchFilter.CaseSensitivity; import io.deephaven.engine.table.impl.select.MatchFilter.MatchType; import io.deephaven.engine.table.impl.sources.DeferredGroupingColumnSource; -import io.deephaven.engine.table.impl.sources.LongAsDateTimeColumnSource; +import io.deephaven.engine.table.impl.sources.LongAsInstantColumnSource; import io.deephaven.engine.table.impl.util.BarrageMessage; import io.deephaven.engine.table.impl.util.ColumnHolder; import io.deephaven.engine.testutil.*; @@ -37,7 +37,6 @@ import io.deephaven.engine.util.TableTools; import io.deephaven.parquet.table.ParquetTools; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import io.deephaven.util.SafeCloseable; @@ -55,6 +54,7 @@ import java.nio.file.Files; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.Instant; import java.util.*; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; @@ -445,11 +445,13 @@ public void testView1() { } public void testReinterpret() { - final Table source = emptyTable(5).select("dt = nanosToTime(ii)", "n = ii"); - final Table result = source.dateTimeColumnAsNanos("dt"); + final Table source = emptyTable(5).select("dt = epochNanosToInstant(ii)", "n = ii"); + final Table result = source.updateView(List.of( + new ReinterpretedColumn<>("dt", Instant.class, "dt", long.class))); assertEquals((long[]) result.getColumn(0).getDirect(), LongStream.range(0, 5).toArray()); - final Table reflexive = result.view(List.of(new ReinterpretedColumn<>("dt", long.class, "dt", DateTime.class))); - assertTableEquals(reflexive, source.dropColumns("n")); + final Table reflexive = result.updateView(List.of( + new ReinterpretedColumn<>("dt", long.class, "dt", Instant.class))); + assertTableEquals(reflexive, source); final Table sortedSource = source.sortDescending("dt").dropColumns("dt"); final Table sortedResult = result.sortDescending("dt").dropColumns("dt"); assertTableEquals(sortedResult, sortedSource); @@ -833,60 +835,60 @@ public void testDoubleRangeFilter() { } } - public void testDateTimeRangeFilter() { + public void testInstantRangeFilter() { Function filter = ConditionFilter::createConditionFilter; final Random random = new Random(0); final int size = 500; - final DateTime startTime = DateTimeUtils.convertDateTime("2019-04-30T16:00:00 NY"); - final DateTime endTime = DateTimeUtils.convertDateTime("2019-04-30T16:01:00 NY"); + final Instant startTime = DateTimeUtils.parseInstant("2019-04-30T16:00:00 NY"); + final Instant endTime = DateTimeUtils.parseInstant("2019-04-30T16:01:00 NY"); final ColumnInfo[] columnInfo; final QueryTable table = getTable(size, random, columnInfo = initColumnInfos(new String[] {"Timestamp", "Ts2", "Sentinel"}, - new UnsortedDateTimeGenerator(startTime, endTime), - new UnsortedDateTimeLongGenerator(startTime, endTime), + new UnsortedInstantGenerator(startTime, endTime), + new UnsortedInstantLongGenerator(startTime, endTime), new IntGenerator(0, 1000))); - final DateTime lower = DateTimeUtils.plus(startTime, DateTimeUtils.SECOND); - final DateTime upper = DateTimeUtils.plus(startTime, DateTimeUtils.SECOND * 2); + final Instant lower = DateTimeUtils.plus(startTime, DateTimeUtils.SECOND); + final Instant upper = DateTimeUtils.plus(startTime, DateTimeUtils.SECOND * 2); final EvalNuggetInterface[] en = new EvalNuggetInterface[] { new TableComparator( table.where(filter.apply( "Timestamp >= '" + lower.toString() + "' && Timestamp <= '" + upper.toString() + "'")), - "Condition", table.where(new DateTimeRangeFilter("Timestamp", lower, upper, true, true)), + "Condition", table.where(new InstantRangeFilter("Timestamp", lower, upper, true, true)), "Range"), new TableComparator( table.where(filter.apply( "Timestamp >= '" + lower.toString() + "' && Timestamp < '" + upper.toString() + "'")), - table.where(new DateTimeRangeFilter("Timestamp", lower, upper, true, false))), + table.where(new InstantRangeFilter("Timestamp", lower, upper, true, false))), new TableComparator( table.where(filter.apply( "Timestamp > '" + lower.toString() + "' && Timestamp <= '" + upper.toString() + "'")), - table.where(new DateTimeRangeFilter("Timestamp", lower, upper, true, true))), + table.where(new InstantRangeFilter("Timestamp", lower, upper, true, true))), new TableComparator( table.where(filter.apply( "Timestamp > '" + lower.toString() + "' && Timestamp < '" + upper.toString() + "'")), - table.where(new DateTimeRangeFilter("Timestamp", lower, upper, false, false))), + table.where(new InstantRangeFilter("Timestamp", lower, upper, false, false))), new TableComparator( table.where( filter.apply("Ts2 >= '" + lower.toString() + "' && Ts2 <= '" + upper.toString() + "'")), - "Condition", table.where(new DateTimeRangeFilter("Ts2", lower, upper, true, true)), "Range"), + "Condition", table.where(new InstantRangeFilter("Ts2", lower, upper, true, true)), "Range"), new TableComparator( table.where( filter.apply("Ts2 >= '" + lower.toString() + "' && Ts2 < '" + upper.toString() + "'")), - table.where(new DateTimeRangeFilter("Ts2", lower, upper, true, false))), + table.where(new InstantRangeFilter("Ts2", lower, upper, true, false))), new TableComparator( table.where( filter.apply("Ts2 > '" + lower.toString() + "' && Ts2 <= '" + upper.toString() + "'")), - table.where(new DateTimeRangeFilter("Ts2", lower, upper, true, true))), + table.where(new InstantRangeFilter("Ts2", lower, upper, true, true))), new TableComparator( table.where( filter.apply("Ts2 > '" + lower.toString() + "' && Ts2 < '" + upper.toString() + "'")), - table.where(new DateTimeRangeFilter("Ts2", lower, upper, false, false))) + table.where(new InstantRangeFilter("Ts2", lower, upper, false, false))) }; for (int i = 0; i < 500; i++) { @@ -894,42 +896,42 @@ public void testDateTimeRangeFilter() { } } - public void testDateTimeRangeFilterNulls() { + public void testInstantRangeFilterNulls() { final Function filter = ConditionFilter::createConditionFilter; final Random random = new Random(0); final int size = 500; - final DateTime startTime = DateTimeUtils.convertDateTime("2019-04-30T16:00:00 NY"); - final DateTime endTime = DateTimeUtils.convertDateTime("2019-04-30T16:01:00 NY"); + final Instant startTime = DateTimeUtils.parseInstant("2019-04-30T16:00:00 NY"); + final Instant endTime = DateTimeUtils.parseInstant("2019-04-30T16:01:00 NY"); final ColumnInfo[] columnInfo; final QueryTable table = getTable(size, random, columnInfo = initColumnInfos(new String[] {"Timestamp", "Sentinel"}, - new UnsortedDateTimeGenerator(startTime, endTime, 0.1), + new UnsortedInstantGenerator(startTime, endTime, 0.1), new IntGenerator(0, 1000))); - final DateTime lower = DateTimeUtils.plus(startTime, DateTimeUtils.SECOND); - final DateTime upper = DateTimeUtils.plus(startTime, DateTimeUtils.SECOND * 2); + final Instant lower = DateTimeUtils.plus(startTime, DateTimeUtils.SECOND); + final Instant upper = DateTimeUtils.plus(startTime, DateTimeUtils.SECOND * 2); final EvalNuggetInterface[] en = new EvalNuggetInterface[] { new TableComparator( table.where(filter.apply( "Timestamp >= '" + lower.toString() + "' && Timestamp <= '" + upper.toString() + "'")), - "Condition", table.where(new DateTimeRangeFilter("Timestamp", lower, upper, true, true)), + "Condition", table.where(new InstantRangeFilter("Timestamp", lower, upper, true, true)), "Range"), new TableComparator( table.where(filter.apply( "Timestamp >= '" + lower.toString() + "' && Timestamp < '" + upper.toString() + "'")), - table.where(new DateTimeRangeFilter("Timestamp", lower, upper, true, false))), + table.where(new InstantRangeFilter("Timestamp", lower, upper, true, false))), new TableComparator( table.where(filter.apply( "Timestamp > '" + lower.toString() + "' && Timestamp <= '" + upper.toString() + "'")), - table.where(new DateTimeRangeFilter("Timestamp", lower, upper, true, true))), + table.where(new InstantRangeFilter("Timestamp", lower, upper, true, true))), new TableComparator( table.where(filter.apply( "Timestamp > '" + lower.toString() + "' && Timestamp < '" + upper.toString() + "'")), - table.where(new DateTimeRangeFilter("Timestamp", lower, upper, false, false))), + table.where(new InstantRangeFilter("Timestamp", lower, upper, false, false))), }; for (int i = 0; i < 500; i++) { @@ -2244,15 +2246,15 @@ static void testShiftingModifications(UnaryOperator function) { simpleListener.close(); } - public void testDateTimeColumns() { + public void testInstantColumns() { final QueryTable queryTable = testRefreshingTable( col("Sym", "aa", "bc", "aa", "aa"), - col("Timestamp", DateTimeUtils.currentTime(), - DateTimeUtils.currentTime(), - DateTimeUtils.currentTime(), - DateTimeUtils.currentTime())); + col("Timestamp", DateTimeUtils.now(), + DateTimeUtils.now(), + DateTimeUtils.now(), + DateTimeUtils.now())); assertEquals(queryTable.groupBy("Sym").getDefinition().getColumn("Timestamp").getComponentType(), - DateTime.class); + Instant.class); show(queryTable.update("x = Timestamp_[0]")); show(queryTable.update("TimeinSeconds=round((maxObj(Timestamp_)-minObj(Timestamp_))/1000000000)")); show(queryTable.groupBy("Sym").view("Sym", "x = Timestamp[0]")); @@ -2917,7 +2919,7 @@ private void diskBackedTestHarness(Consumer
    testFunction) throws IOExcept ColumnDefinition.ofBoolean("Truthiness")); final String[] syms = new String[] {"Apple", "Banana", "Cantaloupe"}; - final DateTime baseTime = DateTimeUtils.convertDateTime("2019-04-11T09:30 NY"); + final Instant baseTime = DateTimeUtils.parseInstant("2019-04-11T09:30 NY"); final long[] dateOffset = new long[] {0, 5, 10, 15, 1, 6, 11, 16, 2, 7}; final Boolean[] booleans = new Boolean[] {true, false, null, true, false, null, true, false, null, true, false}; QueryScope.addParam("syms", syms); @@ -3104,7 +3106,7 @@ public void testNotifyListenersReleasesUpdateShiftAwareChildListener() { public void testRegressionIssue544() { // The expression that fails in the console is: - // x = merge(newTable(byteCol("Q", (byte)0)), timeTable("00:00:01").view("Q=(byte)(i%2)")) + // x = merge(newTable(byteCol("Q", (byte)0)), timeTable("PT00:00:01").view("Q=(byte)(i%2)")) // .tail(1) // .view("Q=Q*i") // .sumBy() @@ -3132,8 +3134,9 @@ public void testRegressionIssue544() { assertEquals(0, getUpdateErrors().size()); } - private static class TestDateTimeGroupingSource extends LongAsDateTimeColumnSource - implements DeferredGroupingColumnSource { + private static class TestInstantGroupingSource + extends LongAsInstantColumnSource + implements DeferredGroupingColumnSource { final GroupingProvider groupingProvider = new GroupingProvider<>() { @Override @@ -3147,33 +3150,33 @@ public Pair, Boolean> getGroupToRange(RowSet hint) { } }; - TestDateTimeGroupingSource(ColumnSource realSource) { + TestInstantGroupingSource(ColumnSource realSource) { super(realSource); // noinspection unchecked,rawtypes ((DeferredGroupingColumnSource) realSource).setGroupingProvider(groupingProvider); } @Override - public GroupingProvider getGroupingProvider() { + public GroupingProvider getGroupingProvider() { return null; } @Override - public void setGroupingProvider(@Nullable GroupingProvider groupingProvider) { + public void setGroupingProvider(@Nullable GroupingProvider groupingProvider) { throw new UnsupportedOperationException(); } } - public void testDeferredGroupingPropagationDateTimeCol() { + public void testDeferredGroupingPropagationInstantCol() { // This is a regression test on a class cast exception in QueryTable#propagateGrouping. - // RegionedColumnSourceDateTime is a grouping source, but is not an InMemoryColumnSource. The select column + // RegionedColumnSourceInstant is a grouping source, but is not an InMemoryColumnSource. The select column // destination is not a grouping source as it is reinterpreted. TrackingRowSet rowSet = RowSetFactory.flat(4).toTracking(); // This dance with a custom column is because an InMemoryColumnSource will be reused at the select layer // which skips propagation of grouping, and avoids the class cast exception. - final TestDateTimeGroupingSource cs = new TestDateTimeGroupingSource(colSource(0L, 1, 2, 3)); + final TestInstantGroupingSource cs = new TestInstantGroupingSource(colSource(0L, 1, 2, 3)); final Map> columns = Maps.of("T", cs); final QueryTable t1 = new QueryTable(rowSet, columns); final Table t2 = t1.select("T"); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableTreeTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableTreeTest.java index 880f7d4e229..a21c2f66c96 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableTreeTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableTreeTest.java @@ -3,51 +3,11 @@ */ package io.deephaven.engine.table.impl; -import io.deephaven.api.agg.Aggregation; -import io.deephaven.datastructures.util.CollectionUtil; -import io.deephaven.engine.liveness.LivenessScopeStack; -import io.deephaven.engine.liveness.SingletonLivenessManager; -import io.deephaven.engine.rowset.RowSet; -import io.deephaven.engine.rowset.RowSetBuilderSequential; -import io.deephaven.engine.rowset.RowSetFactory; -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.engine.table.Table; -import io.deephaven.engine.table.hierarchical.TreeTable; -import io.deephaven.engine.table.impl.hierarchical.TreeTableFilter; -import io.deephaven.engine.testutil.ColumnInfo; -import io.deephaven.engine.testutil.EvalNuggetInterface; import io.deephaven.engine.testutil.QueryTableTestBase; -import io.deephaven.engine.testutil.generator.*; -import io.deephaven.engine.testutil.testcase.RefreshingTableTestCase; -import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.engine.util.TableTools; -import io.deephaven.io.log.LogLevel; -import io.deephaven.io.logger.Logger; -import io.deephaven.io.logger.StreamLoggerImpl; import io.deephaven.test.types.OutOfBandTest; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.*; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.function.Function; -import java.util.function.UnaryOperator; - -import io.deephaven.time.DateTimeUtils; -import io.deephaven.util.SafeCloseable; -import io.deephaven.util.annotations.ReflexiveUse; -import junit.framework.TestCase; -import org.apache.commons.lang3.mutable.MutableInt; -import org.junit.Assert; import org.junit.experimental.categories.Category; -import static io.deephaven.api.agg.Aggregation.*; -import static io.deephaven.engine.testutil.TstUtils.*; -import static io.deephaven.engine.util.TableTools.*; -import static io.deephaven.util.QueryConstants.*; - /** * Test of Tree Tables and rollups. */ @@ -1202,10 +1162,10 @@ public void testNothing() {} // final int size = 100; // final QueryTable table = getTable(size, random, // initColumnInfos( - // new String[] {"USym", "DateTime", "IntCol", "DoubleCol", "BoolCol", "BigIntCol", "BigDecCol"}, + // new String[] {"USym", "Instant", "IntCol", "DoubleCol", "BoolCol", "BigIntCol", "BigDecCol"}, // new SetGenerator<>("AAPL", "TSLA", "VXX", "SPY"), - // new SetGenerator<>(DateTimeUtils.convertDateTime("2020-01-01T00:00:00 NY"), null, - // DateTimeUtils.convertDateTime("2020-02-28T14:30:00 NY")), + // new SetGenerator<>(DateTimeUtils.parseInstant("2020-01-01T00:00:00 NY"), null, + // DateTimeUtils.parseInstant("2020-02-28T14:30:00 NY")), // new IntGenerator(0, 1_000_000), // new DoubleGenerator(-100, 100), // new BooleanGenerator(0.4, 0.1), @@ -1216,13 +1176,13 @@ public void testNothing() {} // TableTools.showWithRowSet(table); // // final Table rollup = UpdateGraphProcessor.DEFAULT.exclusiveLock() - // .computeLocked(() -> table.rollup(comboAgg, "USym", "DateTime", "BoolCol", "BigIntCol", "BigDecCol")); + // .computeLocked(() -> table.rollup(comboAgg, "USym", "Instant", "BoolCol", "BigIntCol", "BigDecCol")); // verifyReverseLookup(rollup); // // verifyReverseLookup( // UpdateGraphProcessor.DEFAULT.exclusiveLock().computeLocked(() -> table.rollup(comboAgg, "USym"))); // verifyReverseLookup( - // UpdateGraphProcessor.DEFAULT.exclusiveLock().computeLocked(() -> table.rollup(comboAgg, "DateTime"))); + // UpdateGraphProcessor.DEFAULT.exclusiveLock().computeLocked(() -> table.rollup(comboAgg, "Instant"))); // verifyReverseLookup( // UpdateGraphProcessor.DEFAULT.exclusiveLock().computeLocked(() -> table.rollup(comboAgg, "BoolCol"))); // } @@ -1642,7 +1602,7 @@ public void testNothing() {} // // final int size = 100; // final QueryTable table = getTable(size, random, columnInfo = initColumnInfos(new String[] { - // "USym", "Group", "IntCol", "DoubleCol", "StringCol", "StringNulls", "BoolCol", "DateTime", + // "USym", "Group", "IntCol", "DoubleCol", "StringCol", "StringNulls", "BoolCol", "Instant", // "IntSet", "LongSet", "DoubleSet", "FloatSet", "CharSet", "ShortSet", "ByteSet"}, // // new SetGenerator<>("AAPL", "TSLA", "VXX", "SPY"), @@ -1652,8 +1612,8 @@ public void testNothing() {} // new SetGenerator<>("A", "B", "C", "D"), // new SetGenerator<>("A", "B", "C", "D", null), // new BooleanGenerator(.5, .1), - // new UnsortedDateTimeGenerator(DateTimeUtils.convertDateTime("2020-03-17T09:30:00 NY"), - // DateTimeUtils.convertDateTime("2020-03-17T16:00:00 NY")), + // new UnsortedInstantGenerator(DateTimeUtils.parseInstant("2020-03-17T09:30:00 NY"), + // DateTimeUtils.parseInstant("2020-03-17T16:00:00 NY")), // new SetGenerator<>(0, 1, 2, 3, 4, 5, NULL_INT), // new SetGenerator<>(0L, 1L, 2L, 3L, 4L, 5L, NULL_LONG), // new SetGenerator<>(0.0D, 1.1D, 2.2D, 3.3D, 4.4D, 5.5D, NULL_DOUBLE), @@ -1665,18 +1625,18 @@ public void testNothing() {} // // final Collection rollupDefinition = List.of( // AggSum("IntCol", "DoubleCol"), - // AggMin("MinInt=IntCol", "MinDT=DateTime"), - // AggMax("MaxDouble=DoubleCol", "MaxDT=DateTime"), + // AggMin("MinInt=IntCol", "MinDT=Instant"), + // AggMax("MaxDouble=DoubleCol", "MaxDT=Instant"), // AggAvg("IntAvg=IntCol", "DoubleAvg=DoubleCol"), // AggStd("IntStd=IntCol", "DoubleStd=DoubleCol"), // AggVar("IntVar=IntCol", "DoubleVar=DoubleCol"), // AggFirst("IntFirst=IntCol", "DoubleFirst=DoubleCol"), // AggLast("IntLast=IntCol", "DoubleLast=DoubleCol"), // AggCount("Count"), - // AggCountDistinct("SCDistinct=StringCol", "CDBoolCol=BoolCol", "DTCDistinct=DateTime", + // AggCountDistinct("SCDistinct=StringCol", "CDBoolCol=BoolCol", "DTCDistinct=Instant", // "CDIntCol=IntSet", "CDLongCol=LongSet", "CDDoubleCol=DoubleSet", // "CDFloatCol=FloatSet", "CDCharCol=CharSet", "CDShortCol=ShortSet", "CDByteCol=ByteSet"), - // AggDistinct("SDistinct=StringCol", "DistinctBoolCol=BoolCol", "DTDistinct=DateTime", + // AggDistinct("SDistinct=StringCol", "DistinctBoolCol=BoolCol", "DTDistinct=Instant", // "DIntCol=IntSet", "DLongCol=LongSet", "DDoubleCol=DoubleSet", // "DFloatCol=FloatSet", "DCharCol=CharSet", "DShortCol=ShortSet", "DByteCol=ByteSet"), // AggUnique("SUnique=StringCol", "UniqueBoolCol=BoolCol", diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableWhereTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableWhereTest.java index dd6cd6acb64..a0abd1b4d39 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableWhereTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableWhereTest.java @@ -25,7 +25,6 @@ import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.table.impl.select.MatchPairFactory; import io.deephaven.engine.context.QueryScope; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.table.impl.verify.TableAssertions; import io.deephaven.engine.table.impl.select.*; @@ -47,6 +46,7 @@ import java.math.BigDecimal; import java.math.BigInteger; +import java.time.Instant; import java.util.Collections; import java.util.Random; import java.util.concurrent.CountDownLatch; @@ -931,8 +931,8 @@ public void testComparableBinarySearch() { new DoubleGenerator(0.0, 100.0, 0, 0, 0, 0), new LongGenerator(-100, 100, 0.01), new CharGenerator('A', 'Z', 0.1), - new UnsortedDateTimeGenerator(DateTimeUtils.convertDateTime("2020-01-01T00:00:00 NY"), - DateTimeUtils.convertDateTime("2020-01-01T01:00:00 NY")))); + new UnsortedInstantGenerator(DateTimeUtils.parseInstant("2020-01-01T00:00:00 NY"), + DateTimeUtils.parseInstant("2020-01-01T01:00:00 NY")))); final String bigIntConversion = "BI4=" + getClass().getCanonicalName() + ".convertToBigInteger(L3)"; final Table augmentedInts = table.update(bigIntConversion, "D5=(double)L3", "I6=(int)L3", "S7=(short)L3", "B8=(byte)L3"); @@ -953,7 +953,7 @@ public void testComparableBinarySearch() { final BigDecimal two = BigDecimal.valueOf(2); final BigDecimal nine = BigDecimal.valueOf(9); final String filterTimeString = "2020-01-01T00:30:00 NY"; - final DateTime filterTime = DateTimeUtils.convertDateTime(filterTimeString); + final Instant filterTime = DateTimeUtils.parseInstant(filterTimeString); QueryScope.addParam("two", two); QueryScope.addParam("nine", nine); @@ -1012,9 +1012,11 @@ public void testComparableBinarySearch() { new TableComparator(sortedL3R.where("L3 < 20 && true"), sortedL3R.where("I6 < 20")), new TableComparator(sortedL3R.where("L3 < 20 && true"), sortedL3R.where("B8 < 20")), new TableComparator(sortedL3R.where("L3 < 20 && true"), sortedL3R.where("S7 < 20")), - new TableComparator(sortedDT.where("DT == null || DT.getNanos() < " + filterTime.getNanos()), + new TableComparator( + sortedDT.where("epochNanos(DT) < " + DateTimeUtils.epochNanos(filterTime)), sortedDT.where("DT < '" + filterTimeString + "'")), - new TableComparator(sortedDT.where("DT != null && DT.getNanos() >= " + filterTime.getNanos()), + new TableComparator( + sortedDT.where("epochNanos(DT) >= " + DateTimeUtils.epochNanos(filterTime)), sortedDT.where("DT >= '" + filterTimeString + "'")), new TableComparator(sortedCH.where("true && CH > 'M'"), sortedCH.where("CH > 'M'")), new TableComparator(sortedCH.where("CH==null || CH <= 'O'"), sortedCH.where("CH <= 'O'")), @@ -1034,9 +1036,9 @@ public void testComparableBinarySearch() { } @Test - public void testDateTimeRangeFilter() { - final DateTime startTime = DateTimeUtils.convertDateTime("2021-04-23T09:30 NY"); - final DateTime[] array = new DateTime[10]; + public void testInstantRangeFilter() { + final Instant startTime = DateTimeUtils.parseInstant("2021-04-23T09:30 NY"); + final Instant[] array = new Instant[10]; for (int ii = 0; ii < array.length; ++ii) { array[ii] = DateTimeUtils.plus(startTime, 60_000_000_000L * ii); } diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/SparseSelectTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/SparseSelectTest.java index 18b8f06f738..3cb99270f1b 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/SparseSelectTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/SparseSelectTest.java @@ -16,7 +16,6 @@ import io.deephaven.engine.util.TableTools; import io.deephaven.engine.testutil.junit4.EngineCleanup; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.SafeCloseable; import junit.framework.TestCase; @@ -45,7 +44,7 @@ public void testSparseSelect() { } for (final int size : sizes) { for (int seed = 0; seed < 1; ++seed) { - System.out.println(DateTime.now() + ": Size = " + size + ", seed=" + seed); + System.out.println(DateTimeUtils.now() + ": Size = " + size + ", seed=" + seed); try (final SafeCloseable ignored = LivenessScopeStack.open(new LivenessScope(true), true)) { testSparseSelect(size, seed); } @@ -60,7 +59,7 @@ private void testSparseSelect(int size, int seed) { final QueryTable queryTable = getTable(size, random, columnInfo = initColumnInfos( new String[] {"Sym", "intCol", "doubleCol", "boolCol", "floatCol", "longCol", "charCol", - "byteCol", "shortCol", "dateTime"}, + "byteCol", "shortCol", "instant"}, new SetGenerator<>("a", "b", "c", "d", "e"), new IntGenerator(10, 100), new SetGenerator<>(10.1, 20.1, 30.1), @@ -70,8 +69,8 @@ private void testSparseSelect(int size, int seed) { new CharGenerator('a', 'z'), new ByteGenerator(), new ShortGenerator(), - new UnsortedDateTimeGenerator(DateTimeUtils.convertDateTime("2019-01-10T00:00:00 NY"), - DateTimeUtils.convertDateTime("2019-01-20T00:00:00 NY")))); + new UnsortedInstantGenerator(DateTimeUtils.parseInstant("2019-01-10T00:00:00 NY"), + DateTimeUtils.parseInstant("2019-01-20T00:00:00 NY")))); final Table sortedTable = queryTable.sort("intCol"); @@ -93,7 +92,7 @@ public Table e() { }, new EvalNugget() { public Table e() { - return SparseSelect.sparseSelect(queryTable, "dateTime"); + return SparseSelect.sparseSelect(queryTable, "instant"); } }, new EvalNugget() { @@ -132,7 +131,7 @@ public Table e() { .groupBy("Sym").sort("Sym").ungroup())), new QueryTableTestBase.TableComparator(queryTable, SparseSelect.sparseSelect(queryTable)), new QueryTableTestBase.TableComparator(queryTable, - SparseSelect.partialSparseSelect(queryTable, Arrays.asList("shortCol", "dateTime"))), + SparseSelect.partialSparseSelect(queryTable, Arrays.asList("shortCol", "instant"))), new QueryTableTestBase.TableComparator(sortedTable, SparseSelect.sparseSelect(sortedTable)) }; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestAggBy.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestAggBy.java index 97daff1506b..55f8ce66bea 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestAggBy.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestAggBy.java @@ -24,16 +24,16 @@ import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableTools; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import io.deephaven.vector.CharVector; import io.deephaven.vector.DoubleVector; import io.deephaven.vector.IntVector; import org.junit.experimental.categories.Category; -import java.lang.reflect.Array; import java.math.BigDecimal; import java.math.BigInteger; +import java.time.Instant; import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -42,7 +42,6 @@ import static io.deephaven.api.agg.Aggregation.*; import static io.deephaven.engine.testutil.TstUtils.*; import static io.deephaven.engine.util.TableTools.*; -import static io.deephaven.time.DateTimeUtils.convertDateTime; import static io.deephaven.util.QueryConstants.*; import static org.junit.Assert.assertArrayEquals; @@ -142,7 +141,7 @@ public void testComboByMinMaxTypes() { final QueryTable queryTable = getTable(size, random, columnInfo = initColumnInfos( new String[] {"Sym", "intCol", "shortCol", "byteCol", "longCol", "charCol", "doubleCol", - "floatCol", "DateTime", "BoolCol", "bigI", "bigD"}, + "floatCol", "Instant", "BoolCol", "bigI", "bigD"}, new SetGenerator<>("a", "b", "c", "d"), new IntGenerator(10, 100), new ShortGenerator(), @@ -151,8 +150,8 @@ public void testComboByMinMaxTypes() { new IntGenerator(10, 100), new SetGenerator<>(10.1, 20.1, 30.1), new FloatGenerator(0, 10.0f), - new UnsortedDateTimeGenerator(convertDateTime("2020-03-17T12:00:00 NY"), - convertDateTime("2020-03-18T12:00:00 NY")), + new UnsortedInstantGenerator(DateTimeUtils.parseInstant("2020-03-17T12:00:00 NY"), + DateTimeUtils.parseInstant("2020-03-18T12:00:00 NY")), new BooleanGenerator(), new BigIntegerGenerator(), new BigDecimalGenerator())); @@ -539,9 +538,9 @@ public void testComboByCountDistinct() { } public void testComboByAggUnique() { - final DateTime dtDefault = convertDateTime("1987-10-20T07:45:00.000 NY"); - final DateTime dt1 = convertDateTime("2021-01-01T00:00:01.000 NY"); - final DateTime dt2 = convertDateTime("2021-01-01T00:00:02.000 NY"); + final Instant dtDefault = DateTimeUtils.parseInstant("1987-10-20T07:45:00.000 NY"); + final Instant dt1 = DateTimeUtils.parseInstant("2021-01-01T00:00:01.000 NY"); + final Instant dt2 = DateTimeUtils.parseInstant("2021-01-01T00:00:02.000 NY"); QueryTable dataTable = TstUtils.testRefreshingTable( col("USym", "AAPL", "AAPL", "AAPL", /**/ "GOOG", "GOOG", /**/ "SPY", "SPY", "SPY", "SPY", /**/ "VXX"), @@ -569,7 +568,7 @@ public void testComboByAggUnique() { col("USym", "AAPL", "VXX"), longCol("Account", 1, 5), intCol("Qty", 100, QueryConstants.NULL_INT), - col("Whee", null, (DateTime) null)); + col("Whee", null, (Instant) null)); dataTable.notifyListeners(i(10), i(), i(2)); }); @@ -625,14 +624,14 @@ public void testComboByAggUnique() { } public void testAggUniqueDefaultValues() { - final DateTime dt1 = convertDateTime("2021-01-01T00:01:02.000 NY"); - final DateTime dt2 = convertDateTime("2021-02-02T00:02:03.000 NY"); + final Instant dt1 = DateTimeUtils.parseInstant("2021-01-01T00:01:02.000 NY"); + final Instant dt2 = DateTimeUtils.parseInstant("2021-02-02T00:02:03.000 NY"); QueryTable dataTable = TstUtils.testRefreshingTable( col("USym", "NoKey", "SingleVal", "NonUnique", "NonUnique"), col("StringCol", null, "Apple", "Bacon", "Pancake"), col("BoolCol", null, true, true, false), - col("DateTime", null, dt1, dt1, dt2), + col("Instant", null, dt1, dt1, dt2), charCol("CharCol", NULL_CHAR, 'a', 'b', 'c'), byteCol("ByteCol", NULL_BYTE, (byte) 100, (byte) 110, (byte) 120), shortCol("ShortCol", NULL_SHORT, (short) 1234, (short) 4321, (short) 1324), diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestBlinkTableTools.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestBlinkTableTools.java index 0ac4fa7dae1..f3d689b42e4 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestBlinkTableTools.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestBlinkTableTools.java @@ -9,13 +9,14 @@ import io.deephaven.engine.testutil.TstUtils; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; import junit.framework.TestCase; import org.junit.After; import org.junit.Before; import org.junit.Test; +import java.time.Instant; + import static io.deephaven.engine.util.TableTools.*; import static io.deephaven.engine.testutil.TstUtils.assertTableEquals; import static io.deephaven.engine.testutil.TstUtils.i; @@ -34,12 +35,12 @@ public void tearDown() throws Exception { @Test public void testBlinkToAppendOnlyTable() { - final DateTime dt1 = DateTimeUtils.convertDateTime("2021-08-11T8:20:00 NY"); - final DateTime dt2 = DateTimeUtils.convertDateTime("2021-08-11T8:21:00 NY"); - final DateTime dt3 = DateTimeUtils.convertDateTime("2021-08-11T11:22:00 NY"); + final Instant dt1 = DateTimeUtils.parseInstant("2021-08-11T8:20:00 NY"); + final Instant dt2 = DateTimeUtils.parseInstant("2021-08-11T8:21:00 NY"); + final Instant dt3 = DateTimeUtils.parseInstant("2021-08-11T11:22:00 NY"); final QueryTable blinkTable = TstUtils.testRefreshingTable(i(1).toTracking(), intCol("I", 7), - doubleCol("D", Double.NEGATIVE_INFINITY), dateTimeCol("DT", dt1), col("B", Boolean.TRUE)); + doubleCol("D", Double.NEGATIVE_INFINITY), instantCol("DT", dt1), col("B", Boolean.TRUE)); blinkTable.setAttribute(Table.BLINK_TABLE_ATTRIBUTE, true); final Table appendOnly = BlinkTableTools.blinkToAppendOnly(blinkTable); @@ -51,24 +52,24 @@ public void testBlinkToAppendOnlyTable() { UpdateGraphProcessor.DEFAULT.runWithinUnitTestCycle(() -> { RowSet removed = blinkTable.getRowSet().copyPrev(); ((WritableRowSet) blinkTable.getRowSet()).clear(); - TstUtils.addToTable(blinkTable, i(7), intCol("I", 1), doubleCol("D", Math.PI), dateTimeCol("DT", dt2), + TstUtils.addToTable(blinkTable, i(7), intCol("I", 1), doubleCol("D", Math.PI), instantCol("DT", dt2), col("B", true)); blinkTable.notifyListeners(i(7), removed, i()); }); assertTableEquals(TableTools.newTable(intCol("I", 7, 1), doubleCol("D", Double.NEGATIVE_INFINITY, Math.PI), - dateTimeCol("DT", dt1, dt2), col("B", true, true)), appendOnly); + instantCol("DT", dt1, dt2), col("B", true, true)), appendOnly); UpdateGraphProcessor.DEFAULT.runWithinUnitTestCycle(() -> { RowSet removed = blinkTable.getRowSet().copyPrev(); ((WritableRowSet) blinkTable.getRowSet()).clear(); - TstUtils.addToTable(blinkTable, i(7), intCol("I", 2), doubleCol("D", Math.E), dateTimeCol("DT", dt3), + TstUtils.addToTable(blinkTable, i(7), intCol("I", 2), doubleCol("D", Math.E), instantCol("DT", dt3), col("B", false)); blinkTable.notifyListeners(i(7), removed, i()); }); assertTableEquals( TableTools.newTable(intCol("I", 7, 1, 2), doubleCol("D", Double.NEGATIVE_INFINITY, Math.PI, Math.E), - dateTimeCol("DT", dt1, dt2, dt3), col("B", true, true, false)), + instantCol("DT", dt1, dt2, dt3), col("B", true, true, false)), appendOnly); } diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestDownsampledWhereFilter.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestDownsampledWhereFilter.java index cd1a76b4efe..daf022b1715 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestDownsampledWhereFilter.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestDownsampledWhereFilter.java @@ -6,12 +6,11 @@ import io.deephaven.engine.context.TestExecutionContext; import io.deephaven.engine.table.Table; import io.deephaven.engine.testutil.generator.DoubleGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.table.impl.select.DownsampledWhereFilter; import io.deephaven.util.SafeCloseable; -import junit.framework.TestCase; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -39,8 +38,8 @@ public void testDownsampledWhere() { int size = 1000; final QueryTable table = getTable(false, size, random, initColumnInfos(new String[] {"Timestamp", "doubleCol"}, - new SortedDateTimeGenerator(DateTimeUtils.convertDateTime("2015-09-11T09:30:00 NY"), - DateTimeUtils.convertDateTime("2015-09-11T10:00:00 NY")), + new SortedInstantGenerator(DateTimeUtils.parseInstant("2015-09-11T09:30:00 NY"), + DateTimeUtils.parseInstant("2015-09-11T10:00:00 NY")), new DoubleGenerator(0, 100))); Table downsampled = table.where(new DownsampledWhereFilter("Timestamp", 60_000_000_000L)); @@ -59,8 +58,8 @@ public void testDownsampledWhereLowerFirst() { int size = 1000; final QueryTable table = getTable(false, size, random, initColumnInfos(new String[] {"Timestamp", "doubleCol"}, - new SortedDateTimeGenerator(DateTimeUtils.convertDateTime("2015-09-11T09:30:00 NY"), - DateTimeUtils.convertDateTime("2015-09-11T10:00:00 NY")), + new SortedInstantGenerator(DateTimeUtils.parseInstant("2015-09-11T09:30:00 NY"), + DateTimeUtils.parseInstant("2015-09-11T10:00:00 NY")), new DoubleGenerator(0, 100))); Table downsampled = table.where(new DownsampledWhereFilter("Timestamp", 60_000_000_000L, diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestFormulaArrayEvaluation.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestFormulaArrayEvaluation.java index 0aac9b62c92..eb7d8784591 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestFormulaArrayEvaluation.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestFormulaArrayEvaluation.java @@ -29,7 +29,7 @@ import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableTools; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTimeUtils; +import io.deephaven.time.TimeLiteralReplacedExpression; import org.apache.commons.lang3.tuple.ImmutableTriple; import org.apache.commons.lang3.tuple.Triple; import org.junit.Assert; @@ -1146,7 +1146,8 @@ public void dh12273_convertToShiftedFormula() { for (String[] formulaPair : formulas) { try { - final DateTimeUtils.Result timeConversionResult = DateTimeUtils.convertExpression(formulaPair[0]); + final TimeLiteralReplacedExpression timeConversionResult = + TimeLiteralReplacedExpression.convertExpression(formulaPair[0]); final String convertedFilterFormula = timeConversionResult.getConvertedFormula(); final String shiftedFilterFormula = ShiftedColumnsFactory.convertToShiftedFormula(formulaPair[0]); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestPartitioningColumns.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestPartitioningColumns.java index 25e2ea81890..06ac1240ee7 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestPartitioningColumns.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestPartitioningColumns.java @@ -10,7 +10,6 @@ import io.deephaven.engine.table.TableDefinition; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.junit4.EngineCleanup; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.table.impl.locations.ColumnLocation; import io.deephaven.engine.table.impl.locations.TableKey; @@ -52,8 +51,8 @@ public void testEverything() { longCol("Lo", 1L << 36, 2L << 36, 3L << 36), floatCol("Fl", 0.1f, 0.2f, 0.3f), doubleCol("Do", 0.1, 0.2, 0.3), - dateTimeCol("DT", DateTime.now(), DateTimeUtils.plus(DateTime.now(), 1), - DateTimeUtils.plus(DateTime.now(), 2)), + instantCol("DT", DateTimeUtils.now(), DateTimeUtils.plus(DateTimeUtils.now(), 1), + DateTimeUtils.plus(DateTimeUtils.now(), 2)), stringCol("St", "ABC", "DEF", "GHI"), col("Bo", Boolean.TRUE, Boolean.FALSE, Boolean.TRUE)); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestSort.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestSort.java index a900b40932d..dc68a97b5f2 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/TestSort.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/TestSort.java @@ -11,15 +11,16 @@ import io.deephaven.engine.table.DataColumn; import io.deephaven.engine.table.Table; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.rowset.RowSetFactory; import io.deephaven.test.types.OutOfBandTest; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.table.impl.sources.ArrayBackedColumnSource; import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.util.ColumnHolder; +import java.time.Instant; import java.util.Arrays; import java.util.LinkedHashMap; import java.util.Map; @@ -480,12 +481,12 @@ ColumnSource generateColumnSource(int size) { } } - private class DateTimeGenerator extends DataGenerator { + private class InstantGenerator extends DataGenerator { public Class getType() { - return DateTime.class; + return Instant.class; } - public DateTime makeEntry() { + public Instant makeEntry() { if (Math.random() < nullFraction) { return null; } @@ -494,8 +495,7 @@ public DateTime makeEntry() { long offset = (int) Math.rint(Math.random() * 3600); offset *= 1000000000; - DateTime dateTime = new DateTime((startTime * 1000000000) - offset); - return dateTime; + return DateTimeUtils.epochNanosToInstant((startTime * 1000000000) - offset); } @Override diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/lang/TestQueryLanguageParser.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/lang/TestQueryLanguageParser.java index 3c2d24738e6..5a4c8ea33f7 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/lang/TestQueryLanguageParser.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/lang/TestQueryLanguageParser.java @@ -8,7 +8,6 @@ import io.deephaven.base.verify.Require; import io.deephaven.base.testing.BaseArrayTestCase; import io.deephaven.engine.table.Table; -import io.deephaven.time.DateTime; import io.deephaven.vector.*; import io.deephaven.engine.table.impl.lang.QueryLanguageParser.QueryLanguageParseException; import io.deephaven.vector.Vector; @@ -23,6 +22,7 @@ import org.junit.Before; import java.awt.*; +import java.time.Instant; import java.util.*; import java.util.List; @@ -106,7 +106,7 @@ public void setUp() throws Exception { variables.put("myDummyClass", LanguageParserDummyClass.class); variables.put("myDummyInnerClass", LanguageParserDummyClass.InnerClass.class); variables.put("myClosure", Closure.class); - variables.put("myDateTime", DateTime.class); + variables.put("myInstant", Instant.class); variables.put("myTable", Table.class); variables.put("myPyObject", PyObject.class); @@ -1522,24 +1522,24 @@ public void testBoxing() throws Exception { public void testUnboxAndWiden() throws Exception { // ensure we can find the original method - String expression = "io.deephaven.time.DateTimeUtils.plus(myDateTime, myLong)"; - String resultExpression = "io.deephaven.time.DateTimeUtils.plus(myDateTime, myLong)"; - check(expression, resultExpression, DateTime.class, new String[] {"myDateTime", "myLong"}); + String expression = "io.deephaven.time.DateTimeUtils.plus(myInstant, myLong)"; + String resultExpression = "io.deephaven.time.DateTimeUtils.plus(myInstant, myLong)"; + check(expression, resultExpression, Instant.class, new String[] {"myInstant", "myLong"}); // check long unbox - expression = "io.deephaven.time.DateTimeUtils.plus(myDateTime, myLongObj)"; - resultExpression = "io.deephaven.time.DateTimeUtils.plus(myDateTime, myLongObj.longValue())"; - check(expression, resultExpression, DateTime.class, new String[] {"myDateTime", "myLongObj"}); + expression = "io.deephaven.time.DateTimeUtils.plus(myInstant, myLongObj)"; + resultExpression = "io.deephaven.time.DateTimeUtils.plus(myInstant, myLongObj.longValue())"; + check(expression, resultExpression, Instant.class, new String[] {"myInstant", "myLongObj"}); // check int widen - expression = "io.deephaven.time.DateTimeUtils.plus(myDateTime, myInt)"; - resultExpression = "io.deephaven.time.DateTimeUtils.plus(myDateTime, longCast(myInt))"; - check(expression, resultExpression, DateTime.class, new String[] {"myDateTime", "myInt"}); + expression = "io.deephaven.time.DateTimeUtils.plus(myInstant, myInt)"; + resultExpression = "io.deephaven.time.DateTimeUtils.plus(myInstant, longCast(myInt))"; + check(expression, resultExpression, Instant.class, new String[] {"myInstant", "myInt"}); // check int unbox and widen - expression = "io.deephaven.time.DateTimeUtils.plus(myDateTime, myIntObj)"; - resultExpression = "io.deephaven.time.DateTimeUtils.plus(myDateTime, myIntObj.longValue())"; - check(expression, resultExpression, DateTime.class, new String[] {"myDateTime", "myIntObj"}); + expression = "io.deephaven.time.DateTimeUtils.plus(myInstant, myIntObj)"; + resultExpression = "io.deephaven.time.DateTimeUtils.plus(myInstant, myIntObj.longValue())"; + check(expression, resultExpression, Instant.class, new String[] {"myInstant", "myIntObj"}); // check vararg widen expression = "testImplicitConversion1(myFloat, myFloat)"; @@ -1764,9 +1764,9 @@ public void testObjectConstruction() throws Exception { resultExpression = "new LanguageParserDummyClass.StaticNestedClass()"; check(expression, resultExpression, LanguageParserDummyClass.StaticNestedClass.class, new String[] {}); - expression = "new io.deephaven.time.DateTime(123L)"; - resultExpression = "new io.deephaven.time.DateTime(123L)"; - check(expression, resultExpression, DateTime.class, new String[] {}); + expression = "io.deephaven.time.DateTimeUtils.epochNanosToInstant(123L)"; + resultExpression = "io.deephaven.time.DateTimeUtils.epochNanosToInstant(123L)"; + check(expression, resultExpression, Instant.class, new String[] {}); } public void testIntToLongConversion() throws Exception { diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FilterKernelArraySample.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FilterKernelArraySample.java index dc9577e3922..c387e17f3d0 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FilterKernelArraySample.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FilterKernelArraySample.java @@ -37,16 +37,19 @@ import io.deephaven.engine.table.DataColumn; import io.deephaven.engine.table.Table; import static io.deephaven.engine.table.impl.select.ConditionFilter.FilterKernel; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.Period; import io.deephaven.util.datastructures.LongSizedDataStructure; import io.deephaven.util.type.ArrayTypeUtils; import io.deephaven.util.type.TypeUtils; import io.deephaven.vector.VectorConversions; import java.lang.reflect.Array; +import java.time.Duration; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalTime; +import java.time.Period; +import java.time.ZonedDateTime; import java.util.concurrent.ConcurrentHashMap; -import org.joda.time.LocalTime; import static io.deephaven.base.string.cache.CompressedString.*; import static io.deephaven.engine.table.impl.lang.QueryLanguageFunctionUtils.*; import static io.deephaven.engine.table.impl.verify.TableAssertions.*; @@ -62,7 +65,6 @@ import static io.deephaven.function.Sort.*; import static io.deephaven.gui.color.Color.*; import static io.deephaven.time.DateTimeUtils.*; -import static io.deephaven.time.TimeZone.*; import static io.deephaven.time.calendar.StaticCalendarMethods.*; import static io.deephaven.util.QueryConstants.*; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FilterKernelSample.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FilterKernelSample.java index 1177765bd5b..cdcf54d0d2d 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FilterKernelSample.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FilterKernelSample.java @@ -37,16 +37,19 @@ import io.deephaven.engine.table.DataColumn; import io.deephaven.engine.table.Table; import static io.deephaven.engine.table.impl.select.ConditionFilter.FilterKernel; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.Period; import io.deephaven.util.datastructures.LongSizedDataStructure; import io.deephaven.util.type.ArrayTypeUtils; import io.deephaven.util.type.TypeUtils; import io.deephaven.vector.VectorConversions; import java.lang.reflect.Array; +import java.time.Duration; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalTime; +import java.time.Period; +import java.time.ZonedDateTime; import java.util.concurrent.ConcurrentHashMap; -import org.joda.time.LocalTime; import static io.deephaven.base.string.cache.CompressedString.*; import static io.deephaven.engine.table.impl.lang.QueryLanguageFunctionUtils.*; import static io.deephaven.engine.table.impl.verify.TableAssertions.*; @@ -62,7 +65,6 @@ import static io.deephaven.function.Sort.*; import static io.deephaven.gui.color.Color.*; import static io.deephaven.time.DateTimeUtils.*; -import static io.deephaven.time.TimeZone.*; import static io.deephaven.time.calendar.StaticCalendarMethods.*; import static io.deephaven.util.QueryConstants.*; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FormulaKernelSample.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FormulaKernelSample.java index 2b145639a98..754d0a71056 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FormulaKernelSample.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FormulaKernelSample.java @@ -37,16 +37,19 @@ import io.deephaven.engine.table.DataColumn; import io.deephaven.engine.table.Table; import static io.deephaven.engine.table.impl.select.ConditionFilter.FilterKernel; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.Period; import io.deephaven.util.datastructures.LongSizedDataStructure; import io.deephaven.util.type.ArrayTypeUtils; import io.deephaven.util.type.TypeUtils; import io.deephaven.vector.VectorConversions; import java.lang.reflect.Array; +import java.time.Duration; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalTime; +import java.time.Period; +import java.time.ZonedDateTime; import java.util.concurrent.ConcurrentHashMap; -import org.joda.time.LocalTime; import static io.deephaven.base.string.cache.CompressedString.*; import static io.deephaven.engine.table.impl.lang.QueryLanguageFunctionUtils.*; import static io.deephaven.engine.table.impl.verify.TableAssertions.*; @@ -62,7 +65,6 @@ import static io.deephaven.function.Sort.*; import static io.deephaven.gui.color.Color.*; import static io.deephaven.time.DateTimeUtils.*; -import static io.deephaven.time.TimeZone.*; import static io.deephaven.time.calendar.StaticCalendarMethods.*; import static io.deephaven.util.QueryConstants.*; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FormulaSample.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FormulaSample.java index 683f8317991..ddc8cd91eeb 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FormulaSample.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/FormulaSample.java @@ -37,16 +37,19 @@ import io.deephaven.engine.table.DataColumn; import io.deephaven.engine.table.Table; import static io.deephaven.engine.table.impl.select.ConditionFilter.FilterKernel; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.Period; import io.deephaven.util.datastructures.LongSizedDataStructure; import io.deephaven.util.type.ArrayTypeUtils; import io.deephaven.util.type.TypeUtils; import io.deephaven.vector.VectorConversions; import java.lang.reflect.Array; +import java.time.Duration; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalTime; +import java.time.Period; +import java.time.ZonedDateTime; import java.util.concurrent.ConcurrentHashMap; -import org.joda.time.LocalTime; import static io.deephaven.base.string.cache.CompressedString.*; import static io.deephaven.engine.table.impl.lang.QueryLanguageFunctionUtils.*; import static io.deephaven.engine.table.impl.verify.TableAssertions.*; @@ -62,7 +65,6 @@ import static io.deephaven.function.Sort.*; import static io.deephaven.gui.color.Color.*; import static io.deephaven.time.DateTimeUtils.*; -import static io.deephaven.time.TimeZone.*; import static io.deephaven.time.calendar.StaticCalendarMethods.*; import static io.deephaven.util.QueryConstants.*; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestClockFilters.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestClockFilters.java index e0efe0ac394..77d5e8b1191 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestClockFilters.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestClockFilters.java @@ -11,7 +11,7 @@ import static io.deephaven.engine.util.TableTools.intCol; import static io.deephaven.engine.util.TableTools.merge; import static io.deephaven.engine.util.TableTools.newTable; -import static io.deephaven.time.DateTimeUtils.nanosToTime; +import static io.deephaven.time.DateTimeUtils.epochNanosToInstant; import io.deephaven.engine.testutil.StepClock; @@ -25,13 +25,13 @@ public class TestClockFilters extends RefreshingTableTestCase { private final Table testInput3; { final Table testInputRangeA = newTable( - col("Timestamp", nanosToTime(1000L), nanosToTime(2000L), nanosToTime(3000L), nanosToTime(1000L), - nanosToTime(2000L), nanosToTime(3000L)), + col("Timestamp", epochNanosToInstant(1000L), epochNanosToInstant(2000L), epochNanosToInstant(3000L), + epochNanosToInstant(1000L), epochNanosToInstant(2000L), epochNanosToInstant(3000L)), intCol("Int", 1, 2, 3, 1, 2, 3)); testInput1 = merge(testInputRangeA, testInputRangeA, testInputRangeA); final Table testInputRangeB = newTable( - col("Timestamp", nanosToTime(2000L), nanosToTime(2000L), nanosToTime(3000L), nanosToTime(2000L), - nanosToTime(2000L), nanosToTime(3000L)), + col("Timestamp", epochNanosToInstant(2000L), epochNanosToInstant(2000L), epochNanosToInstant(3000L), + epochNanosToInstant(2000L), epochNanosToInstant(2000L), epochNanosToInstant(3000L)), intCol("Int", 2, 2, 3, 2, 2, 3)); testInput2 = merge(testInputRangeA, testInputRangeB, testInputRangeA); testInput3 = merge(testInputRangeA, testInputRangeB, testInputRangeB); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestFormulaColumn.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestFormulaColumn.java index 01cd91dd828..f5a5f57f320 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestFormulaColumn.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestFormulaColumn.java @@ -11,10 +11,10 @@ import io.deephaven.engine.table.impl.lang.QueryLanguageFunctionUtils; import io.deephaven.engine.table.impl.lang.QueryLanguageParser.QueryLanguageParseException; import io.deephaven.engine.context.QueryScope; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.util.codegen.TypeAnalyzer; import io.deephaven.engine.testutil.junit4.EngineCleanup; import io.deephaven.test.types.OutOfBandTest; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import io.deephaven.util.type.TypeUtils; import org.junit.After; @@ -90,7 +90,7 @@ public void testSimpleLiterals() { @Test public void testTimestamp() { - check("'2019-04-11T09:30 NY'", new DateTime(1554989400000000000L)); + check("'2019-04-11T09:30 NY'", DateTimeUtils.epochNanosToInstant(1554989400000000000L)); } @Test @@ -313,8 +313,8 @@ public void testObjectConstruction() { result = new HashSet(); check(row, expression, result); - expression = "new io.deephaven.time.DateTime(123L)"; - result = new DateTime(123L); + expression = "DateTimeUtils.epochNanosToInstant(123L)"; + result = DateTimeUtils.epochNanosToInstant(123L); check(row, expression, result); } } diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestReinterpretedColumn.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestReinterpretedColumn.java index 0050c07844b..b50a73701dd 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestReinterpretedColumn.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestReinterpretedColumn.java @@ -14,8 +14,6 @@ import io.deephaven.engine.table.TableDefinition; import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.QueryTable; -import io.deephaven.engine.table.impl.sources.DateTimeArraySource; -import io.deephaven.engine.table.impl.sources.DateTimeSparseArraySource; import io.deephaven.engine.table.impl.sources.InstantArraySource; import io.deephaven.engine.table.impl.sources.InstantSparseArraySource; import io.deephaven.engine.table.impl.sources.LongArraySource; @@ -26,7 +24,6 @@ import io.deephaven.engine.table.impl.sources.ZonedDateTimeSparseArraySource; import io.deephaven.engine.table.impl.util.TableTimeConversions; import io.deephaven.engine.testutil.testcase.RefreshingTableTestCase; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import org.apache.commons.lang3.mutable.MutableInt; import org.junit.Test; @@ -44,10 +41,9 @@ public class TestReinterpretedColumn extends RefreshingTableTestCase { final int ROW_COUNT = 60; - private final long baseLongTime = DateTimeUtils.convertDateTime("2021-10-20T09:30:00.000 NY").getNanos(); - private final DateTime baseDateTime = DateTimeUtils.convertDateTime("2021-10-19T10:30:00.000 NY"); + private final long baseLongTime = DateTimeUtils.parseEpochNanos("2021-10-20T09:30:00.000 NY"); private final ZonedDateTime baseZDT = ZonedDateTime.of(2021, 10, 18, 11, 30, 0, 0, ZoneId.of("America/New_York")); - private final Instant baseInstant = DateTimeUtils.convertDateTime("2021-10-17T12:30:00.000 NY").getInstant(); + private final Instant baseInstant = DateTimeUtils.parseInstant("2021-10-17T12:30:00.000 NY"); private QueryTable baseTable; private QueryTable sparseBaseTable; @@ -58,70 +54,68 @@ public class TestReinterpretedColumn extends RefreshingTableTestCase { public void setUp() throws Exception { super.setUp(); - baseTable = makeTable(new LongArraySource(), - new DateTimeArraySource(), + baseTable = makeTable( + new LongArraySource(), new InstantArraySource(), new ZonedDateTimeArraySource(ZoneId.of("America/New_York"))); - sparseBaseTable = makeTable(new LongSparseArraySource(), - new DateTimeSparseArraySource(), + sparseBaseTable = makeTable( + new LongSparseArraySource(), new InstantSparseArraySource(), new ZonedDateTimeSparseArraySource(ZoneId.of("America/New_York"))); - objectTable = makeObjectTable(new LongArraySource(), - new ObjectArraySource<>(DateTime.class), + objectTable = makeObjectTable( + new LongArraySource(), new ObjectArraySource<>(Instant.class), new ObjectArraySource<>(ZonedDateTime.class)); - sparseObjectTable = makeObjectTable(new LongSparseArraySource(), - new ObjectSparseArraySource<>(DateTime.class), + sparseObjectTable = makeObjectTable( + new LongSparseArraySource(), new ObjectSparseArraySource<>(Instant.class), new ObjectSparseArraySource<>(ZonedDateTime.class)); } - private QueryTable makeObjectTable(WritableColumnSource longSource, WritableColumnSource dtSource, - WritableColumnSource iSource, WritableColumnSource zdtSource) { + private QueryTable makeObjectTable( + WritableColumnSource longSource, + WritableColumnSource iSource, + WritableColumnSource zdtSource) { longSource.ensureCapacity(ROW_COUNT); - dtSource.ensureCapacity(ROW_COUNT); iSource.ensureCapacity(ROW_COUNT); zdtSource.ensureCapacity(ROW_COUNT); for (int ii = 0; ii < ROW_COUNT; ii++) { final long tOff = ii * 60 * 1_000_000_000L; longSource.set(ii, Long.valueOf(baseLongTime + tOff)); - dtSource.set(ii, DateTimeUtils.nanosToTime(baseDateTime.getNanos() + tOff)); - iSource.set(ii, DateTimeUtils.makeInstant(DateTimeUtils.toEpochNano(baseInstant) + tOff)); - zdtSource.set(ii, DateTimeUtils.makeZonedDateTime(DateTimeUtils.toEpochNano(baseZDT) + tOff, + iSource.set(ii, DateTimeUtils.epochNanosToInstant(DateTimeUtils.epochNanos(baseInstant) + tOff)); + zdtSource.set(ii, DateTimeUtils.epochNanosToZonedDateTime(DateTimeUtils.epochNanos(baseZDT) + tOff, ZoneId.of("America/New_York"))); } final Map> cols = new LinkedHashMap<>(); cols.put("L", longSource); - cols.put("DT", dtSource); cols.put("I", iSource); cols.put("ZDT", zdtSource); return new QueryTable(RowSetFactory.flat(ROW_COUNT).toTracking(), cols); } - private QueryTable makeTable(WritableColumnSource longSource, WritableColumnSource dtSource, - WritableColumnSource iSource, WritableColumnSource zdtSource) { + private QueryTable makeTable( + WritableColumnSource longSource, + WritableColumnSource iSource, + WritableColumnSource zdtSource) { longSource.ensureCapacity(ROW_COUNT); - dtSource.ensureCapacity(ROW_COUNT); iSource.ensureCapacity(ROW_COUNT); zdtSource.ensureCapacity(ROW_COUNT); for (int ii = 0; ii < ROW_COUNT; ii++) { final long tOff = ii * 60 * 1_000_000_000L; longSource.set(ii, baseLongTime + tOff); - dtSource.set(ii, baseDateTime.getNanos() + tOff); - iSource.set(ii, DateTimeUtils.toEpochNano(baseInstant) + tOff); - zdtSource.set(ii, DateTimeUtils.toEpochNano(baseZDT) + tOff); + iSource.set(ii, DateTimeUtils.epochNanos(baseInstant) + tOff); + zdtSource.set(ii, DateTimeUtils.epochNanos(baseZDT) + tOff); } final Map> cols = new LinkedHashMap<>(); cols.put("L", longSource); - cols.put("DT", dtSource); cols.put("I", iSource); cols.put("ZDT", zdtSource); @@ -146,13 +140,11 @@ public void testReinterpretLong() { private void testReinterpretLong(final Table initial, boolean isSorted, boolean withRename) { final String lColName = withRename ? "R_L" : "L"; - final String dtColName = withRename ? "R_DT" : "DT"; final String iColName = withRename ? "R_I" : "I"; final String zdtColName = withRename ? "R_ZDT" : "ZDT"; // Make everything a long Table table = TableTimeConversions.asEpochNanos(initial, lColName + "=L"); - table = TableTimeConversions.asEpochNanos(table, dtColName + "=DT"); table = TableTimeConversions.asEpochNanos(table, iColName + "=I"); table = TableTimeConversions.asEpochNanos(table, zdtColName + "=ZDT"); @@ -161,7 +153,6 @@ private void testReinterpretLong(final Table initial, boolean isSorted, boolean if (!withRename) { assertEquals(initial.getColumnSource("L"), table.getColumnSource(lColName)); } - assertEquals(long.class, td.getColumn(dtColName).getDataType()); assertEquals(long.class, td.getColumn(iColName).getDataType()); assertEquals(long.class, td.getColumn(zdtColName).getDataType()); @@ -175,19 +166,16 @@ private void testReinterpretLong(final Table initial, boolean isSorted, boolean } else { assertEquals(baseLongTime + tOff, table.getColumnSource(lColName).getLong(key)); } - assertEquals(baseDateTime.getNanos() + tOff, table.getColumnSource(dtColName).getLong(key)); - assertEquals(DateTimeUtils.toEpochNano(baseInstant) + tOff, table.getColumnSource(iColName).getLong(key)); - assertEquals(DateTimeUtils.toEpochNano(baseZDT) + tOff, table.getColumnSource(zdtColName).getLong(key)); + assertEquals(DateTimeUtils.epochNanos(baseInstant) + tOff, table.getColumnSource(iColName).getLong(key)); + assertEquals(DateTimeUtils.epochNanos(baseZDT) + tOff, table.getColumnSource(zdtColName).getLong(key)); } // Repeat the same comparisons, but actuate fillChunk instead reinterpLongChunkCheck(table.getColumnSource(lColName), table.getRowSet(), isSorted, baseLongTime); - reinterpLongChunkCheck(table.getColumnSource(dtColName), table.getRowSet(), isSorted, - baseDateTime.getNanos()); reinterpLongChunkCheck(table.getColumnSource(iColName), table.getRowSet(), isSorted, - DateTimeUtils.toEpochNano(baseInstant)); + DateTimeUtils.epochNanos(baseInstant)); reinterpLongChunkCheck(table.getColumnSource(zdtColName), table.getRowSet(), isSorted, - DateTimeUtils.toEpochNano(baseZDT)); + DateTimeUtils.epochNanos(baseZDT)); if (!isSorted) { testReinterpretLong(initial.sortDescending("L"), true, withRename); @@ -235,19 +223,16 @@ private void doReinterpretTestBasic(final Table initial, Consumer extraCheck, boolean withRename) { final String lColName = withRename ? "R_L" : "L"; - final String dtColName = withRename ? "R_DT" : "DT"; final String iColName = withRename ? "R_I" : "I"; final String zdtColName = withRename ? "R_ZDT" : "ZDT"; - // Make everything a DateTime + // Make everything the expected type Table table = reinterpreter.apply(initial, lColName + "=L"); - table = reinterpreter.apply(table, dtColName + "=DT"); table = reinterpreter.apply(table, iColName + "=I"); table = reinterpreter.apply(table, zdtColName + "=ZDT"); TableDefinition td = table.getDefinition(); assertEquals(expectedType, td.getColumn(lColName).getDataType()); - assertEquals(expectedType, td.getColumn(dtColName).getDataType()); assertEquals(expectedType, td.getColumn(iColName).getDataType()); assertEquals(expectedType, td.getColumn(zdtColName).getDataType()); @@ -262,13 +247,10 @@ private void doReinterpretTestBasic(final Table initial, assertEquals(baseLongTime + tOff, (long) toNanoFunc.apply((T) table.getColumnSource(lColName).get(key))); extraCheck.accept((T) table.getColumnSource(lColName).get(key)); - assertEquals(baseDateTime.getNanos() + tOff, - (long) toNanoFunc.apply((T) table.getColumnSource(dtColName).get(key))); - extraCheck.accept((T) table.getColumnSource(dtColName).get(key)); - assertEquals(DateTimeUtils.toEpochNano(baseInstant) + tOff, + assertEquals(DateTimeUtils.epochNanos(baseInstant) + tOff, (long) toNanoFunc.apply((T) table.getColumnSource(iColName).get(key))); extraCheck.accept((T) table.getColumnSource(iColName).get(key)); - assertEquals(DateTimeUtils.toEpochNano(baseZDT) + tOff, + assertEquals(DateTimeUtils.epochNanos(baseZDT) + tOff, (long) toNanoFunc.apply((T) table.getColumnSource(zdtColName).get(key))); extraCheck.accept((T) table.getColumnSource(zdtColName).get(key)); } @@ -276,12 +258,10 @@ private void doReinterpretTestBasic(final Table initial, // Repeat the same comparisons, but actuate fillChunk instead reinterpBasicChunkCheck(table.getColumnSource(lColName), table.getRowSet(), toNanoFunc, isSorted, baseLongTime, extraCheck); - reinterpBasicChunkCheck(table.getColumnSource(dtColName), table.getRowSet(), toNanoFunc, isSorted, - baseDateTime.getNanos(), extraCheck); reinterpBasicChunkCheck(table.getColumnSource(iColName), table.getRowSet(), toNanoFunc, isSorted, - DateTimeUtils.toEpochNano(baseInstant), extraCheck); + DateTimeUtils.epochNanos(baseInstant), extraCheck); reinterpBasicChunkCheck(table.getColumnSource(zdtColName), table.getRowSet(), toNanoFunc, isSorted, - DateTimeUtils.toEpochNano(baseZDT), extraCheck); + DateTimeUtils.epochNanos(baseZDT), extraCheck); if (!isSorted) { doReinterpretTestBasic(initial.sortDescending("L"), expectedType, reinterpreter, equalColumn, toNanoFunc, @@ -304,28 +284,16 @@ private void reinterpBasicChunkCheck(final ColumnSource cs, final RowSet } } - @Test - public void testReinterpretDBDT() { - doReinterpretTestBasic( - baseTable, DateTime.class, TableTimeConversions::asDateTime, "DT", DateTimeUtils::nanos); - doReinterpretTestBasic( - sparseBaseTable, DateTime.class, TableTimeConversions::asDateTime, "DT", DateTimeUtils::nanos); - doReinterpretTestBasic( - objectTable, DateTime.class, TableTimeConversions::asDateTime, "DT", DateTimeUtils::nanos); - doReinterpretTestBasic( - sparseObjectTable, DateTime.class, TableTimeConversions::asDateTime, "DT", DateTimeUtils::nanos); - } - @Test public void testReinterpretInstant() { doReinterpretTestBasic( - baseTable, Instant.class, TableTimeConversions::asInstant, "I", DateTimeUtils::toEpochNano); + baseTable, Instant.class, TableTimeConversions::asInstant, "I", DateTimeUtils::epochNanos); doReinterpretTestBasic( - sparseBaseTable, Instant.class, TableTimeConversions::asInstant, "I", DateTimeUtils::toEpochNano); + sparseBaseTable, Instant.class, TableTimeConversions::asInstant, "I", DateTimeUtils::epochNanos); doReinterpretTestBasic( - objectTable, Instant.class, TableTimeConversions::asInstant, "I", DateTimeUtils::toEpochNano); + objectTable, Instant.class, TableTimeConversions::asInstant, "I", DateTimeUtils::epochNanos); doReinterpretTestBasic( - sparseObjectTable, Instant.class, TableTimeConversions::asInstant, "I", DateTimeUtils::toEpochNano); + sparseObjectTable, Instant.class, TableTimeConversions::asInstant, "I", DateTimeUtils::epochNanos); } @Test @@ -335,16 +303,16 @@ public void testReinterpretZdt() { doReinterpretTestBasic(baseTable, ZonedDateTime.class, (t, c) -> TableTimeConversions.asZonedDateTime(t, c, "America/Chicago"), - null, DateTimeUtils::toEpochNano, extraCheck); + null, DateTimeUtils::epochNanos, extraCheck); doReinterpretTestBasic(sparseBaseTable, ZonedDateTime.class, (t, c) -> TableTimeConversions.asZonedDateTime(t, c, "America/Chicago"), - null, DateTimeUtils::toEpochNano, extraCheck); + null, DateTimeUtils::epochNanos, extraCheck); doReinterpretTestBasic(objectTable, ZonedDateTime.class, (t, c) -> TableTimeConversions.asZonedDateTime(t, c, "America/Chicago"), - null, DateTimeUtils::toEpochNano, extraCheck); + null, DateTimeUtils::epochNanos, extraCheck); doReinterpretTestBasic(sparseObjectTable, ZonedDateTime.class, (t, c) -> TableTimeConversions.asZonedDateTime(t, c, "America/Chicago"), - null, DateTimeUtils::toEpochNano, extraCheck); + null, DateTimeUtils::epochNanos, extraCheck); } private void reinterpWrappedChunkCheck(final ColumnSource cs, RowSet rowSet, final boolean isSorted, @@ -369,33 +337,27 @@ public void testReinterpretLocalDate() { private void doTestReinterpretLocalDate(final Table initial, boolean sorted) { Table table = TableTimeConversions.asLocalDate(initial, "L", "America/Chicago"); - table = TableTimeConversions.asLocalDate(table, "DT", "America/Chicago"); table = TableTimeConversions.asLocalDate(table, "I", "America/Chicago"); table = TableTimeConversions.asLocalDate(table, "ZDT", "America/Chicago"); TableDefinition td = table.getDefinition(); assertEquals(LocalDate.class, td.getColumn("L").getDataType()); - assertEquals(LocalDate.class, td.getColumn("DT").getDataType()); assertEquals(LocalDate.class, td.getColumn("I").getDataType()); assertEquals(LocalDate.class, td.getColumn("ZDT").getDataType()); for (final RowSet.Iterator it = table.getRowSet().iterator(); it.hasNext();) { final long key = it.nextLong(); assertEquals(LocalDate.of(2021, 10, 20), table.getColumnSource("L").get(key)); - assertEquals(LocalDate.of(2021, 10, 19), table.getColumnSource("DT").get(key)); - assertEquals(LocalDate.of(2021, 10, 18), table.getColumnSource("ZDT").get(key)); assertEquals(LocalDate.of(2021, 10, 17), table.getColumnSource("I").get(key)); + assertEquals(LocalDate.of(2021, 10, 18), table.getColumnSource("ZDT").get(key)); } reinterpWrappedChunkCheck( table.getColumnSource("L"), table.getRowSet(), sorted, (i, s) -> LocalDate.of(2021, 10, 20)); reinterpWrappedChunkCheck( - table.getColumnSource("DT"), table.getRowSet(), sorted, (i, s) -> LocalDate.of(2021, 10, 19)); + table.getColumnSource("I"), table.getRowSet(), sorted, (i, s) -> LocalDate.of(2021, 10, 17)); reinterpWrappedChunkCheck( table.getColumnSource("ZDT"), table.getRowSet(), sorted, (i, s) -> LocalDate.of(2021, 10, 18)); - reinterpWrappedChunkCheck( - table.getColumnSource("I"), table.getRowSet(), sorted, (i, s) -> LocalDate.of(2021, 10, 17)); - if (!sorted) { doTestReinterpretLocalDate(initial.sortDescending("L"), true); } @@ -411,13 +373,11 @@ public void testReinterpretLocalTime() { private void doTestReinterpretLocalTime(final Table initial, boolean sorted) { Table table = TableTimeConversions.asLocalTime(initial, "L", "America/Chicago"); - table = TableTimeConversions.asLocalTime(table, "DT", "America/Chicago"); table = TableTimeConversions.asLocalTime(table, "I", "America/Chicago"); table = TableTimeConversions.asLocalTime(table, "ZDT", "America/Chicago"); TableDefinition td = table.getDefinition(); assertEquals(LocalTime.class, td.getColumn("L").getDataType()); - assertEquals(LocalTime.class, td.getColumn("DT").getDataType()); assertEquals(LocalTime.class, td.getColumn("I").getDataType()); assertEquals(LocalTime.class, td.getColumn("ZDT").getDataType()); @@ -429,19 +389,16 @@ private void doTestReinterpretLocalTime(final Table initial, boolean sorted) { final int hourOff = startIter / 30; final int minute = (startIter + 30) % 60; assertEquals(LocalTime.of(8 + hourOff, minute, 0), table.getColumnSource("L").get(key)); - assertEquals(LocalTime.of(9 + hourOff, minute, 0), table.getColumnSource("DT").get(key)); - assertEquals(LocalTime.of(10 + hourOff, minute, 0), table.getColumnSource("ZDT").get(key)); assertEquals(LocalTime.of(11 + hourOff, minute, 0), table.getColumnSource("I").get(key)); + assertEquals(LocalTime.of(10 + hourOff, minute, 0), table.getColumnSource("ZDT").get(key)); } reinterpWrappedChunkCheck( table.getColumnSource("L"), table.getRowSet(), sorted, (i, s) -> makeLocalTime(8, i, s)); reinterpWrappedChunkCheck( - table.getColumnSource("DT"), table.getRowSet(), sorted, (i, s) -> makeLocalTime(9, i, s)); + table.getColumnSource("I"), table.getRowSet(), sorted, (i, s) -> makeLocalTime(11, i, s)); reinterpWrappedChunkCheck( table.getColumnSource("ZDT"), table.getRowSet(), sorted, (i, s) -> makeLocalTime(10, i, s)); - reinterpWrappedChunkCheck( - table.getColumnSource("I"), table.getRowSet(), sorted, (i, s) -> makeLocalTime(11, i, s)); if (!sorted) { doTestReinterpretLocalTime(initial.sortDescending("L"), true); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestSimulationClock.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestSimulationClock.java index ddc0ee21696..d5d91712f7f 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestSimulationClock.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestSimulationClock.java @@ -5,17 +5,18 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.testutil.testcase.RefreshingTableTestCase; +import java.time.Instant; + /** * Quick unit test for {@link SimulationClock}. */ public class TestSimulationClock extends RefreshingTableTestCase { public void testSignal() { - final DateTime start = DateTime.now(); - final SimulationClock clock = new SimulationClock(start, DateTimeUtils.plus(start, 1), 1); + final Instant start = DateTimeUtils.now(); + final SimulationClock clock = new SimulationClock(start, start.plusNanos(1), 1); clock.start(); for (int ci = 0; ci < 2; ++ci) { UpdateGraphProcessor.DEFAULT.runWithinUnitTestCycle(clock::advance); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/WhereFilterFactoryTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/WhereFilterFactoryTest.java index 4c8f9898517..8c0a17ab99c 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/select/WhereFilterFactoryTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/select/WhereFilterFactoryTest.java @@ -7,7 +7,6 @@ import io.deephaven.engine.table.TableDefinition; import io.deephaven.engine.context.QueryScope; import io.deephaven.engine.testutil.testcase.RefreshingTableTestCase; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.testutil.TstUtils; @@ -16,7 +15,7 @@ import java.math.BigDecimal; import java.math.BigInteger; -import java.time.ZoneId; +import java.time.Instant; import java.time.ZonedDateTime; import java.time.temporal.ChronoUnit; import java.util.Arrays; @@ -200,14 +199,13 @@ public void testBigIn() { } - public void testInDateTimes() { - DateTime wed = DateTimeUtils.convertDateTime("2018-05-02T10:00:00 NY");// not in the table + public void testInInstants() { + Instant wed = DateTimeUtils.parseInstant("2018-05-02T10:00:00 NY");// not in the table - DateTime mon = DateTimeUtils.convertDateTime("2018-04-30T10:00:00 NY"); - DateTime tues = DateTimeUtils.convertDateTime("2018-05-01T10:00:00 NY"); - DateTime thurs = DateTimeUtils.convertDateTime("2018-05-03T10:00:00 NY"); - Table t = TableTools.newTable(TableTools.col("Timestamp", new DateTime(mon.getNanos()), - new DateTime(tues.getNanos()), new DateTime(thurs.getNanos()))); + Instant mon = DateTimeUtils.parseInstant("2018-04-30T10:00:00 NY"); + Instant tues = DateTimeUtils.parseInstant("2018-05-01T10:00:00 NY"); + Instant thurs = DateTimeUtils.parseInstant("2018-05-03T10:00:00 NY"); + Table t = TableTools.newTable(TableTools.col("Timestamp", mon, tues, thurs)); // match one item WhereFilter f = WhereFilterFactory.getExpression("Timestamp in '" + mon + "'"); f.init(t.getDefinition()); @@ -287,25 +285,24 @@ public void testTypeInference() { null, 0, null, '0'); checkResult("FALS3", false, false, false, false, false, false, false, false, false, (byte) 0, (short) 0, 0, 0, null, 0, null, '0'); - - checkDateRange("18:43", makeDateTime("18:43"), makeDateTime("18:44")); - checkDateRange("18:43:40", makeDateTime("18:43:40"), makeDateTime("18:43:41")); - checkDateRange("18:43:40.100", makeDateTime("18:43:40.100"), makeDateTime("18:43:40.101")); - checkDateRange("2018-03-25 NY", DateTimeUtils.convertDateTime("2018-03-25 NY"), - DateTimeUtils.convertDateTime("2018-03-26 NY")); - checkDateRange("2018-03-25T18:00 NY", DateTimeUtils.convertDateTime("2018-03-25T18:00 NY"), - DateTimeUtils.convertDateTime("2018-03-25T18:01 NY")); - checkDateRange("2018-03-25T18:00:00 NY", DateTimeUtils.convertDateTime("2018-03-25T18:00:00 NY"), - DateTimeUtils.convertDateTime("2018-03-25T18:00:01 NY")); + checkDateRange("PT18:43", makeInstant("PT18:43"), makeInstant("PT18:44")); + checkDateRange("PT18:43:40", makeInstant("PT18:43:40"), makeInstant("PT18:43:41")); + checkDateRange("PT18:43:40.100", makeInstant("PT18:43:40.100"), makeInstant("PT18:43:40.101")); + checkDateRange("2018-03-25 NY", DateTimeUtils.parseInstant("2018-03-25 NY"), + DateTimeUtils.parseInstant("2018-03-26 NY")); + checkDateRange("2018-03-25T18:00 NY", DateTimeUtils.parseInstant("2018-03-25T18:00 NY"), + DateTimeUtils.parseInstant("2018-03-25T18:01 NY")); + checkDateRange("2018-03-25T18:00:00 NY", DateTimeUtils.parseInstant("2018-03-25T18:00:00 NY"), + DateTimeUtils.parseInstant("2018-03-25T18:00:01 NY")); } - private DateTime makeDateTime(String timeStr) { - ZonedDateTime zdt = ZonedDateTime.now(ZoneId.of("America/New_York")).truncatedTo(ChronoUnit.DAYS) - .plus(DateTimeUtils.convertTime(timeStr), ChronoUnit.NANOS); - return DateTimeUtils.millisToTime(zdt.toInstant().toEpochMilli()); + private Instant makeInstant(String timeStr) { + ZonedDateTime zdt = ZonedDateTime.now(DateTimeUtils.timeZone()).truncatedTo(ChronoUnit.DAYS) + .plus(DateTimeUtils.parseDurationNanos(timeStr), ChronoUnit.NANOS); + return zdt.toInstant(); } - private void checkDateRange(String input, DateTime lowerDate, DateTime upperDate) { + private void checkDateRange(String input, Instant lowerDate, Instant upperDate) { WhereFilterFactory.InferenceResult inf = new WhereFilterFactory.InferenceResult(input); assertEquals(false, inf.isByte); assertEquals(false, inf.isShort); @@ -316,8 +313,8 @@ private void checkDateRange(String input, DateTime lowerDate, DateTime upperDate assertEquals(false, inf.isBool); assertEquals(false, inf.isChar); - assertEquals(lowerDate.getNanos(), inf.dateLower.getNanos()); - assertEquals(upperDate.getNanos(), inf.dateUpper.getNanos()); + assertEquals(DateTimeUtils.epochNanos(lowerDate), DateTimeUtils.epochNanos(inf.dateLower)); + assertEquals(DateTimeUtils.epochNanos(upperDate), DateTimeUtils.epochNanos(inf.dateUpper)); } private void checkResult(String input, boolean isByte, boolean isShort, boolean isInt, boolean isLong, diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/ArrayBackedColumnSourceTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/ArrayBackedColumnSourceTest.java index 51f5ba9119c..fa84bad6588 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/ArrayBackedColumnSourceTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/ArrayBackedColumnSourceTest.java @@ -4,7 +4,6 @@ package io.deephaven.engine.table.impl.sources; import io.deephaven.engine.table.WritableColumnSource; -import io.deephaven.time.DateTime; import io.deephaven.qst.array.Array; import io.deephaven.qst.array.GenericArray; import io.deephaven.qst.array.PrimitiveArray; @@ -70,8 +69,7 @@ public void fromStringArray() { @Test public void fromInstants() { - check(ArrayBackedColumnSourceTest::checkInstant, Type.instantType(), Instant.ofEpochMilli(1), null, - Instant.ofEpochMilli(3)); + check(Type.instantType(), Instant.ofEpochMilli(1), null, Instant.ofEpochMilli(3)); } @Test @@ -115,10 +113,4 @@ private static void check(BiPredicate comparison, Type type, T assertThat(columnSource.get(ix++)).matches((Predicate) right -> comparison.test(left, right)); } } - - private static boolean checkInstant(Instant instant, Object o) { - return (instant == null && o == null) || - (instant != null && (o instanceof DateTime) - && instant.toEpochMilli() == ((DateTime) o).getMillis()); - } } diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/chunkcolumnsource/TestChunkColumnSource.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/chunkcolumnsource/TestChunkColumnSource.java index b96d8e3c2e1..d338e3577fd 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/chunkcolumnsource/TestChunkColumnSource.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/chunkcolumnsource/TestChunkColumnSource.java @@ -6,12 +6,11 @@ import gnu.trove.list.array.TLongArrayList; import io.deephaven.chunk.attributes.Values; import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.sources.LongAsInstantColumnSource; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.chunk.util.hashing.IntChunkEquals; import io.deephaven.engine.table.impl.sources.ByteAsBooleanColumnSource; -import io.deephaven.engine.table.impl.sources.LongAsDateTimeColumnSource; import io.deephaven.chunk.*; import io.deephaven.engine.rowset.RowSequence; import io.deephaven.engine.rowset.RowSequenceFactory; @@ -23,6 +22,8 @@ import org.junit.Before; import org.junit.Test; +import java.time.Instant; + public class TestChunkColumnSource { @Before public void setUp() throws Exception { @@ -478,44 +479,44 @@ public void testBooleanWrapper() { } } - private static DateTime makeExpectDateTime(int idx) { - return DateTimeUtils.plus(DateTimeUtils.convertDateTime("2021-07-27T09:00 NY"), idx * 3600_000_000_000L); + private static Instant makeExpectedInstant(int idx) { + return DateTimeUtils.plus(DateTimeUtils.parseInstant("2021-07-27T09:00 NY"), idx * 3600_000_000_000L); } @Test - public void testDateTimeWrapper() { + public void testInstantWrapper() { final WritableLongChunk longChunk = WritableLongChunk.makeWritableChunk(32); for (int ii = 0; ii < longChunk.size(); ++ii) { - longChunk.set(ii, makeExpectDateTime(ii).getNanos()); + longChunk.set(ii, DateTimeUtils.epochNanos(makeExpectedInstant(ii))); } final LongChunkColumnSource columnSource = new LongChunkColumnSource(); columnSource.addChunk(longChunk); - final LongAsDateTimeColumnSource wrapped = new LongAsDateTimeColumnSource(columnSource); + final LongAsInstantColumnSource wrapped = new LongAsInstantColumnSource(columnSource); TestCase.assertNull(wrapped.get(-1)); TestCase.assertNull(wrapped.get(2048)); for (int ii = 0; ii < 32; ++ii) { - TestCase.assertEquals(makeExpectDateTime(ii), wrapped.get(ii)); + TestCase.assertEquals(makeExpectedInstant(ii), wrapped.get(ii)); } - final WritableObjectChunk destChunk = WritableObjectChunk.makeWritableChunk(2048); + final WritableObjectChunk destChunk = WritableObjectChunk.makeWritableChunk(2048); try (final ChunkSource.FillContext fillContext = wrapped.makeFillContext(32)) { wrapped.fillChunk(fillContext, destChunk, RowSequenceFactory.forRange(0, 31)); TestCase.assertEquals(32, destChunk.size()); for (int ii = 0; ii < 32; ++ii) { - TestCase.assertEquals(makeExpectDateTime(ii), destChunk.get(ii)); + TestCase.assertEquals(makeExpectedInstant(ii), destChunk.get(ii)); } } try (final ChunkSource.GetContext getContext = wrapped.makeGetContext(32)) { - final ObjectChunk values = + final ObjectChunk values = wrapped.getChunk(getContext, RowSequenceFactory.forRange(1, 10)).asObjectChunk(); TestCase.assertEquals(10, values.size()); for (int ii = 1; ii <= 10; ++ii) { - TestCase.assertEquals(makeExpectDateTime(ii), values.get(ii - 1)); + TestCase.assertEquals(makeExpectedInstant(ii), values.get(ii - 1)); } } } diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestChunkedRegionedOperations.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestChunkedRegionedOperations.java index 913a07fbe04..b6e780300fe 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestChunkedRegionedOperations.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestChunkedRegionedOperations.java @@ -11,7 +11,6 @@ import io.deephaven.stringset.StringSet; import io.deephaven.engine.context.QueryScope; import io.deephaven.engine.testutil.junit4.EngineCleanup; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.parquet.table.ParquetTools; import io.deephaven.engine.util.TableTools; @@ -39,6 +38,7 @@ import java.math.BigInteger; import java.nio.file.Files; import java.nio.file.Paths; +import java.time.Instant; import java.util.*; import java.util.stream.IntStream; import java.util.stream.Stream; @@ -186,7 +186,7 @@ public void setUp() throws Exception { "Bl = II % 8192 == 0 ? null : II % 2 == 0", "Sym = II % 64 == 0 ? null : Long.toString(II % 1000)", "Str = II % 128 == 0 ? null : Long.toString(II)", - "DT = II % 256 == 0 ? null : new DateTime(nowNanos + II)", + "DT = II % 256 == 0 ? null : DateTimeUtils.epochNanosToInstant(nowNanos + II)", "SymS = (StringSet) new ArrayStringSet(letters[((int) II) % 64], letters[(((int) II) + 7) % 64])", "Ser = II % 1024 == 0 ? null : new SimpleSerializable(II)", "Ext = II % 1024 == 0 ? null : new SimpleExternalizable(II)", @@ -210,7 +210,7 @@ public void setUp() throws Exception { "Bl = (Boolean) null", "Sym = (String) null", "Str = (String) null", - "DT = (DateTime) null", + "DT = (Instant) null", "SymS = (StringSet) null", "Ser = (SimpleSerializable) null", "Ext = (SimpleExternalizable) null", @@ -263,7 +263,7 @@ public void setUp() throws Exception { inputMissingData.updateView("PC = `P` + PC")) .updateView( "Bl_R = booleanAsByte(Bl)", - "DT_R = nanos(DT)"); + "DT_R = epochNanos(DT)"); actual = ParquetTools.readPartitionedTable( DeephavenNestedPartitionLayout.forParquet(dataDirectory, tableName, "PC", null), @@ -271,7 +271,7 @@ public void setUp() throws Exception { partitionedDataDefinition).updateView( List.of( new ReinterpretedColumn<>("Bl", Boolean.class, "Bl_R", byte.class), - new ReinterpretedColumn<>("DT", DateTime.class, "DT_R", long.class))) + new ReinterpretedColumn<>("DT", Instant.class, "DT_R", long.class))) .coalesce(); } diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestRegionedColumnSourceDateTime.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestRegionedColumnSourceInstant.java similarity index 59% rename from engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestRegionedColumnSourceDateTime.java rename to engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestRegionedColumnSourceInstant.java index 97593d9916e..37e9e3dc516 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestRegionedColumnSourceDateTime.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestRegionedColumnSourceInstant.java @@ -4,49 +4,51 @@ package io.deephaven.engine.table.impl.sources.regioned; import io.deephaven.chunk.attributes.Values; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.TimeZone; -import io.deephaven.util.QueryConstants; import io.deephaven.engine.table.ColumnSource; import org.junit.Test; +import java.time.Instant; +import java.time.ZoneId; + @SuppressWarnings("JUnit4AnnotatedMethodInJUnit3TestCase") -public class TestRegionedColumnSourceDateTime - extends TstRegionedColumnSourceReferencing> { +public class TestRegionedColumnSourceInstant + extends TstRegionedColumnSourceReferencing> { + + private static final ZoneId TZ_NY = ZoneId.of("America/New_York"); - public TestRegionedColumnSourceDateTime() { + public TestRegionedColumnSourceInstant() { super(ColumnRegionLong.class); } - private static final DateTime[] TEST_DATES = new DateTime[] { + private static final Instant[] TEST_INSTANTS = new Instant[] { null, - DateTimeUtils.currentTime(), - DateTimeUtils.dateAtMidnight(DateTimeUtils.currentTime(), TimeZone.TZ_NY), - DateTimeUtils.convertDateTime("2013-01-15T12:19:32.000 NY"), - DateTimeUtils.convertDateTime("2013-01-15T09:30:00.000 NY"), - DateTimeUtils.convertDateTime("2013-01-15T16:00:00.000 NY"), - DateTimeUtils.convertDateTime("2013-01-15T16:15:00.000 NY"), - DateTimeUtils.convertDateTime("2000-01-01T00:00:00.000 NY"), - DateTimeUtils.convertDateTime("1999-12-31T23:59:59.000 NY"), - DateTimeUtils.convertDateTime("1981-02-22T19:50:00.000 NY") + DateTimeUtils.now(), + DateTimeUtils.atMidnight(DateTimeUtils.now(), TZ_NY), + DateTimeUtils.parseInstant("2013-01-15T12:19:32.000 NY"), + DateTimeUtils.parseInstant("2013-01-15T09:30:00.000 NY"), + DateTimeUtils.parseInstant("2013-01-15T16:00:00.000 NY"), + DateTimeUtils.parseInstant("2013-01-15T16:15:00.000 NY"), + DateTimeUtils.parseInstant("2000-01-01T00:00:00.000 NY"), + DateTimeUtils.parseInstant("1999-12-31T23:59:59.000 NY"), + DateTimeUtils.parseInstant("1981-02-22T19:50:00.000 NY") }; private ColumnSource SUT_AS_LONG; private void assertLookup(final long elementIndex, final int expectedRegionIndex, - final DateTime output, + final Instant output, final boolean prev, final boolean reinterpreted) { checking(new Expectations() { { oneOf(cr[expectedRegionIndex]).getLong(elementIndex); - will(returnValue(output == null ? QueryConstants.NULL_LONG : output.getNanos())); + will(returnValue(DateTimeUtils.epochNanos(output))); } }); if (reinterpreted) { - assertEquals(output == null ? QueryConstants.NULL_LONG : output.getNanos(), + assertEquals(DateTimeUtils.epochNanos(output), prev ? SUT_AS_LONG.getPrevLong(elementIndex) : SUT_AS_LONG.getLong(elementIndex)); } else { assertEquals(output, prev ? SUT.getPrev(elementIndex) : SUT.get(elementIndex)); @@ -58,11 +60,10 @@ private void assertLookup(final long elementIndex, public void setUp() throws Exception { super.setUp(); - SUT = new RegionedColumnSourceDateTime(); - assertEquals(DateTime.class, SUT.getType()); + SUT = new RegionedColumnSourceInstant(); + assertEquals(Instant.class, SUT.getType()); SUT_AS_LONG = SUT.reinterpret(long.class); assertEquals(long.class, SUT_AS_LONG.getType()); - assertEquals(RegionedColumnSourceDateTime.class, SUT_AS_LONG.reinterpret(DateTime.class).getClass()); } @Override @@ -70,20 +71,20 @@ public void testGet() { fillRegions(); // noinspection ConstantConditions - assertLookup(0L, 0, TEST_DATES[0], false, false); - assertLookup(RegionedColumnSource.getLastRowKey(0), 0, TEST_DATES[1], false, false); + assertLookup(0L, 0, TEST_INSTANTS[0], false, false); + assertLookup(RegionedColumnSource.getLastRowKey(0), 0, TEST_INSTANTS[1], false, false); - assertLookup(RegionedColumnSource.getFirstRowKey(1) + 1, 1, TEST_DATES[2], false, false); - assertLookup(RegionedColumnSource.getLastRowKey(1) - 1, 1, TEST_DATES[3], false, false); + assertLookup(RegionedColumnSource.getFirstRowKey(1) + 1, 1, TEST_INSTANTS[2], false, false); + assertLookup(RegionedColumnSource.getLastRowKey(1) - 1, 1, TEST_INSTANTS[3], false, false); - assertLookup(RegionedColumnSource.getFirstRowKey(4) + 2, 4, TEST_DATES[4], false, false); - assertLookup(RegionedColumnSource.getLastRowKey(4) - 2, 4, TEST_DATES[5], false, false); + assertLookup(RegionedColumnSource.getFirstRowKey(4) + 2, 4, TEST_INSTANTS[4], false, false); + assertLookup(RegionedColumnSource.getLastRowKey(4) - 2, 4, TEST_INSTANTS[5], false, false); - assertLookup(RegionedColumnSource.getFirstRowKey(8) + 3, 8, TEST_DATES[6], false, false); - assertLookup(RegionedColumnSource.getLastRowKey(8) - 3, 8, TEST_DATES[7], false, false); + assertLookup(RegionedColumnSource.getFirstRowKey(8) + 3, 8, TEST_INSTANTS[6], false, false); + assertLookup(RegionedColumnSource.getLastRowKey(8) - 3, 8, TEST_INSTANTS[7], false, false); - assertLookup(RegionedColumnSource.getFirstRowKey(9) + 4, 9, TEST_DATES[8], false, false); - assertLookup(RegionedColumnSource.getLastRowKey(9) - 4, 9, TEST_DATES[9], false, false); + assertLookup(RegionedColumnSource.getFirstRowKey(9) + 4, 9, TEST_INSTANTS[8], false, false); + assertLookup(RegionedColumnSource.getLastRowKey(9) - 4, 9, TEST_INSTANTS[9], false, false); } @Override @@ -91,20 +92,20 @@ public void testGetPrev() { fillRegions(); // noinspection ConstantConditions - assertLookup(0L, 0, TEST_DATES[0], true, false); - assertLookup(RegionedColumnSource.getLastRowKey(0), 0, TEST_DATES[1], true, false); + assertLookup(0L, 0, TEST_INSTANTS[0], true, false); + assertLookup(RegionedColumnSource.getLastRowKey(0), 0, TEST_INSTANTS[1], true, false); - assertLookup(RegionedColumnSource.getFirstRowKey(1) + 1, 1, TEST_DATES[2], true, false); - assertLookup(RegionedColumnSource.getLastRowKey(1) - 1, 1, TEST_DATES[3], true, false); + assertLookup(RegionedColumnSource.getFirstRowKey(1) + 1, 1, TEST_INSTANTS[2], true, false); + assertLookup(RegionedColumnSource.getLastRowKey(1) - 1, 1, TEST_INSTANTS[3], true, false); - assertLookup(RegionedColumnSource.getFirstRowKey(4) + 2, 4, TEST_DATES[4], true, false); - assertLookup(RegionedColumnSource.getLastRowKey(4) - 2, 4, TEST_DATES[5], true, false); + assertLookup(RegionedColumnSource.getFirstRowKey(4) + 2, 4, TEST_INSTANTS[4], true, false); + assertLookup(RegionedColumnSource.getLastRowKey(4) - 2, 4, TEST_INSTANTS[5], true, false); - assertLookup(RegionedColumnSource.getFirstRowKey(8) + 3, 8, TEST_DATES[6], true, false); - assertLookup(RegionedColumnSource.getLastRowKey(8) - 3, 8, TEST_DATES[7], true, false); + assertLookup(RegionedColumnSource.getFirstRowKey(8) + 3, 8, TEST_INSTANTS[6], true, false); + assertLookup(RegionedColumnSource.getLastRowKey(8) - 3, 8, TEST_INSTANTS[7], true, false); - assertLookup(RegionedColumnSource.getFirstRowKey(9) + 4, 9, TEST_DATES[8], true, false); - assertLookup(RegionedColumnSource.getLastRowKey(9) - 4, 9, TEST_DATES[9], true, false); + assertLookup(RegionedColumnSource.getFirstRowKey(9) + 4, 9, TEST_INSTANTS[8], true, false); + assertLookup(RegionedColumnSource.getLastRowKey(9) - 4, 9, TEST_INSTANTS[9], true, false); } @Test @@ -112,20 +113,20 @@ public void testGetReinterpreted() { fillRegions(); // noinspection ConstantConditions - assertLookup(0L, 0, TEST_DATES[0], false, true); - assertLookup(RegionedColumnSource.getLastRowKey(0), 0, TEST_DATES[1], false, true); + assertLookup(0L, 0, TEST_INSTANTS[0], false, true); + assertLookup(RegionedColumnSource.getLastRowKey(0), 0, TEST_INSTANTS[1], false, true); - assertLookup(RegionedColumnSource.getFirstRowKey(1) + 1, 1, TEST_DATES[2], false, true); - assertLookup(RegionedColumnSource.getLastRowKey(1) - 1, 1, TEST_DATES[3], false, true); + assertLookup(RegionedColumnSource.getFirstRowKey(1) + 1, 1, TEST_INSTANTS[2], false, true); + assertLookup(RegionedColumnSource.getLastRowKey(1) - 1, 1, TEST_INSTANTS[3], false, true); - assertLookup(RegionedColumnSource.getFirstRowKey(4) + 2, 4, TEST_DATES[4], false, true); - assertLookup(RegionedColumnSource.getLastRowKey(4) - 2, 4, TEST_DATES[5], false, true); + assertLookup(RegionedColumnSource.getFirstRowKey(4) + 2, 4, TEST_INSTANTS[4], false, true); + assertLookup(RegionedColumnSource.getLastRowKey(4) - 2, 4, TEST_INSTANTS[5], false, true); - assertLookup(RegionedColumnSource.getFirstRowKey(8) + 3, 8, TEST_DATES[6], false, true); - assertLookup(RegionedColumnSource.getLastRowKey(8) - 3, 8, TEST_DATES[7], false, true); + assertLookup(RegionedColumnSource.getFirstRowKey(8) + 3, 8, TEST_INSTANTS[6], false, true); + assertLookup(RegionedColumnSource.getLastRowKey(8) - 3, 8, TEST_INSTANTS[7], false, true); - assertLookup(RegionedColumnSource.getFirstRowKey(9) + 4, 9, TEST_DATES[8], false, true); - assertLookup(RegionedColumnSource.getLastRowKey(9) - 4, 9, TEST_DATES[9], false, true); + assertLookup(RegionedColumnSource.getFirstRowKey(9) + 4, 9, TEST_INSTANTS[8], false, true); + assertLookup(RegionedColumnSource.getLastRowKey(9) - 4, 9, TEST_INSTANTS[9], false, true); } @Test @@ -133,19 +134,19 @@ public void testGetPrevReinterpreted() { fillRegions(); // noinspection ConstantConditions - assertLookup(0L, 0, TEST_DATES[0], true, true); - assertLookup(RegionedColumnSource.getLastRowKey(0), 0, TEST_DATES[1], true, true); + assertLookup(0L, 0, TEST_INSTANTS[0], true, true); + assertLookup(RegionedColumnSource.getLastRowKey(0), 0, TEST_INSTANTS[1], true, true); - assertLookup(RegionedColumnSource.getFirstRowKey(1) + 1, 1, TEST_DATES[2], true, true); - assertLookup(RegionedColumnSource.getLastRowKey(1) - 1, 1, TEST_DATES[3], true, true); + assertLookup(RegionedColumnSource.getFirstRowKey(1) + 1, 1, TEST_INSTANTS[2], true, true); + assertLookup(RegionedColumnSource.getLastRowKey(1) - 1, 1, TEST_INSTANTS[3], true, true); - assertLookup(RegionedColumnSource.getFirstRowKey(4) + 2, 4, TEST_DATES[4], true, true); - assertLookup(RegionedColumnSource.getLastRowKey(4) - 2, 4, TEST_DATES[5], true, true); + assertLookup(RegionedColumnSource.getFirstRowKey(4) + 2, 4, TEST_INSTANTS[4], true, true); + assertLookup(RegionedColumnSource.getLastRowKey(4) - 2, 4, TEST_INSTANTS[5], true, true); - assertLookup(RegionedColumnSource.getFirstRowKey(8) + 3, 8, TEST_DATES[6], true, true); - assertLookup(RegionedColumnSource.getLastRowKey(8) - 3, 8, TEST_DATES[7], true, true); + assertLookup(RegionedColumnSource.getFirstRowKey(8) + 3, 8, TEST_INSTANTS[6], true, true); + assertLookup(RegionedColumnSource.getLastRowKey(8) - 3, 8, TEST_INSTANTS[7], true, true); - assertLookup(RegionedColumnSource.getFirstRowKey(9) + 4, 9, TEST_DATES[8], true, true); - assertLookup(RegionedColumnSource.getLastRowKey(9) - 4, 9, TEST_DATES[9], true, true); + assertLookup(RegionedColumnSource.getFirstRowKey(9) + 4, 9, TEST_INSTANTS[8], true, true); + assertLookup(RegionedColumnSource.getLastRowKey(9) - 4, 9, TEST_INSTANTS[9], true, true); } } diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/ring/RingTableToolsTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/ring/RingTableToolsTest.java index 2a061b6020b..aadfbd34332 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/ring/RingTableToolsTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/sources/ring/RingTableToolsTest.java @@ -13,11 +13,12 @@ import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.testutil.junit4.EngineCleanup; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import org.junit.Rule; import org.junit.Test; import java.math.BigInteger; +import java.time.Instant; import static io.deephaven.engine.testutil.TstUtils.assertEqualsByElements; import static io.deephaven.engine.testutil.TstUtils.assertTableEquals; @@ -26,9 +27,9 @@ import static io.deephaven.engine.util.TableTools.booleanCol; import static io.deephaven.engine.util.TableTools.byteCol; import static io.deephaven.engine.util.TableTools.charCol; -import static io.deephaven.engine.util.TableTools.dateTimeCol; import static io.deephaven.engine.util.TableTools.doubleCol; import static io.deephaven.engine.util.TableTools.floatCol; +import static io.deephaven.engine.util.TableTools.instantCol; import static io.deephaven.engine.util.TableTools.intCol; import static io.deephaven.engine.util.TableTools.longCol; import static io.deephaven.engine.util.TableTools.shortCol; @@ -52,7 +53,7 @@ public void staticTableToRing() { longHolder(size), shortHolder(size), stringHolder(size), - dateTimeHolder(size), + instantHolder(size), booleanHolder(size)); for (int capacity = 1; capacity <= 256; ++capacity) { final Table tail = table.tail(capacity); @@ -88,7 +89,7 @@ private static void cycleTest(int capacity, int appendSize, int times) { longHolder(appendSize), shortHolder(appendSize), stringHolder(appendSize), - dateTimeHolder(appendSize), + instantHolder(appendSize), booleanHolder(appendSize), }; final BlinkTableHelper streamHelper = new BlinkTableHelper(appendSize, holders); @@ -195,12 +196,12 @@ private static ColumnHolder booleanHolder(int appendSize) { return booleanCol("X_boolean", col); } - private static ColumnHolder dateTimeHolder(int appendSize) { - DateTime[] col = new DateTime[appendSize]; + private static ColumnHolder instantHolder(int appendSize) { + Instant[] col = new Instant[appendSize]; for (int i = 0; i < appendSize; ++i) { - col[i] = new DateTime(i); + col[i] = DateTimeUtils.epochNanosToInstant(i); } - return dateTimeCol("X_datetime", col); + return instantCol("X_datetime", col); } private static class BlinkTableHelper { diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestDelta.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestDelta.java index 6b1e35c35b6..50bc00a7729 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestDelta.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestDelta.java @@ -10,17 +10,18 @@ import io.deephaven.engine.testutil.GenerateTableUpdates; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.generator.CharGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; import org.junit.Test; import org.junit.experimental.categories.Category; import java.math.BigDecimal; import java.math.BigInteger; +import java.time.Instant; import java.util.Arrays; import java.util.List; import java.util.Random; @@ -28,7 +29,6 @@ import static io.deephaven.engine.testutil.GenerateTableUpdates.generateAppends; import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.engine.util.TableTools.intCol; -import static io.deephaven.time.DateTimeUtils.convertDateTime; import static io.deephaven.util.QueryConstants.*; import static org.junit.Assert.assertArrayEquals; @@ -86,9 +86,9 @@ public void testManualVerification() { public void testStaticZeroKey() { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, false, false, false, 0x31313131, new String[] {"timeCol", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; t.setRefreshing(false); @@ -154,9 +154,9 @@ public void testStaticGroupedBucketed() { private void doTestStaticBucketed(boolean grouped) { final QueryTable t = createTestTable(100000, true, grouped, false, 0x31313131, new String[] {"timeCol", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; t.setRefreshing(false); @@ -237,9 +237,9 @@ public void testBucketedAppendOnly() { private void doTestAppendOnly(boolean bucketed) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, new String[] {"timeCol", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; t.setAttribute(Table.APPEND_ONLY_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -265,9 +265,9 @@ private void doTestAppendOnly(boolean bucketed) { public void testZeroKeyGeneralTicking() { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, false, false, true, 0x31313131, new String[] {"timeCol", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; @@ -288,9 +288,9 @@ public void testZeroKeyGeneralTicking() { public void testBucketedGeneralTicking() { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, true, false, true, 0x31313131, new String[] {"timeCol", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; @@ -488,12 +488,13 @@ private static long[] deltaTime(@NotNull final Object[] expected, DeltaControl c result[ii] = NULL_LONG; } else if (ii == 0 || expected[ii - 1] == null) { result[ii] = control.nullBehavior() == NullBehavior.ValueDominates - ? ((DateTime) expected[ii]).getNanos() + ? DateTimeUtils.epochNanos(((Instant) expected[ii])) : (control.nullBehavior() == NullBehavior.NullDominates ? NULL_LONG : 0); // ZeroDominates } else { - result[ii] = ((DateTime) expected[ii]).getNanos() - ((DateTime) expected[ii - 1]).getNanos(); + result[ii] = DateTimeUtils.epochNanos(((Instant) expected[ii])) + - DateTimeUtils.epochNanos(((Instant) expected[ii - 1])); } } @@ -516,7 +517,7 @@ final void assertWithDelta(final @NotNull Object expected, final @NotNull Object assertArrayEquals(delta((float[]) expected, control), (float[]) actual, .001f); } else if (expected instanceof double[]) { assertArrayEquals(delta((double[]) expected, control), (double[]) actual, .001d); - } else if (((Object[]) expected).length > 0 && ((Object[]) expected)[0] instanceof DateTime) { + } else if (((Object[]) expected).length > 0 && ((Object[]) expected)[0] instanceof Instant) { assertArrayEquals(deltaTime((Object[]) expected, control), (long[]) actual); } else if (((Object[]) expected).length > 0) { assertArrayEquals(delta((Object[]) expected, control), (Object[]) actual); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEmMinMax.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEmMinMax.java index 1d29c2d11f1..86f0d4d0dde 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEmMinMax.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEmMinMax.java @@ -19,11 +19,11 @@ import io.deephaven.engine.table.impl.util.ColumnHolder; import io.deephaven.engine.testutil.EvalNugget; import io.deephaven.engine.testutil.generator.CharGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -32,6 +32,7 @@ import java.math.BigInteger; import java.math.MathContext; import java.time.Duration; +import java.time.Instant; import java.util.Arrays; import java.util.Random; @@ -40,8 +41,7 @@ import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.engine.util.TableTools.*; import static io.deephaven.function.Basic.isNull; -import static io.deephaven.time.DateTimeUtils.MINUTE; -import static io.deephaven.time.DateTimeUtils.convertDateTime; +import static io.deephaven.time.DateTimeUtils.*; import static io.deephaven.util.QueryConstants.*; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.fail; @@ -100,9 +100,9 @@ public class TestEmMinMax extends BaseUpdateByTest { public void testStaticZeroKey() { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, false, false, false, 0xFFFABBBC, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final OperationControl skipControl = OperationControl.builder() @@ -113,10 +113,10 @@ public void testStaticZeroKey() { .onNullValue(BadDataBehavior.RESET) .onNanValue(BadDataBehavior.RESET).build(); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } // Test minimum @@ -187,9 +187,9 @@ public void testStaticGroupedBucketed() { private void doTestStaticBucketed(boolean grouped) { final TableDefaults t = createTestTable(STATIC_TABLE_SIZE, true, grouped, false, 0x31313131, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final OperationControl skipControl = OperationControl.builder() @@ -238,10 +238,10 @@ private void doTestStaticBucketed(boolean grouped) { preOp.partitionedTransform(postOpSkipTime, (source, actual) -> { final int sourceSize = source.intSize(); - final DateTime[] ts = (DateTime[]) source.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) source.getColumn("ts").getDirect(); final long[] timestamps = new long[sourceSize]; for (int i = 0; i < sourceSize; i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } Arrays.stream(columns).forEach(col -> { final Class colType = source.getColumn(col).getType(); @@ -254,10 +254,10 @@ private void doTestStaticBucketed(boolean grouped) { preOp.partitionedTransform(postOpResetTime, (source, actual) -> { final int sourceSize = source.intSize(); - final DateTime[] ts = (DateTime[]) source.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) source.getColumn("ts").getDirect(); final long[] timestamps = new long[sourceSize]; for (int i = 0; i < sourceSize; i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } Arrays.stream(columns).forEach(col -> { final Class colType = source.getColumn(col).getType(); @@ -306,10 +306,10 @@ private void doTestStaticBucketed(boolean grouped) { preOp.partitionedTransform(postOpSkipTime, (source, actual) -> { final int sourceSize = source.intSize(); - final DateTime[] ts = (DateTime[]) source.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) source.getColumn("ts").getDirect(); final long[] timestamps = new long[sourceSize]; for (int i = 0; i < sourceSize; i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } Arrays.stream(columns).forEach(col -> { final Class colType = source.getColumn(col).getType(); @@ -322,10 +322,10 @@ private void doTestStaticBucketed(boolean grouped) { preOp.partitionedTransform(postOpResetTime, (source, actual) -> { final int sourceSize = source.intSize(); - final DateTime[] ts = (DateTime[]) source.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) source.getColumn("ts").getDirect(); final long[] timestamps = new long[sourceSize]; for (int i = 0; i < sourceSize; i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } Arrays.stream(columns).forEach(col -> { final Class colType = source.getColumn(col).getType(); @@ -419,10 +419,10 @@ public void testThrowBehaviors() { @Test public void testTimeThrowBehaviors() { final ColumnHolder ts = col("ts", - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:29:00.000 NY"), - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:32:00.000 NY"), + parseInstant("2022-03-11T09:30:00.000 NY"), + parseInstant("2022-03-11T09:29:00.000 NY"), + parseInstant("2022-03-11T09:30:00.000 NY"), + parseInstant("2022-03-11T09:32:00.000 NY"), null); testThrowsInternal( @@ -481,12 +481,12 @@ public void testResetBehavior() { .build(); final ColumnHolder ts = col("ts", - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:31:00.000 NY"), - convertDateTime("2022-03-11T09:32:00.000 NY"), - convertDateTime("2022-03-11T09:33:00.000 NY"), - convertDateTime("2022-03-11T09:34:00.000 NY"), - convertDateTime("2022-03-11T09:35:00.000 NY")); + parseInstant("2022-03-11T09:30:00.000 NY"), + parseInstant("2022-03-11T09:31:00.000 NY"), + parseInstant("2022-03-11T09:32:00.000 NY"), + parseInstant("2022-03-11T09:33:00.000 NY"), + parseInstant("2022-03-11T09:34:00.000 NY"), + parseInstant("2022-03-11T09:35:00.000 NY")); Table expected = testTable(RowSetFactory.flat(6).toTracking(), ts, doubleCol("col", 0, NULL_DOUBLE, 2, NULL_DOUBLE, 4, NULL_DOUBLE)); @@ -577,11 +577,11 @@ public void testPoison() { assertTableEquals(expected, input.updateBy(UpdateByOperation.EmMin(nanCtl, 10))); final ColumnHolder ts = col("ts", - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:31:00.000 NY"), + parseInstant("2022-03-11T09:30:00.000 NY"), + parseInstant("2022-03-11T09:31:00.000 NY"), null, - convertDateTime("2022-03-11T09:33:00.000 NY"), - convertDateTime("2022-03-11T09:34:00.000 NY"), + parseInstant("2022-03-11T09:33:00.000 NY"), + parseInstant("2022-03-11T09:34:00.000 NY"), null); expected = testTable(RowSetFactory.flat(6).toTracking(), ts, @@ -599,10 +599,10 @@ public void testPoison() { /** * This is a hacky, inefficient way to force nulls into the timestamps while maintaining sorted-ness otherwise */ - private class SortedIntGeneratorWithNulls extends SortedDateTimeGenerator { + private class SortedIntGeneratorWithNulls extends SortedInstantGenerator { final double nullFrac; - public SortedIntGeneratorWithNulls(DateTime minTime, DateTime maxTime, double nullFrac) { + public SortedIntGeneratorWithNulls(Instant minTime, Instant maxTime, double nullFrac) { super(minTime, maxTime); this.nullFrac = nullFrac; } @@ -613,7 +613,7 @@ public Chunk populateChunk(RowSet toAdd, Random random) { if (nullFrac == 0.0) { return retChunk; } - ObjectChunk srcChunk = retChunk.asObjectChunk(); + ObjectChunk srcChunk = retChunk.asObjectChunk(); Object[] dateArr = new Object[srcChunk.size()]; srcChunk.copyToArray(0, dateArr, 0, dateArr.length); @@ -631,8 +631,8 @@ public Chunk populateChunk(RowSet toAdd, Random random) { public void testNullTimestamps() { final CreateResult timeResult = createTestTable(100, true, false, true, 0x31313131, new String[] {"ts"}, new TestDataGenerator[] {new SortedIntGeneratorWithNulls( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"), + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY"), 0.25)}); final OperationControl skipControl = OperationControl.builder() @@ -689,9 +689,9 @@ private void doTestTicking(boolean bucketed, boolean appendOnly) { new CharGenerator('A', 'z', 0.1)}); final CreateResult timeResult = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); if (appendOnly) { @@ -823,9 +823,9 @@ public void testInterfaces() { final QueryTable t = createTestTable(100, false, false, false, 0xFFFABBBC, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final OperationControl skipControl = OperationControl.builder() @@ -836,10 +836,10 @@ public void testInterfaces() { .onNullValue(BadDataBehavior.RESET) .onNanValue(BadDataBehavior.RESET).build(); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } // Test minimum diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEmStd.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEmStd.java index 108fe18d77e..1a338d9fbae 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEmStd.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEmStd.java @@ -18,12 +18,12 @@ import io.deephaven.engine.testutil.EvalNugget; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.generator.CharGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableDiff; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -31,6 +31,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.math.MathContext; +import java.time.Instant; import java.util.Arrays; import java.util.EnumSet; import java.util.List; @@ -41,8 +42,7 @@ import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.engine.util.TableTools.*; import static io.deephaven.function.Basic.isNull; -import static io.deephaven.time.DateTimeUtils.MINUTE; -import static io.deephaven.time.DateTimeUtils.convertDateTime; +import static io.deephaven.time.DateTimeUtils.*; import static io.deephaven.util.QueryConstants.*; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.fail; @@ -214,9 +214,9 @@ public void testStaticZeroKey() { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, false, false, false, 0xFFFABBBC, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final OperationControl skipControl = OperationControl.builder() @@ -243,10 +243,10 @@ public void testStaticZeroKey() { final Table actualSkipTime = t.updateBy(UpdateByOperation.EmStd(skipControl, "ts", 10 * MINUTE, columns)); final Table actualResetTime = t.updateBy(UpdateByOperation.EmStd(resetControl, "ts", 10 * MINUTE, columns)); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } for (String col : columns) { @@ -275,9 +275,9 @@ public void testStaticGroupedBucketed() { private void doTestStaticBucketed(boolean grouped) { final TableDefaults t = createTestTable(STATIC_TABLE_SIZE, true, grouped, false, 0x31313131, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final OperationControl skipControl = OperationControl.builder() @@ -325,10 +325,10 @@ private void doTestStaticBucketed(boolean grouped) { preOp.partitionedTransform(postOpSkipTime, (source, actual) -> { final int sourceSize = source.intSize(); - final DateTime[] ts = (DateTime[]) source.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) source.getColumn("ts").getDirect(); final long[] timestamps = new long[sourceSize]; for (int i = 0; i < sourceSize; i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } Arrays.stream(columns).forEach(col -> { final Class colType = source.getColumn(col).getType(); @@ -341,10 +341,10 @@ private void doTestStaticBucketed(boolean grouped) { preOp.partitionedTransform(postOpResetTime, (source, actual) -> { final int sourceSize = source.intSize(); - final DateTime[] ts = (DateTime[]) source.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) source.getColumn("ts").getDirect(); final long[] timestamps = new long[sourceSize]; for (int i = 0; i < sourceSize; i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } Arrays.stream(columns).forEach(col -> { final Class colType = source.getColumn(col).getType(); @@ -437,10 +437,10 @@ public void testThrowBehaviors() { @Test public void testTimeThrowBehaviors() { final ColumnHolder ts = col("ts", - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:29:00.000 NY"), - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:32:00.000 NY"), + parseInstant("2022-03-11T09:30:00.000 NY"), + parseInstant("2022-03-11T09:29:00.000 NY"), + parseInstant("2022-03-11T09:30:00.000 NY"), + parseInstant("2022-03-11T09:32:00.000 NY"), null); testThrowsInternal( @@ -665,10 +665,10 @@ public void testPoison() { /** * This is a hacky, inefficient way to force nulls into the timestamps while maintaining sorted-ness otherwise */ - private class SortedIntGeneratorWithNulls extends SortedDateTimeGenerator { + private class SortedIntGeneratorWithNulls extends SortedInstantGenerator { final double nullFrac; - public SortedIntGeneratorWithNulls(DateTime minTime, DateTime maxTime, double nullFrac) { + public SortedIntGeneratorWithNulls(Instant minTime, Instant maxTime, double nullFrac) { super(minTime, maxTime); this.nullFrac = nullFrac; } @@ -679,7 +679,7 @@ public Chunk populateChunk(RowSet toAdd, Random random) { if (nullFrac == 0.0) { return retChunk; } - ObjectChunk srcChunk = retChunk.asObjectChunk(); + ObjectChunk srcChunk = retChunk.asObjectChunk(); Object[] dateArr = new Object[srcChunk.size()]; srcChunk.copyToArray(0, dateArr, 0, dateArr.length); @@ -697,9 +697,9 @@ public Chunk populateChunk(RowSet toAdd, Random random) { public void testNullTimestamps() { final CreateResult timeResult = createTestTable(100, true, false, true, 0x31313131, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final OperationControl skipControl = OperationControl.builder() @@ -776,9 +776,9 @@ private void doTestTicking(boolean bucketed, boolean appendOnly, boolean redirec new CharGenerator('A', 'z', 0.1)}); final CreateResult timeResult = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); if (appendOnly) { diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEma.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEma.java index 82792229e6f..96191f0669d 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEma.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEma.java @@ -16,7 +16,7 @@ import io.deephaven.engine.table.impl.util.ColumnHolder; import io.deephaven.engine.testutil.EvalNugget; import io.deephaven.engine.testutil.generator.CharGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableDiff; @@ -25,13 +25,14 @@ import io.deephaven.numerics.movingaverages.ByEma; import io.deephaven.numerics.movingaverages.ByEmaSimple; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import org.junit.Test; import org.junit.experimental.categories.Category; import java.math.BigDecimal; import java.math.BigInteger; import java.time.Duration; +import java.time.Instant; import java.util.Random; import java.util.concurrent.TimeUnit; @@ -39,8 +40,7 @@ import static io.deephaven.engine.testutil.TstUtils.*; import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.engine.util.TableTools.*; -import static io.deephaven.time.DateTimeUtils.MINUTE; -import static io.deephaven.time.DateTimeUtils.convertDateTime; +import static io.deephaven.time.DateTimeUtils.*; import static io.deephaven.util.QueryConstants.*; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -51,9 +51,9 @@ public class TestEma extends BaseUpdateByTest { @Test public void testStaticZeroKey() { final QueryTable t = createTestTable(100000, false, false, false, 0xFFFABBBC, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}).t; + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}).t; final OperationControl skipControl = OperationControl.builder() .onNullValue(BadDataBehavior.SKIP) @@ -87,9 +87,9 @@ public void testStaticGroupedBucketed() { private void doTestStaticBucketed(boolean grouped) { final TableDefaults t = createTestTable(100000, true, grouped, false, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}).t; + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}).t; final OperationControl skipControl = OperationControl.builder() .onNullValue(BadDataBehavior.SKIP) @@ -188,10 +188,10 @@ public void testThrowBehaviors() { @Test public void testTimeThrowBehaviors() { final ColumnHolder ts = col("ts", - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:29:00.000 NY"), - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:32:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:30:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:29:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:30:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:32:00.000 NY"), null); testThrowsInternal( @@ -250,12 +250,12 @@ public void testResetBehavior() { .build(); final ColumnHolder ts = col("ts", - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:31:00.000 NY"), - convertDateTime("2022-03-11T09:32:00.000 NY"), - convertDateTime("2022-03-11T09:33:00.000 NY"), - convertDateTime("2022-03-11T09:34:00.000 NY"), - convertDateTime("2022-03-11T09:35:00.000 NY")); + DateTimeUtils.parseInstant("2022-03-11T09:30:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:31:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:32:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:33:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:34:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:35:00.000 NY")); Table expected = testTable(RowSetFactory.flat(6).toTracking(), ts, doubleCol("col", 0, NULL_DOUBLE, 2, NULL_DOUBLE, 4, NULL_DOUBLE)); @@ -346,11 +346,11 @@ public void testPoison() { assertTableEquals(expected, input.updateBy(UpdateByOperation.Ema(nanCtl, 10))); final ColumnHolder ts = col("ts", - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:31:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:30:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:31:00.000 NY"), null, - convertDateTime("2022-03-11T09:33:00.000 NY"), - convertDateTime("2022-03-11T09:34:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:33:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-11T09:34:00.000 NY"), null); expected = testTable(RowSetFactory.flat(6).toTracking(), ts, @@ -368,10 +368,10 @@ public void testPoison() { /** * This is a hacky, inefficient way to force nulls into the timestamps while maintaining sorted-ness otherwise */ - private class SortedIntGeneratorWithNulls extends SortedDateTimeGenerator { + private class SortedIntGeneratorWithNulls extends SortedInstantGenerator { final double nullFrac; - public SortedIntGeneratorWithNulls(DateTime minTime, DateTime maxTime, double nullFrac) { + public SortedIntGeneratorWithNulls(Instant minTime, Instant maxTime, double nullFrac) { super(minTime, maxTime); this.nullFrac = nullFrac; } @@ -382,7 +382,7 @@ public Chunk populateChunk(RowSet toAdd, Random random) { if (nullFrac == 0.0) { return retChunk; } - ObjectChunk srcChunk = retChunk.asObjectChunk(); + ObjectChunk srcChunk = retChunk.asObjectChunk(); Object[] dateArr = new Object[srcChunk.size()]; srcChunk.copyToArray(0, dateArr, 0, dateArr.length); @@ -400,8 +400,8 @@ public Chunk populateChunk(RowSet toAdd, Random random) { public void testNullTimestamps() { final CreateResult timeResult = createTestTable(100, true, false, true, 0x31313131, new String[] {"ts"}, new TestDataGenerator[] {new SortedIntGeneratorWithNulls( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"), 0.25)}); final OperationControl skipControl = OperationControl.builder() @@ -454,9 +454,9 @@ public void testBucketedGeneral() { private void doTestTicking(boolean bucketed, boolean appendOnly) { final CreateResult tickResult = createTestTable(10000, bucketed, false, true, 0x31313131); final CreateResult timeResult = createTestTable(10000, bucketed, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); if (appendOnly) { tickResult.t.setAttribute(Table.ADD_ONLY_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -563,9 +563,9 @@ public void testInterfaces() { final QueryTable t = createTestTable(100, false, false, false, 0xFFFABBBC, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final OperationControl skipControl = OperationControl.builder() @@ -576,10 +576,10 @@ public void testInterfaces() { .onNullValue(BadDataBehavior.RESET) .onNanValue(BadDataBehavior.RESET).build(); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } Table actual = t.updateBy(UpdateByOperation.Ema(100)); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEms.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEms.java index 1c41c30eba0..da25d1138e1 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEms.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestEms.java @@ -17,11 +17,11 @@ import io.deephaven.engine.table.impl.util.ColumnHolder; import io.deephaven.engine.testutil.EvalNugget; import io.deephaven.engine.testutil.generator.CharGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -30,6 +30,7 @@ import java.math.BigInteger; import java.math.MathContext; import java.time.Duration; +import java.time.Instant; import java.util.Arrays; import java.util.Random; @@ -39,8 +40,7 @@ import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.engine.util.TableTools.*; import static io.deephaven.function.Basic.isNull; -import static io.deephaven.time.DateTimeUtils.MINUTE; -import static io.deephaven.time.DateTimeUtils.convertDateTime; +import static io.deephaven.time.DateTimeUtils.*; import static io.deephaven.util.QueryConstants.*; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.fail; @@ -77,9 +77,9 @@ public class TestEms extends BaseUpdateByTest { public void testStaticZeroKey() { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, false, false, false, 0xFFFABBBC, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final OperationControl skipControl = OperationControl.builder() @@ -104,10 +104,10 @@ public void testStaticZeroKey() { final Table actualSkipTime = t.updateBy(UpdateByOperation.Ems(skipControl, "ts", 10 * MINUTE, columns)); final Table actualResetTime = t.updateBy(UpdateByOperation.Ems(resetControl, "ts", 10 * MINUTE, columns)); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } for (String col : columns) { @@ -136,9 +136,9 @@ public void testStaticGroupedBucketed() { private void doTestStaticBucketed(boolean grouped) { final TableDefaults t = createTestTable(STATIC_TABLE_SIZE, true, grouped, false, 0x31313131, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final OperationControl skipControl = OperationControl.builder() @@ -185,10 +185,10 @@ private void doTestStaticBucketed(boolean grouped) { preOp.partitionedTransform(postOpSkipTime, (source, actual) -> { final int sourceSize = source.intSize(); - final DateTime[] ts = (DateTime[]) source.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) source.getColumn("ts").getDirect(); final long[] timestamps = new long[sourceSize]; for (int i = 0; i < sourceSize; i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } Arrays.stream(columns).forEach(col -> { final Class colType = source.getColumn(col).getType(); @@ -201,10 +201,10 @@ private void doTestStaticBucketed(boolean grouped) { preOp.partitionedTransform(postOpResetTime, (source, actual) -> { final int sourceSize = source.intSize(); - final DateTime[] ts = (DateTime[]) source.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) source.getColumn("ts").getDirect(); final long[] timestamps = new long[sourceSize]; for (int i = 0; i < sourceSize; i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } Arrays.stream(columns).forEach(col -> { final Class colType = source.getColumn(col).getType(); @@ -297,10 +297,10 @@ public void testThrowBehaviors() { @Test public void testTimeThrowBehaviors() { final ColumnHolder ts = col("ts", - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:29:00.000 NY"), - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:32:00.000 NY"), + parseInstant("2022-03-11T09:30:00.000 NY"), + parseInstant("2022-03-11T09:29:00.000 NY"), + parseInstant("2022-03-11T09:30:00.000 NY"), + parseInstant("2022-03-11T09:32:00.000 NY"), null); testThrowsInternal( @@ -359,12 +359,12 @@ public void testResetBehavior() { .build(); final ColumnHolder ts = col("ts", - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:31:00.000 NY"), - convertDateTime("2022-03-11T09:32:00.000 NY"), - convertDateTime("2022-03-11T09:33:00.000 NY"), - convertDateTime("2022-03-11T09:34:00.000 NY"), - convertDateTime("2022-03-11T09:35:00.000 NY")); + parseInstant("2022-03-11T09:30:00.000 NY"), + parseInstant("2022-03-11T09:31:00.000 NY"), + parseInstant("2022-03-11T09:32:00.000 NY"), + parseInstant("2022-03-11T09:33:00.000 NY"), + parseInstant("2022-03-11T09:34:00.000 NY"), + parseInstant("2022-03-11T09:35:00.000 NY")); Table expected = testTable(RowSetFactory.flat(6).toTracking(), ts, doubleCol("col", 0, NULL_DOUBLE, 2, NULL_DOUBLE, 4, NULL_DOUBLE)); @@ -455,11 +455,11 @@ public void testPoison() { assertTableEquals(expected, input.updateBy(UpdateByOperation.Ems(nanCtl, 10))); final ColumnHolder ts = col("ts", - convertDateTime("2022-03-11T09:30:00.000 NY"), - convertDateTime("2022-03-11T09:31:00.000 NY"), + parseInstant("2022-03-11T09:30:00.000 NY"), + parseInstant("2022-03-11T09:31:00.000 NY"), null, - convertDateTime("2022-03-11T09:33:00.000 NY"), - convertDateTime("2022-03-11T09:34:00.000 NY"), + parseInstant("2022-03-11T09:33:00.000 NY"), + parseInstant("2022-03-11T09:34:00.000 NY"), null); expected = testTable(RowSetFactory.flat(6).toTracking(), ts, @@ -477,10 +477,10 @@ public void testPoison() { /** * This is a hacky, inefficient way to force nulls into the timestamps while maintaining sorted-ness otherwise */ - private class SortedIntGeneratorWithNulls extends SortedDateTimeGenerator { + private class SortedIntGeneratorWithNulls extends SortedInstantGenerator { final double nullFrac; - public SortedIntGeneratorWithNulls(DateTime minTime, DateTime maxTime, double nullFrac) { + public SortedIntGeneratorWithNulls(Instant minTime, Instant maxTime, double nullFrac) { super(minTime, maxTime); this.nullFrac = nullFrac; } @@ -491,7 +491,7 @@ public Chunk populateChunk(RowSet toAdd, Random random) { if (nullFrac == 0.0) { return retChunk; } - ObjectChunk srcChunk = retChunk.asObjectChunk(); + ObjectChunk srcChunk = retChunk.asObjectChunk(); Object[] dateArr = new Object[srcChunk.size()]; srcChunk.copyToArray(0, dateArr, 0, dateArr.length); @@ -509,8 +509,8 @@ public Chunk populateChunk(RowSet toAdd, Random random) { public void testNullTimestamps() { final CreateResult timeResult = createTestTable(100, true, false, true, 0x31313131, new String[] {"ts"}, new TestDataGenerator[] {new SortedIntGeneratorWithNulls( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"), + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY"), 0.25)}); final OperationControl skipControl = OperationControl.builder() @@ -567,9 +567,9 @@ private void doTestTicking(boolean bucketed, boolean appendOnly) { new CharGenerator('A', 'z', 0.1)}); final CreateResult timeResult = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); if (appendOnly) { @@ -660,9 +660,9 @@ public void testInterfaces() { final QueryTable t = createTestTable(100, false, false, false, 0xFFFABBBC, new String[] {"ts", "charCol"}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + parseInstant("2022-03-09T09:00:00.000 NY"), + parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final OperationControl skipControl = OperationControl.builder() @@ -673,10 +673,10 @@ public void testInterfaces() { .onNullValue(BadDataBehavior.RESET) .onNanValue(BadDataBehavior.RESET).build(); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = epochNanos(ts[i]); } Table actual = t.updateBy(UpdateByOperation.Ems(100, columns)); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingAvg.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingAvg.java index 7035655ba1f..9978ea0d9df 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingAvg.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingAvg.java @@ -11,11 +11,12 @@ import io.deephaven.engine.testutil.GenerateTableUpdates; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.generator.CharGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableDiff; import io.deephaven.test.types.OutOfBandTest; +import io.deephaven.time.DateTimeUtils; import io.deephaven.vector.ObjectVector; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -33,7 +34,6 @@ import static io.deephaven.engine.testutil.GenerateTableUpdates.generateAppends; import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.function.Basic.isNull; -import static io.deephaven.time.DateTimeUtils.convertDateTime; @Category(OutOfBandTest.class) public class TestRollingAvg extends BaseUpdateByTest { @@ -379,9 +379,9 @@ private void doTestStaticZeroKey(final int prevTicks, final int postTicks) { private void doTestStaticZeroKeyTimed(final Duration prevTime, final Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, false, false, false, 0xFFFABBBC, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final Table actual = t.updateBy(UpdateByOperation.RollingAvg("ts", prevTime, postTime, primitiveColumns)); @@ -501,9 +501,9 @@ private void doTestStaticBucketed(boolean grouped, int prevTicks, int postTicks) private void doTestStaticBucketedTimed(boolean grouped, Duration prevTime, Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, true, grouped, false, 0xFFFABBBC, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final Table actual = @@ -697,9 +697,9 @@ private void doTestAppendOnly(boolean bucketed, int prevTicks, int postTicks) { private void doTestAppendOnlyTimed(boolean bucketed, Duration prevTime, Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; t.setAttribute(Table.APPEND_ONLY_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -857,9 +857,9 @@ private void doTestTicking(final boolean bucketed, final long prevTicks, final l private void doTestTickingTimed(final boolean bucketed, final Duration prevTime, final Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; @@ -918,9 +918,9 @@ public void testBucketedGeneralTickingTimedRevRedirected() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, true, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingCount.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingCount.java index f7047d9d28e..c321eb0be6f 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingCount.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingCount.java @@ -12,11 +12,12 @@ import io.deephaven.engine.testutil.GenerateTableUpdates; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.generator.CharGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableDiff; import io.deephaven.test.types.OutOfBandTest; +import io.deephaven.time.DateTimeUtils; import io.deephaven.vector.ObjectVector; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -29,7 +30,6 @@ import static io.deephaven.engine.testutil.GenerateTableUpdates.generateAppends; import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; -import static io.deephaven.time.DateTimeUtils.convertDateTime; @Category(OutOfBandTest.class) public class TestRollingCount extends BaseUpdateByTest { @@ -322,9 +322,9 @@ private void doTestStaticZeroKey(final int prevTicks, final int postTicks) { private void doTestStaticZeroKeyTimed(final Duration prevTime, final Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, false, false, false, 0xFFFABBBC, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final Table actual = t.updateBy(UpdateByOperation.RollingCount("ts", prevTime, postTime, primitiveColumns)); @@ -447,9 +447,9 @@ private void doTestStaticBucketed(boolean grouped, int prevTicks, int postTicks) private void doTestStaticBucketedTimed(boolean grouped, Duration prevTime, Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, true, grouped, false, 0xFFFABBBC, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final Table actual = @@ -642,9 +642,9 @@ private void doTestAppendOnly(boolean bucketed, int prevTicks, int postTicks) { private void doTestAppendOnlyTimed(boolean bucketed, Duration prevTime, Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; t.setAttribute(Table.APPEND_ONLY_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -804,9 +804,9 @@ private void doTestTicking(final boolean bucketed, final long prevTicks, final l private void doTestTickingTimed(final boolean bucketed, final Duration prevTime, final Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; @@ -862,9 +862,9 @@ public void testBucketedGeneralTickingTimedRevRedirected() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, true, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingGroup.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingGroup.java index 660fe692fff..c0e29dbbf24 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingGroup.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingGroup.java @@ -12,11 +12,11 @@ import io.deephaven.engine.testutil.EvalNugget; import io.deephaven.engine.testutil.GenerateTableUpdates; import io.deephaven.engine.testutil.TstUtils; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import io.deephaven.vector.*; import org.jetbrains.annotations.NotNull; import org.junit.Test; @@ -25,6 +25,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.time.Duration; +import java.time.Instant; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -34,7 +35,6 @@ import static io.deephaven.engine.testutil.GenerateTableUpdates.generateAppends; import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.engine.util.TableTools.intCol; -import static io.deephaven.time.DateTimeUtils.convertDateTime; import static io.deephaven.util.QueryConstants.NULL_LONG; import static org.junit.Assert.assertArrayEquals; @@ -152,18 +152,18 @@ private void doTestStaticZeroKey(final int prevTicks, final int postTicks) { private void doTestStaticZeroKeyTimed(final Duration prevTime, final Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, false, false, false, 0xFFFABBBC, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}).t; + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}).t; final Table summed = t.updateBy(UpdateByOperation.RollingGroup("ts", prevTime, postTime, columns)); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } for (String col : t.getDefinition().getColumnNamesArray()) { @@ -288,9 +288,9 @@ private void doTestStaticBucketed(boolean grouped, int prevTicks, int postTicks) private void doTestStaticBucketedTimed(boolean grouped, Duration prevTime, Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, true, grouped, false, 0xFFFABBBC, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}).t; + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}).t; final Table summed = t.updateBy(UpdateByOperation.RollingGroup("ts", prevTime, postTime, columns), "Sym"); @@ -302,10 +302,10 @@ private void doTestStaticBucketedTimed(boolean grouped, Duration prevTime, Durat String[] columns = t.getDefinition().getColumnStream().map(ColumnDefinition::getName).toArray(String[]::new); preOp.partitionedTransform(postOp, (source, actual) -> { - DateTime[] ts = (DateTime[]) source.getColumn("ts").getDirect(); + Instant[] ts = (Instant[]) source.getColumn("ts").getDirect(); long[] timestamps = new long[source.intSize()]; for (int i = 0; i < source.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } Arrays.stream(columns).forEach(col -> { assertWithRollingGroupTime(source.getColumn(col).getDirect(), actual.getColumn(col).getDirect(), @@ -499,9 +499,9 @@ protected Table e() { private void doTestAppendOnlyTimed(boolean bucketed, Duration prevTime, Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; t.setAttribute(Table.ADD_ONLY_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -668,9 +668,9 @@ protected Table e() { private void doTestTickingTimed(final boolean bucketed, final Duration prevTime, final Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; @@ -730,9 +730,9 @@ public void testBucketedGeneralTickingTimedRevRedirected() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, true, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; @@ -805,9 +805,9 @@ public void testUngroupOneRowTimed() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(STATIC_TABLE_SIZE, false, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; @@ -827,9 +827,9 @@ public void testUngroupOneRowBucketedTimed() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(STATIC_TABLE_SIZE, true, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; @@ -881,9 +881,9 @@ public void testUngroupFiveRowsRevTimed() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(STATIC_TABLE_SIZE, false, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; @@ -951,9 +951,9 @@ public void testUngroupFiveRowsFwdTimed() { final Duration postTime = Duration.ofMinutes(5); final CreateResult result = createTestTable(STATIC_TABLE_SIZE, false, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; @@ -988,9 +988,9 @@ public void testEmptyUngroupTimed() { final Duration postTime = Duration.ofMinutes(5_000_000); final CreateResult result = createTestTable(STATIC_TABLE_SIZE, false, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingMinMax.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingMinMax.java index c81bcb8de8c..04a032a52f6 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingMinMax.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingMinMax.java @@ -11,11 +11,12 @@ import io.deephaven.engine.testutil.GenerateTableUpdates; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.generator.CharGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableDiff; import io.deephaven.test.types.OutOfBandTest; +import io.deephaven.time.DateTimeUtils; import io.deephaven.vector.ObjectVector; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -32,7 +33,6 @@ import static io.deephaven.engine.testutil.GenerateTableUpdates.generateAppends; import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.function.Basic.isNull; -import static io.deephaven.time.DateTimeUtils.convertDateTime; @Category(OutOfBandTest.class) public class TestRollingMinMax extends BaseUpdateByTest { @@ -577,9 +577,9 @@ private void doTestStaticZeroKey(final int prevTicks, final int postTicks) { private void doTestStaticZeroKeyTimed(final Duration prevTime, final Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, false, false, false, 0xFFFABBBC, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final Table actualMin = t.updateBy(UpdateByOperation.RollingMin("ts", prevTime, postTime, primitiveColumns)); @@ -715,9 +715,9 @@ private void doTestStaticBucketed(boolean grouped, int prevTicks, int postTicks) private void doTestStaticBucketedTimed(boolean grouped, Duration prevTime, Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, true, grouped, false, 0xFFFABBBC, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final Table actualMin = @@ -931,9 +931,9 @@ protected Table e() { private void doTestAppendOnlyTimed(boolean bucketed, Duration prevTime, Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; t.setAttribute(Table.APPEND_ONLY_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -1097,9 +1097,9 @@ private void doTestTicking(final boolean bucketed, final long prevTicks, final l private void doTestTickingTimed(final boolean bucketed, final Duration prevTime, final Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; @@ -1157,9 +1157,9 @@ public void testBucketedGeneralTickingTimedRevRedirected() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, true, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingProduct.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingProduct.java index d1935cdf4f0..f40c5fc711c 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingProduct.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingProduct.java @@ -11,11 +11,12 @@ import io.deephaven.engine.testutil.GenerateTableUpdates; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.generator.CharGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableDiff; import io.deephaven.test.types.OutOfBandTest; +import io.deephaven.time.DateTimeUtils; import io.deephaven.vector.ObjectVector; import org.jetbrains.annotations.NotNull; import org.junit.Test; @@ -34,7 +35,6 @@ import static io.deephaven.engine.testutil.GenerateTableUpdates.generateAppends; import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.function.Basic.isNull; -import static io.deephaven.time.DateTimeUtils.convertDateTime; @Category(OutOfBandTest.class) public class TestRollingProduct extends BaseUpdateByTest { @@ -410,9 +410,9 @@ private void doTestStaticZeroKey(final int prevTicks, final int postTicks) { private void doTestStaticZeroKeyTimed(final Duration prevTime, final Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, false, false, false, 0xFFFABBBC, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final Table actual = t.updateBy(UpdateByOperation.RollingProduct("ts", prevTime, postTime, primitiveColumns)); @@ -535,9 +535,9 @@ private void doTestStaticBucketed(boolean grouped, int prevTicks, int postTicks) private void doTestStaticBucketedTimed(boolean grouped, Duration prevTime, Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, true, grouped, false, 0xFFFABBBC, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final Table actual = @@ -736,9 +736,9 @@ protected Table e() { private void doTestAppendOnlyTimed(boolean bucketed, Duration prevTime, Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; t.setAttribute(Table.APPEND_ONLY_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -908,9 +908,9 @@ protected Table e() { private void doTestTickingTimed(final boolean bucketed, final Duration prevTime, final Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; @@ -976,9 +976,9 @@ public void testBucketedGeneralTickingTimedRevRedirected() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, true, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingStd.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingStd.java index 350e4885adb..a97a367d448 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingStd.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingStd.java @@ -11,11 +11,12 @@ import io.deephaven.engine.testutil.GenerateTableUpdates; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.generator.CharGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableDiff; import io.deephaven.test.types.OutOfBandTest; +import io.deephaven.time.DateTimeUtils; import io.deephaven.vector.ObjectVector; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -33,7 +34,6 @@ import static io.deephaven.engine.testutil.GenerateTableUpdates.generateAppends; import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.function.Basic.isNull; -import static io.deephaven.time.DateTimeUtils.convertDateTime; @Category(OutOfBandTest.class) public class TestRollingStd extends BaseUpdateByTest { @@ -405,9 +405,9 @@ private void doTestStaticZeroKey(final int prevTicks, final int postTicks) { private void doTestStaticZeroKeyTimed(final Duration prevTime, final Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, false, false, false, 0xFFFABBBC, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final Table actual = t.updateBy(UpdateByOperation.RollingStd("ts", prevTime, postTime, primitiveColumns)); @@ -527,9 +527,9 @@ private void doTestStaticBucketed(boolean grouped, int prevTicks, int postTicks) private void doTestStaticBucketedTimed(boolean grouped, Duration prevTime, Duration postTime) { final QueryTable t = createTestTable(STATIC_TABLE_SIZE, true, grouped, false, 0xFFFABBBC, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}).t; final Table actual = @@ -723,9 +723,9 @@ private void doTestAppendOnly(boolean bucketed, int prevTicks, int postTicks) { private void doTestAppendOnlyTimed(boolean bucketed, Duration prevTime, Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; t.setAttribute(Table.APPEND_ONLY_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -883,9 +883,9 @@ private void doTestTicking(final boolean bucketed, final long prevTicks, final l private void doTestTickingTimed(final boolean bucketed, final Duration prevTime, final Duration postTime) { final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; @@ -944,9 +944,9 @@ public void testBucketedGeneralTickingTimedRevRedirected() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, true, false, true, 0x31313131, - new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", "charCol"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1)}); final QueryTable t = result.t; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingSum.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingSum.java index 6258a59ba04..51c44714643 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingSum.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingSum.java @@ -10,12 +10,12 @@ import io.deephaven.engine.testutil.EvalNugget; import io.deephaven.engine.testutil.GenerateTableUpdates; import io.deephaven.engine.testutil.TstUtils; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableDiff; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -23,6 +23,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.time.Duration; +import java.time.Instant; import java.util.Arrays; import java.util.EnumSet; import java.util.List; @@ -34,7 +35,6 @@ import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.engine.util.TableTools.*; import static io.deephaven.function.Basic.isNull; -import static io.deephaven.time.DateTimeUtils.convertDateTime; import static io.deephaven.util.QueryConstants.*; import static org.junit.Assert.assertArrayEquals; @@ -133,9 +133,9 @@ public void testStaticZeroKeyFwdRevWindow() { @Test public void testStaticZeroKeyTimedRev() { final QueryTable t = createTestTable(10000, false, false, false, 0xFFFABBBC, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}).t; + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}).t; final Duration prevTime = Duration.ofMinutes(10); final Duration postTime = Duration.ZERO; @@ -146,10 +146,10 @@ public void testStaticZeroKeyTimedRev() { "doubleCol", "boolCol", "bigIntCol", "bigDecimalCol")); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } for (String col : t.getDefinition().getColumnNamesArray()) { @@ -161,9 +161,9 @@ public void testStaticZeroKeyTimedRev() { @Test public void testStaticZeroKeyTimedRevExclusive() { final QueryTable t = createTestTable(10000, false, false, false, 0xFFFABBBC, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}).t; + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}).t; final Duration prevTime = Duration.ofMinutes(10); final Duration postTime = Duration.ofMinutes(-5); @@ -174,10 +174,10 @@ public void testStaticZeroKeyTimedRevExclusive() { "doubleCol", "boolCol", "bigIntCol", "bigDecimalCol")); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } for (String col : t.getDefinition().getColumnNamesArray()) { @@ -189,9 +189,9 @@ public void testStaticZeroKeyTimedRevExclusive() { @Test public void testStaticZeroKeyTimedFwd() { final QueryTable t = createTestTable(10000, false, false, false, 0xFFFABBBC, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}).t; + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}).t; final Duration prevTime = Duration.ZERO; final Duration postTime = Duration.ofMinutes(10); @@ -202,10 +202,10 @@ public void testStaticZeroKeyTimedFwd() { "doubleCol", "boolCol", "bigIntCol", "bigDecimalCol")); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } for (String col : t.getDefinition().getColumnNamesArray()) { @@ -217,9 +217,9 @@ public void testStaticZeroKeyTimedFwd() { @Test public void testStaticZeroKeyTimedFwdExclusive() { final QueryTable t = createTestTable(10000, false, false, false, 0xFFFABBBC, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}).t; + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}).t; final Duration prevTime = Duration.ofMinutes(-5); final Duration postTime = Duration.ofMinutes(10); @@ -230,10 +230,10 @@ public void testStaticZeroKeyTimedFwdExclusive() { "doubleCol", "boolCol", "bigIntCol", "bigDecimalCol")); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } for (String col : t.getDefinition().getColumnNamesArray()) { @@ -245,9 +245,9 @@ public void testStaticZeroKeyTimedFwdExclusive() { @Test public void testStaticZeroKeyTimedFwdRev() { final QueryTable t = createTestTable(10000, false, false, false, 0xFFFABBBC, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}).t; + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}).t; final Duration prevTime = Duration.ofMinutes(10); final Duration postTime = Duration.ofMinutes(10); @@ -258,10 +258,10 @@ public void testStaticZeroKeyTimedFwdRev() { "doubleCol", "boolCol", "bigIntCol", "bigDecimalCol")); - final DateTime[] ts = (DateTime[]) t.getColumn("ts").getDirect(); + final Instant[] ts = (Instant[]) t.getColumn("ts").getDirect(); final long[] timestamps = new long[t.intSize()]; for (int i = 0; i < t.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } for (String col : t.getDefinition().getColumnNamesArray()) { @@ -393,9 +393,9 @@ public void testStaticBucketedFwdRevWindowTimed() { private void doTestStaticBucketedTimed(boolean grouped, Duration prevTime, Duration postTime) { final QueryTable t = createTestTable(10000, true, grouped, false, 0xFFFABBBC, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}).t; + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}).t; final Table summed = t.updateBy(UpdateByOperation.RollingSum("ts", prevTime, postTime, "byteCol", "shortCol", "intCol", @@ -409,10 +409,10 @@ private void doTestStaticBucketedTimed(boolean grouped, Duration prevTime, Durat String[] columns = t.getDefinition().getColumnStream().map(ColumnDefinition::getName).toArray(String[]::new); preOp.partitionedTransform(postOp, (source, actual) -> { - DateTime[] ts = (DateTime[]) source.getColumn("ts").getDirect(); + Instant[] ts = (Instant[]) source.getColumn("ts").getDirect(); long[] timestamps = new long[source.intSize()]; for (int i = 0; i < source.intSize(); i++) { - timestamps[i] = ts[i].getNanos(); + timestamps[i] = DateTimeUtils.epochNanos(ts[i]); } Arrays.stream(columns).forEach(col -> { assertWithRollingSumTime(source.getColumn(col).getDirect(), actual.getColumn(col).getDirect(), @@ -549,9 +549,9 @@ public void testZeroKeyAppendOnlyTimedFwdRev() { private void doTestAppendOnlyTimed(boolean bucketed, Duration prevTime, Duration postTime) { final CreateResult result = createTestTable(10000, bucketed, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; t.setAttribute(Table.ADD_ONLY_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -849,9 +849,9 @@ public void testBucketedGeneralTickingTimedRev() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(10000, true, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; @@ -882,9 +882,9 @@ public void testBucketedGeneralTickingTimedRevExclusive() { final Duration postTime = Duration.ofMinutes(-5); final CreateResult result = createTestTable(100, true, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; @@ -915,9 +915,9 @@ public void testBucketedGeneralTickingTimedFwd() { final Duration postTime = Duration.ofMinutes(10); final CreateResult result = createTestTable(10000, true, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; @@ -948,9 +948,9 @@ public void testBucketedGeneralTickingTimedFwdExclusive() { final Duration postTime = Duration.ofMinutes(10); final CreateResult result = createTestTable(10000, true, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; @@ -981,9 +981,9 @@ public void testBucketedGeneralTickingTimedFwdRev() { final Duration postTime = Duration.ofMinutes(0); final CreateResult result = createTestTable(10000, true, false, true, 0x31313131, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final QueryTable t = result.t; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingWAvg.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingWAvg.java index e8bf47b2e4e..09d0af76d42 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingWAvg.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestRollingWAvg.java @@ -14,6 +14,7 @@ import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableDiff; import io.deephaven.test.types.OutOfBandTest; +import io.deephaven.time.DateTimeUtils; import io.deephaven.vector.DoubleVector; import io.deephaven.vector.ObjectVector; import io.deephaven.vector.ShortVector; @@ -32,7 +33,6 @@ import static io.deephaven.engine.testutil.GenerateTableUpdates.generateAppends; import static io.deephaven.engine.testutil.testcase.RefreshingTableTestCase.simulateShiftAwareStep; import static io.deephaven.function.Basic.isNull; -import static io.deephaven.time.DateTimeUtils.convertDateTime; @Category(OutOfBandTest.class) public class TestRollingWAvg extends BaseUpdateByTest { @@ -576,9 +576,9 @@ private void doTestStaticTimed(boolean bucketed, Duration prevTime, Duration pos QueryTable t = createTestTable(STATIC_TABLE_SIZE, bucketed, false, false, 0xFFFABBBC, new String[] {"ts", "charCol", weightCol}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1), new DoubleGenerator(10.1, 20.1, .1) }).t; @@ -622,9 +622,9 @@ private void doTestStaticTimed(boolean bucketed, Duration prevTime, Duration pos t = createTestTable(STATIC_TABLE_SIZE, bucketed, false, false, 0xFFFABBBC, new String[] {"ts", "charCol", weightCol}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1), new ShortGenerator((short) -6000, (short) 65535, .1) }).t; @@ -661,18 +661,18 @@ private void doTestStaticTimed(boolean bucketed, Duration prevTime, Duration pos weightCol = "bigIntWeightCol"; t = createTestTable(STATIC_TABLE_SIZE, bucketed, false, false, 0x31313131, - new String[] {"ts", weightCol}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", weightCol}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new BigIntegerGenerator(BigInteger.valueOf(-10), BigInteger.valueOf(10), .1)}).t; doTestStaticTimedBigNumbers(t, prevTime, postTime, bucketed, weightCol, wavgBigIntBigInt, wavgBigDecBigInt); weightCol = "bigDecWeightCol"; t = createTestTable(STATIC_TABLE_SIZE, bucketed, false, false, 0x31313131, - new String[] {"ts", weightCol}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new String[] {"ts", weightCol}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new BigDecimalGenerator(BigInteger.valueOf(1), BigInteger.valueOf(2), 5, .1)}).t; doTestStaticTimedBigNumbers(t, prevTime, postTime, bucketed, weightCol, wavgBigIntBigDec, wavgBigDecBigDec); @@ -1081,9 +1081,9 @@ private void doTestAppendOnlyTimed(boolean bucketed, Duration prevTime, Duration final String doubleWeightCol = "doubleWeightCol"; final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0xFFFABBBC, new String[] {"ts", "charCol", doubleWeightCol}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1), new DoubleGenerator(10.1, 20.1, .1)}); @@ -1120,9 +1120,9 @@ protected Table e() { final CreateResult result2 = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0xFFFABBBC, new String[] {"ts", "charCol", shortWeightCol}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1), new ShortGenerator((short) -6000, (short) 65535, .1)}); @@ -1341,9 +1341,9 @@ private void doTestTickingTimed(final boolean bucketed, final Duration prevTime, final String doubleWeightCol = "doubleWeightCol"; final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0xFFFABBBC, new String[] {"ts", "charCol", doubleWeightCol}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1), new DoubleGenerator(10.1, 20.1, .1)}); @@ -1379,9 +1379,9 @@ protected Table e() { final CreateResult result2 = createTestTable(DYNAMIC_TABLE_SIZE, bucketed, false, true, 0xFFFABBBC, new String[] {"ts", "charCol", shortWeightCol}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1), new ShortGenerator((short) -6000, (short) 65535, .1)}); @@ -1497,9 +1497,9 @@ public void testBucketedGeneralTickingTimedRevRedirected() { final String doubleWeightCol = "doubleWeightCol"; final CreateResult result = createTestTable(DYNAMIC_TABLE_SIZE, true, false, true, 0xFFFABBBC, new String[] {"ts", "charCol", doubleWeightCol}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1), new DoubleGenerator(10.1, 20.1, .1)}); @@ -1534,9 +1534,9 @@ protected Table e() { final CreateResult result2 = createTestTable(DYNAMIC_TABLE_SIZE, true, false, true, 0xFFFABBBC, new String[] {"ts", "charCol", shortWeightCol}, new TestDataGenerator[] { - new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY")), + new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY")), new CharGenerator('A', 'z', 0.1), new ShortGenerator((short) -6000, (short) 65535, .1)}); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestUpdateByGeneral.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestUpdateByGeneral.java index 0dd0247e6c7..76ebbe52925 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestUpdateByGeneral.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/updateby/TestUpdateByGeneral.java @@ -14,12 +14,13 @@ import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.generator.CharGenerator; import io.deephaven.engine.testutil.generator.TestDataGenerator; -import io.deephaven.engine.testutil.generator.SortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.SortedInstantGenerator; import io.deephaven.engine.updategraph.TerminalNotification; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableDiff; import io.deephaven.engine.util.TableTools; import io.deephaven.test.types.OutOfBandTest; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.ExceptionDetails; import junit.framework.TestCase; import org.jetbrains.annotations.NotNull; @@ -37,7 +38,6 @@ import static io.deephaven.engine.util.TableTools.col; import static io.deephaven.engine.util.TableTools.intCol; import static io.deephaven.time.DateTimeUtils.MINUTE; -import static io.deephaven.time.DateTimeUtils.convertDateTime; @Category(OutOfBandTest.class) public class TestUpdateByGeneral extends BaseUpdateByTest implements UpdateErrorReporter { @@ -94,9 +94,9 @@ public void testMixedGeneralBucketed() { private void doTestTicking(boolean redirected, boolean bucketed, boolean appendOnly, int steps, int size, int seed) { final CreateResult result = createTestTable(size, bucketed, false, true, seed, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); if (appendOnly) { result.t.setAttribute(Table.ADD_ONLY_TABLE_ATTRIBUTE, Boolean.TRUE); @@ -250,9 +250,9 @@ public void testStaticRedirected() { @Test public void testInMemoryColumn() { final CreateResult result = createTestTable(1000, true, false, false, 0xFEEDFACE, - new String[] {"ts"}, new TestDataGenerator[] {new SortedDateTimeGenerator( - convertDateTime("2022-03-09T09:00:00.000 NY"), - convertDateTime("2022-03-09T16:30:00.000 NY"))}); + new String[] {"ts"}, new TestDataGenerator[] {new SortedInstantGenerator( + DateTimeUtils.parseInstant("2022-03-09T09:00:00.000 NY"), + DateTimeUtils.parseInstant("2022-03-09T16:30:00.000 NY"))}); final OperationControl skipControl = OperationControl.builder() .onNullValue(BadDataBehavior.SKIP) diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestDynamicTableWriter.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestDynamicTableWriter.java index 8bd1e2acb44..38c5da7c41b 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestDynamicTableWriter.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestDynamicTableWriter.java @@ -6,7 +6,6 @@ import io.deephaven.engine.table.Table; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.table.impl.UpdateSourceQueryTable; import io.deephaven.engine.testutil.TstUtils; @@ -18,6 +17,7 @@ import java.io.IOException; import java.math.BigInteger; +import java.time.Instant; import static io.deephaven.engine.util.TableTools.*; @@ -29,7 +29,7 @@ public class TestDynamicTableWriter { public void testTypes() throws IOException { final String[] names = new String[] {"BC", "CC", "SC", "IC", "LC", "FC", "DC", "StrC", "BLC", "DTC", "BIC"}; final Class[] types = new Class[] {byte.class, char.class, short.class, int.class, long.class, float.class, - double.class, String.class, Boolean.class, DateTime.class, BigInteger.class}; + double.class, String.class, Boolean.class, Instant.class, BigInteger.class}; final DynamicTableWriter writer = new DynamicTableWriter(names, types); final UpdateSourceQueryTable result = writer.getTable(); @@ -42,7 +42,7 @@ public void testTypes() throws IOException { writer.getSetter("DC").setDouble(6.6); writer.getSetter("StrC", String.class).set("Seven"); writer.getSetter("BLC", Boolean.class).setBoolean(true); - writer.getSetter("DTC", DateTime.class).set(DateTimeUtils.convertDateTime("2020-09-16T07:55:00 NY")); + writer.getSetter("DTC", Instant.class).set(DateTimeUtils.parseInstant("2020-09-16T07:55:00 NY")); writer.getSetter("BIC", BigInteger.class).set(BigInteger.valueOf(8)); writer.writeRow(); UpdateGraphProcessor.DEFAULT.runWithinUnitTestCycle(result::run); @@ -56,7 +56,7 @@ public void testTypes() throws IOException { doubleCol("DC", 6.6), stringCol("StrC", "Seven"), col("BLC", true), - col("DTC", DateTimeUtils.convertDateTime("2020-09-16T07:55:00 NY")), + col("DTC", DateTimeUtils.parseInstant("2020-09-16T07:55:00 NY")), col("BIC", BigInteger.valueOf(8))); TstUtils.assertTableEquals(expected1, result); @@ -71,7 +71,7 @@ public void testTypes() throws IOException { row.getSetter("DC").setDouble(14.14); row.getSetter("StrC", String.class).set("Fifteen"); row.getSetter("BLC", Boolean.class).setBoolean(true); - row.getSetter("DTC", DateTime.class).set(DateTimeUtils.convertDateTime("2020-09-16T08:55:00 NY")); + row.getSetter("DTC", Instant.class).set(DateTimeUtils.parseInstant("2020-09-16T08:55:00 NY")); row.getSetter("BIC", BigInteger.class).set(BigInteger.valueOf(16)); row.setFlags(Row.Flags.StartTransaction); row.writeRow(); @@ -86,7 +86,7 @@ public void testTypes() throws IOException { row2.getSetter("DC").setDouble(22.22); row2.getSetter("StrC", String.class).set("Twenty Three"); row2.getSetter("BLC", Boolean.class).setBoolean(false); - row2.getSetter("DTC", DateTime.class).set(DateTimeUtils.convertDateTime("2020-09-16T09:55:00 NY")); + row2.getSetter("DTC", Instant.class).set(DateTimeUtils.parseInstant("2020-09-16T09:55:00 NY")); row2.getSetter("BIC", BigInteger.class).set(BigInteger.valueOf(24)); row2.setFlags(Row.Flags.StartTransaction); row2.writeRow(); @@ -104,7 +104,7 @@ public void testTypes() throws IOException { row3.getSetter("DC", double.class).set(30.30); row3.getSetter("StrC", String.class).set("Thirty One"); row3.getSetter("BLC", Boolean.class).set(null); - row3.getSetter("DTC", DateTime.class).set(DateTimeUtils.convertDateTime("2020-09-16T10:55:00 NY")); + row3.getSetter("DTC", Instant.class).set(DateTimeUtils.parseInstant("2020-09-16T10:55:00 NY")); row3.getSetter("BIC", BigInteger.class).set(BigInteger.valueOf(32)); row3.setFlags(Row.Flags.EndTransaction); row3.writeRow(); @@ -120,9 +120,9 @@ public void testTypes() throws IOException { doubleCol("DC", 6.6, 22.22, 30.30), stringCol("StrC", "Seven", "Twenty Three", "Thirty One"), col("BLC", true, false, null), - col("DTC", DateTimeUtils.convertDateTime("2020-09-16T07:55:00 NY"), - DateTimeUtils.convertDateTime("2020-09-16T09:55:00 NY"), - DateTimeUtils.convertDateTime("2020-09-16T10:55:00 NY")), + col("DTC", DateTimeUtils.parseInstant("2020-09-16T07:55:00 NY"), + DateTimeUtils.parseInstant("2020-09-16T09:55:00 NY"), + DateTimeUtils.parseInstant("2020-09-16T10:55:00 NY")), col("BIC", BigInteger.valueOf(8), BigInteger.valueOf(24), BigInteger.valueOf(32))); TstUtils.assertTableEquals(expected2, result); @@ -132,7 +132,7 @@ public void testTypes() throws IOException { public void testNulls() throws IOException { final String[] names = new String[] {"BC", "CC", "SC", "IC", "LC", "FC", "DC", "StrC", "BLC", "DTC", "BIC"}; final Class[] types = new Class[] {byte.class, char.class, short.class, int.class, long.class, float.class, - double.class, String.class, Boolean.class, DateTime.class, BigInteger.class}; + double.class, String.class, Boolean.class, Instant.class, BigInteger.class}; final DynamicTableWriter writer = new DynamicTableWriter(names, types); final UpdateSourceQueryTable result = writer.getTable(); @@ -152,7 +152,7 @@ public void testNulls() throws IOException { longCol("LC", 4), floatCol("FC", 5.5f), doubleCol("DC", QueryConstants.NULL_DOUBLE)) - .updateView("StrC=(String)null", "BLC=(Boolean)null", "DTC=(DateTime)null", + .updateView("StrC=(String)null", "BLC=(Boolean)null", "DTC=(Instant)null", "BIC=(java.math.BigInteger)null"); TstUtils.assertTableEquals(expected1, result); @@ -161,7 +161,7 @@ public void testNulls() throws IOException { row.getSetter("DC").setDouble(14.14); row.getSetter("StrC", String.class).set("Fifteen"); row.getSetter("BLC", Boolean.class).setBoolean(true); - row.getSetter("DTC", DateTime.class).set(DateTimeUtils.convertDateTime("2020-09-16T08:55:00 NY")); + row.getSetter("DTC", Instant.class).set(DateTimeUtils.parseInstant("2020-09-16T08:55:00 NY")); row.getSetter("BIC", BigInteger.class).set(BigInteger.valueOf(16)); row.setFlags(Row.Flags.SingleRow); row.writeRow(); @@ -177,7 +177,7 @@ public void testNulls() throws IOException { doubleCol("DC", 14.14), stringCol("StrC", "Fifteen"), col("BLC", true), - col("DTC", DateTimeUtils.convertDateTime("2020-09-16T08:55:00 NY")), + col("DTC", DateTimeUtils.parseInstant("2020-09-16T08:55:00 NY")), col("BIC", BigInteger.valueOf(16))); TstUtils.assertTableEquals(merge(expected1, expected2), result); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestFreezeBy.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestFreezeBy.java index 8c41572efa8..3031d8263c3 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestFreezeBy.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestFreezeBy.java @@ -10,11 +10,11 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.context.QueryScope; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.table.impl.*; import junit.framework.TestCase; +import java.time.Instant; import java.util.Arrays; import java.util.List; @@ -23,14 +23,14 @@ public class TestFreezeBy extends RefreshingTableTestCase { public void testSimpleTypes() { - final DateTime timeBase = DateTimeUtils.convertDateTime("2020-09-10T09:00:00 NY"); + final Instant timeBase = DateTimeUtils.parseInstant("2020-09-10T09:00:00 NY"); QueryScope.addParam("freezeByTimeBase", timeBase); final QueryTable input = TstUtils.testRefreshingTable(stringCol("Key", "A", "B", "C"), intCol("Sentinel", 1, 2, 3)); final List updates = Arrays.asList("SStr=Integer.toString(Sentinel)", "SByte=(byte)Sentinel", "SChar=(char)('A' + (char)Sentinel)", "SShort=(short)Sentinel", "SLong=(long)Sentinel", "SDouble=Sentinel/4", "SFloat=(float)(Sentinel/2)", - "SDateTime=freezeByTimeBase + (Sentinel * 3600L*1000000000L)", + "SInstant=freezeByTimeBase + (Sentinel * 3600L*1000000000L)", "SBoolean=Sentinel%3==0?true:(Sentinel%3==1?false:null)"); final Table inputUpdated = input.updateView(Selectable.from(updates)); final Table frozen = FreezeBy.freezeBy(inputUpdated, "Key"); @@ -49,7 +49,7 @@ public void testSimpleTypes() { assertEquals(long.class, frozen.getDefinition().getColumn("SLong").getDataType()); assertEquals(float.class, frozen.getDefinition().getColumn("SFloat").getDataType()); assertEquals(double.class, frozen.getDefinition().getColumn("SDouble").getDataType()); - assertEquals(DateTime.class, frozen.getDefinition().getColumn("SDateTime").getDataType()); + assertEquals(Instant.class, frozen.getDefinition().getColumn("SInstant").getDataType()); assertEquals(Boolean.class, frozen.getDefinition().getColumn("SBoolean").getDataType()); UpdateGraphProcessor.DEFAULT.runWithinUnitTestCycle(() -> { diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestTailInitializationFilter.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestTailInitializationFilter.java index c6112e33f01..7dacfdad61a 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestTailInitializationFilter.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestTailInitializationFilter.java @@ -7,15 +7,16 @@ import io.deephaven.engine.rowset.RowSetBuilderSequential; import io.deephaven.engine.rowset.RowSetFactory; import io.deephaven.engine.table.Table; -import io.deephaven.engine.testutil.sources.DateTimeTestSource; +import io.deephaven.engine.testutil.sources.InstantTestSource; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.testutil.testcase.RefreshingTableTestCase; import io.deephaven.engine.table.impl.QueryTable; import io.deephaven.engine.testutil.TstUtils; +import java.time.Instant; + import static io.deephaven.engine.testutil.TstUtils.assertTableEquals; public class TestTailInitializationFilter extends RefreshingTableTestCase { @@ -24,18 +25,18 @@ public void testSimple() { builder.appendRange(0, 99); builder.appendRange(1000, 1099); final long[] data = new long[200]; - final DateTime baseTime = DateTimeUtils.convertDateTime("2020-08-20T07:00:00 NY"); - final DateTime baseTime2 = DateTimeUtils.convertDateTime("2020-08-20T06:00:00 NY"); + final Instant baseTime = DateTimeUtils.parseInstant("2020-08-20T07:00:00 NY"); + final Instant baseTime2 = DateTimeUtils.parseInstant("2020-08-20T06:00:00 NY"); for (int ii = 0; ii < 100; ii++) { - data[ii] = baseTime.getNanos() + (DateTimeUtils.secondsToNanos(60) * (ii / 2)); - data[100 + ii] = baseTime2.getNanos() + (DateTimeUtils.secondsToNanos(60) * (ii / 2)); + data[ii] = DateTimeUtils.epochNanos(baseTime) + (DateTimeUtils.secondsToNanos(60) * (ii / 2)); + data[100 + ii] = DateTimeUtils.epochNanos(baseTime2) + (DateTimeUtils.secondsToNanos(60) * (ii / 2)); } - final DateTime threshold1 = new DateTime(data[99] - DateTimeUtils.secondsToNanos(600)); - final DateTime threshold2 = new DateTime(data[199] - DateTimeUtils.secondsToNanos(600)); + final Instant threshold1 = DateTimeUtils.epochNanosToInstant(data[99] - DateTimeUtils.secondsToNanos(600)); + final Instant threshold2 = DateTimeUtils.epochNanosToInstant(data[199] - DateTimeUtils.secondsToNanos(600)); final QueryTable input = TstUtils.testRefreshingTable(builder.build().toTracking(), - ColumnHolder.getDateTimeColumnHolder("Timestamp", false, data)); - final Table filtered = TailInitializationFilter.mostRecent(input, "Timestamp", "00:10:00"); + ColumnHolder.getInstantColumnHolder("Timestamp", false, data)); + final Table filtered = TailInitializationFilter.mostRecent(input, "Timestamp", "PT00:10:00"); TableTools.showWithRowSet(filtered); assertEquals(44, filtered.size()); @@ -46,14 +47,14 @@ public void testSimple() { assertTableEquals(filtered, expected); UpdateGraphProcessor.DEFAULT.runWithinUnitTestCycle(() -> { - final DateTime[] data2 = new DateTime[4]; - data2[0] = DateTimeUtils.convertDateTime("2020-08-20T06:00:00 NY"); - data2[1] = DateTimeUtils.convertDateTime("2020-08-20T06:30:00 NY"); - data2[0] = DateTimeUtils.convertDateTime("2020-08-20T07:00:00 NY"); - data2[1] = DateTimeUtils.convertDateTime("2020-08-20T08:30:00 NY"); + final Instant[] data2 = new Instant[4]; + data2[0] = DateTimeUtils.parseInstant("2020-08-20T06:00:00 NY"); + data2[1] = DateTimeUtils.parseInstant("2020-08-20T06:30:00 NY"); + data2[0] = DateTimeUtils.parseInstant("2020-08-20T07:00:00 NY"); + data2[1] = DateTimeUtils.parseInstant("2020-08-20T08:30:00 NY"); final RowSet newRowSet = RowSetFactory.fromKeys(100, 101, 1100, 1101); input.getRowSet().writableCast().insert(newRowSet); - ((DateTimeTestSource) input.getColumnSource("Timestamp")).add(newRowSet, data2); + ((InstantTestSource) input.getColumnSource("Timestamp")).add(newRowSet, data2); input.notifyListeners(newRowSet, TstUtils.i(), TstUtils.i()); }); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestTimeSeriesFilter.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestTimeSeriesFilter.java index a62f64a459e..199faa5995f 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestTimeSeriesFilter.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/util/TestTimeSeriesFilter.java @@ -8,17 +8,18 @@ import io.deephaven.engine.testutil.generator.DateGenerator; import io.deephaven.engine.testutil.generator.IntGenerator; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.testutil.EvalNugget; import io.deephaven.engine.testutil.testcase.RefreshingTableTestCase; import io.deephaven.engine.table.impl.QueryTable; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.table.impl.select.TimeSeriesFilter; +import io.deephaven.time.DateTimeUtils; import java.lang.ref.WeakReference; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.Instant; import java.util.ArrayList; import java.util.Date; import java.util.Random; @@ -28,17 +29,17 @@ public class TestTimeSeriesFilter extends RefreshingTableTestCase { public void testSimple() { - DateTime[] times = new DateTime[10]; + Instant[] times = new Instant[10]; final long startTime = System.currentTimeMillis() - (10 * times.length); for (int ii = 0; ii < times.length; ++ii) { - times[ii] = new DateTime((startTime + (ii * 1000)) * 1000000L); + times[ii] = DateTimeUtils.epochNanosToInstant((startTime + (ii * 1000)) * 1000000L); } Table source = TableTools.newTable(TableTools.col("Timestamp", times)); TableTools.show(source); - UnitTestTimeSeriesFilter timeSeriesFilter = new UnitTestTimeSeriesFilter(startTime, "Timestamp", "00:00:05"); + UnitTestTimeSeriesFilter timeSeriesFilter = new UnitTestTimeSeriesFilter(startTime, "Timestamp", "PT00:00:05"); Table filtered = source.where(timeSeriesFilter); TableTools.show(filtered); @@ -83,7 +84,7 @@ public void testIncremental() throws ParseException { new IntGenerator(1, 100))); final UnitTestTimeSeriesFilter unitTestTimeSeriesFilter = - new UnitTestTimeSeriesFilter(startDate.getTime(), "Date", "01:00:00"); + new UnitTestTimeSeriesFilter(startDate.getTime(), "Date", "PT01:00:00"); final ArrayList> filtersToRefresh = new ArrayList<>(); EvalNugget[] en = new EvalNugget[] { @@ -93,7 +94,8 @@ public Table e() { new UnitTestTimeSeriesFilter(unitTestTimeSeriesFilter); filtersToRefresh.add(new WeakReference<>(unitTestTimeSeriesFilter1)); return UpdateGraphProcessor.DEFAULT.exclusiveLock() - .computeLocked(() -> table.update("Date=new DateTime(Date.getTime() * 1000000L)") + .computeLocked(() -> table + .update("Date=DateTimeUtils.epochNanosToInstant(Date.getTime() * 1000000L)") .where(unitTestTimeSeriesFilter1)); } }, diff --git a/engine/table/src/test/java/io/deephaven/engine/util/TestCalendarMethodsFromTable.java b/engine/table/src/test/java/io/deephaven/engine/util/TestCalendarMethodsFromTable.java index 6963bb2e24d..ffbc4a91cce 100644 --- a/engine/table/src/test/java/io/deephaven/engine/util/TestCalendarMethodsFromTable.java +++ b/engine/table/src/test/java/io/deephaven/engine/util/TestCalendarMethodsFromTable.java @@ -7,7 +7,6 @@ import io.deephaven.engine.context.ExecutionContext; import io.deephaven.engine.table.Table; import io.deephaven.engine.context.QueryScope; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.time.calendar.BusinessCalendar; import io.deephaven.time.calendar.Calendars; @@ -16,6 +15,7 @@ import io.deephaven.test.types.OutOfBandTest; import org.junit.experimental.categories.Category; +import java.time.Instant; import java.time.LocalDate; import static io.deephaven.engine.util.TableTools.emptyTable; @@ -41,8 +41,8 @@ protected void tearDown() throws Exception { } private final BusinessCalendar calendar = Calendars.calendar(); - private final DateTime time1 = DateTimeUtils.convertDateTime("2002-01-01T01:00:00.000000000 NY"); - private final DateTime time2 = DateTimeUtils.convertDateTime("2002-01-21T01:00:00.000000000 NY"); + private final Instant time1 = DateTimeUtils.parseInstant("2002-01-01T01:00:00.000000000 NY"); + private final Instant time2 = DateTimeUtils.parseInstant("2002-01-21T01:00:00.000000000 NY"); private final String date1 = "2017-08-01"; private final String date2 = "2017-08-05"; @@ -106,9 +106,7 @@ public void testCalendarMethodsTable() { assertEquals(calendar.dayOfWeek(date2), getVal(emptyTable(1).update("dayOfWeek = dayOfWeek(date2)"), "dayOfWeek")); - - assertEquals(calendar.timeZone(), getVal(emptyTable(1).update("timeZone = timeZone()"), "timeZone")); - + assertEquals(calendar.timeZone(), getVal(emptyTable(1).update("timeZone = calendarTimeZone()"), "timeZone")); assertEquals(calendar.isBusinessDay(), getVal(emptyTable(1).update("isBusinessDay = isBusinessDay()"), "isBusinessDay")); diff --git a/engine/table/src/test/java/io/deephaven/engine/util/TestTableTools.java b/engine/table/src/test/java/io/deephaven/engine/util/TestTableTools.java index b23fa2525e0..c27311ea1e0 100644 --- a/engine/table/src/test/java/io/deephaven/engine/util/TestTableTools.java +++ b/engine/table/src/test/java/io/deephaven/engine/util/TestTableTools.java @@ -32,7 +32,7 @@ import io.deephaven.engine.updategraph.LogicalClock; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.ExceptionDetails; import io.deephaven.util.QueryConstants; import io.deephaven.util.SafeCloseable; @@ -42,6 +42,7 @@ import org.junit.Before; import org.junit.experimental.categories.Category; +import java.time.Instant; import java.util.*; import java.util.function.Consumer; @@ -318,33 +319,34 @@ public void testRoundDecimalColumns() { } } - public void testDateTimeColumnHolder() { + public void testInstantColumnHolder() { // create two columns with the same data - final DateTime[] data = new DateTime[] {new DateTime(100), new DateTime(100), null}; + final Instant[] data = + new Instant[] {DateTimeUtils.epochNanosToInstant(100), DateTimeUtils.epochNanosToInstant(100), null}; final long[] longData = Arrays.stream(data) - .mapToLong(dt -> dt == null ? QueryConstants.NULL_LONG : dt.getNanos()) + .mapToLong(dt -> dt == null ? QueryConstants.NULL_LONG : DateTimeUtils.epochNanos(dt)) .toArray(); - final ColumnHolder dateTimeCol = col("DateTimeColumn", data); - final ColumnHolder dateTimeCol2 = ColumnHolder.getDateTimeColumnHolder("DateTimeColumn2", false, longData); + final ColumnHolder instantCol = col("InstantColumn", data); + final ColumnHolder instantCol2 = ColumnHolder.getInstantColumnHolder("InstantColumn2", false, longData); - final Table table = TableTools.newTable(dateTimeCol, dateTimeCol2); + final Table table = TableTools.newTable(instantCol, instantCol2); - // make sure both columns are in fact DateTime columns + // make sure both columns are in fact Instant columns final Table meta = table.getMeta(); - Assert.assertEquals(DateTime.class.getCanonicalName(), meta.getColumn("DataType").get(0)); - Assert.assertEquals(DateTime.class.getCanonicalName(), meta.getColumn("DataType").get(1)); + Assert.assertEquals(Instant.class.getCanonicalName(), meta.getColumn("DataType").get(0)); + Assert.assertEquals(Instant.class.getCanonicalName(), meta.getColumn("DataType").get(1)); // make sure this doesn't crash showWithRowSet(table); - // validate column1 (backed with DateTime objects) + // validate column1 (backed with Instant objects) Assert.assertEquals(data[0], table.getColumn(0).get(0)); Assert.assertEquals(data[1], table.getColumn(0).get(1)); Assert.assertEquals(data[2], table.getColumn(0).get(2)); - // validate column2 (backed with longs, but should be get-able as DateTimes as well) + // validate column2 (backed with longs, but should be get-able as Instants as well) Assert.assertEquals(data[0], table.getColumn(1).get(0)); Assert.assertEquals(data[1], table.getColumn(1).get(1)); Assert.assertEquals(data[2], table.getColumn(1).get(2)); diff --git a/engine/table/src/test/java/io/deephaven/engine/util/TestTypeUtils.java b/engine/table/src/test/java/io/deephaven/engine/util/TestTypeUtils.java index df2802d85ad..b66bf595cea 100644 --- a/engine/table/src/test/java/io/deephaven/engine/util/TestTypeUtils.java +++ b/engine/table/src/test/java/io/deephaven/engine/util/TestTypeUtils.java @@ -4,11 +4,11 @@ package io.deephaven.engine.util; import io.deephaven.base.verify.Require; -import io.deephaven.time.DateTime; import junit.framework.TestCase; import org.apache.commons.lang3.ArrayUtils; import java.io.IOException; +import java.time.Instant; import java.util.Arrays; import java.util.Date; @@ -129,34 +129,34 @@ public void testTypesSetOrdering() { } public void testIsType() { - assertFalse(io.deephaven.util.type.TypeUtils.isPrimitiveNumeric(DateTime.class)); + assertFalse(io.deephaven.util.type.TypeUtils.isPrimitiveNumeric(Instant.class)); assertFalse(io.deephaven.util.type.TypeUtils.isPrimitiveNumeric(Date.class)); assertTrue(io.deephaven.util.type.TypeUtils.isPrimitiveNumeric(int.class)); assertFalse(io.deephaven.util.type.TypeUtils.isPrimitiveNumeric(Double.class)); - assertFalse(io.deephaven.util.type.TypeUtils.isBoxedNumeric(DateTime.class)); + assertFalse(io.deephaven.util.type.TypeUtils.isBoxedNumeric(Instant.class)); assertFalse(io.deephaven.util.type.TypeUtils.isBoxedNumeric(Date.class)); assertFalse(io.deephaven.util.type.TypeUtils.isBoxedNumeric(int.class)); assertTrue(io.deephaven.util.type.TypeUtils.isBoxedNumeric(Double.class)); - assertFalse(io.deephaven.util.type.TypeUtils.isNumeric(DateTime.class)); + assertFalse(io.deephaven.util.type.TypeUtils.isNumeric(Instant.class)); assertFalse(io.deephaven.util.type.TypeUtils.isNumeric(Date.class)); assertTrue(io.deephaven.util.type.TypeUtils.isNumeric(int.class)); assertTrue(io.deephaven.util.type.TypeUtils.isNumeric(Double.class)); - assertFalse(io.deephaven.util.type.TypeUtils.isCharacter(DateTime.class)); + assertFalse(io.deephaven.util.type.TypeUtils.isCharacter(Instant.class)); assertFalse(io.deephaven.util.type.TypeUtils.isCharacter(Date.class)); assertFalse(io.deephaven.util.type.TypeUtils.isCharacter(int.class)); assertTrue(io.deephaven.util.type.TypeUtils.isCharacter(char.class)); assertTrue(io.deephaven.util.type.TypeUtils.isCharacter(Character.class)); - assertFalse(io.deephaven.util.type.TypeUtils.isPrimitiveChar(DateTime.class)); + assertFalse(io.deephaven.util.type.TypeUtils.isPrimitiveChar(Instant.class)); assertFalse(io.deephaven.util.type.TypeUtils.isPrimitiveChar(Date.class)); assertFalse(io.deephaven.util.type.TypeUtils.isPrimitiveChar(int.class)); assertTrue(io.deephaven.util.type.TypeUtils.isPrimitiveChar(char.class)); assertFalse(io.deephaven.util.type.TypeUtils.isPrimitiveChar(Character.class)); - assertFalse(io.deephaven.util.type.TypeUtils.isBoxedChar(DateTime.class)); + assertFalse(io.deephaven.util.type.TypeUtils.isBoxedChar(Instant.class)); assertFalse(io.deephaven.util.type.TypeUtils.isBoxedChar(Date.class)); assertFalse(io.deephaven.util.type.TypeUtils.isBoxedChar(int.class)); assertFalse(io.deephaven.util.type.TypeUtils.isBoxedChar(char.class)); diff --git a/engine/table/src/test/java/io/deephaven/engine/util/TestWindowCheck.java b/engine/table/src/test/java/io/deephaven/engine/util/TestWindowCheck.java index 5a040d6fdbb..6657ad93075 100644 --- a/engine/table/src/test/java/io/deephaven/engine/util/TestWindowCheck.java +++ b/engine/table/src/test/java/io/deephaven/engine/util/TestWindowCheck.java @@ -17,13 +17,12 @@ import io.deephaven.engine.testutil.GenerateTableUpdates; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.generator.IntGenerator; -import io.deephaven.engine.testutil.generator.UnsortedDateTimeGenerator; +import io.deephaven.engine.testutil.generator.UnsortedInstantGenerator; import io.deephaven.engine.testutil.testcase.RefreshingTableTestCase; import io.deephaven.engine.updategraph.LogicalClock; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.testutil.junit4.EngineCleanup; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.annotations.ReferentialIntegrity; import junit.framework.TestCase; @@ -34,6 +33,7 @@ import java.io.PrintWriter; import java.io.StringWriter; +import java.time.Instant; import java.util.Arrays; import java.util.Map; import java.util.Random; @@ -71,22 +71,22 @@ private void testWindowCheckIterative(int seed) { final ColumnInfo[] columnInfo; final int size = 100; - final DateTime startTime = DateTimeUtils.convertDateTime("2018-02-23T09:30:00 NY"); - final DateTime endTime; + final Instant startTime = DateTimeUtils.parseInstant("2018-02-23T09:30:00 NY"); + final Instant endTime; if (SHORT_TESTS) { - endTime = DateTimeUtils.convertDateTime("2018-02-23T10:30:00 NY"); + endTime = DateTimeUtils.parseInstant("2018-02-23T10:30:00 NY"); } else { - endTime = DateTimeUtils.convertDateTime("2018-02-23T16:00:00 NY"); + endTime = DateTimeUtils.parseInstant("2018-02-23T16:00:00 NY"); } final QueryTable table = getTable(size, random, columnInfo = initColumnInfos(new String[] {"Timestamp", "C1"}, - new UnsortedDateTimeGenerator(startTime, endTime, 0.01), + new UnsortedInstantGenerator(startTime, endTime, 0.01), new IntGenerator(1, 100))); // Use a smaller step size so that the random walk on tableSize doesn't become unwieldy given the large number // of steps. final int stepSize = (int) Math.ceil(Math.sqrt(size)); final TestClock clock = new TestClock(); - clock.now = startTime.getNanos(); + clock.now = DateTimeUtils.epochNanos(startTime); final WindowEvalNugget[] en; UpdateGraphProcessor.DEFAULT.exclusiveLock().lock(); @@ -102,7 +102,7 @@ private void testWindowCheckIterative(int seed) { int step = 0; - while (clock.now < endTime.getNanos() + 600 * DateTimeUtils.SECOND) { + while (clock.now < DateTimeUtils.epochNanos(endTime) + 600 * DateTimeUtils.SECOND) { ++step; final boolean combined = combinedRandom.nextBoolean(); @@ -116,7 +116,7 @@ private void testWindowCheckIterative(int seed) { } else { UpdateGraphProcessor.DEFAULT.runWithinUnitTestCycle(() -> advanceTime(clock, en)); if (RefreshingTableTestCase.printTableUpdates) { - TstUtils.validate("Step = " + step + " time = " + new DateTime(clock.now), en); + TstUtils.validate("Step = " + step + " time = " + DateTimeUtils.epochNanosToInstant(clock.now), en); } for (int ii = 0; ii < stepsPerTick; ++ii) { @@ -133,7 +133,7 @@ private void testWindowCheckIterative(int seed) { private void advanceTime(TestClock clock, WindowEvalNugget[] en) { clock.now += 5 * DateTimeUtils.SECOND; if (RefreshingTableTestCase.printTableUpdates) { - System.out.println("Ticking time to " + new DateTime(clock.now)); + System.out.println("Ticking time to " + DateTimeUtils.epochNanosToInstant(clock.now)); } for (final WindowEvalNugget wen : en) { wen.windowed.second.run(); @@ -145,12 +145,12 @@ public void testWindowCheckEmptyInitial() { base.setExpectError(false); final TestClock clock = new TestClock(); - final DateTime startTime = DateTimeUtils.convertDateTime("2018-02-23T09:30:00 NY"); - clock.now = startTime.getNanos(); + final Instant startTime = DateTimeUtils.parseInstant("2018-02-23T09:30:00 NY"); + clock.now = DateTimeUtils.epochNanos(startTime); - final DateTime[] emptyDateTimeArray = new DateTime[0]; + final Instant[] emptyInstantArray = new Instant[0]; final QueryTable tableToCheck = testRefreshingTable(i().toTracking(), - col("Timestamp", emptyDateTimeArray), intCol("Sentinel")); + col("Timestamp", emptyInstantArray), intCol("Sentinel")); final Pair windowed = UpdateGraphProcessor.DEFAULT.sharedLock() .computeLocked(() -> WindowCheck.addTimeWindowInternal(clock, tableToCheck, "Timestamp", @@ -165,12 +165,12 @@ public void testWindowCheckEmptyInitial() { @Test public void testWindowCheckGetPrev() { final TestClock timeProvider = new TestClock(); - final DateTime startTime = DateTimeUtils.convertDateTime("2022-07-14T09:30:00 NY"); - timeProvider.now = startTime.getNanos(); + final Instant startTime = DateTimeUtils.parseInstant("2022-07-14T09:30:00 NY"); + timeProvider.now = DateTimeUtils.epochNanos(startTime); - final DateTime[] initialValues = Stream.concat(Arrays.stream( + final Instant[] initialValues = Stream.concat(Arrays.stream( new String[] {"2022-07-14T09:25:00 NY", "2022-07-14T09:30:00 NY", "2022-07-14T09:35:00 NY"}) - .map(DateTimeUtils::convertDateTime), Stream.of((DateTime) null)).toArray(DateTime[]::new); + .map(DateTimeUtils::parseInstant), Stream.of((Instant) null)).toArray(Instant[]::new); final QueryTable tableToCheck = testRefreshingTable(i(0, 1, 2, 3).toTracking(), col("Timestamp", initialValues), intCol("Sentinel", 1, 2, 3, 4)); @@ -197,7 +197,7 @@ public void testWindowCheckGetPrev() { UpdateGraphProcessor.DEFAULT.startCycleForUnitTests(); - timeProvider.now = DateTimeUtils.convertDateTime("2022-07-14T09:34:00 NY").getNanos(); + timeProvider.now = DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2022-07-14T09:34:00 NY")); windowed.second.run(); while (((QueryTable) windowed.first).getLastNotificationStep() < LogicalClock.DEFAULT.currentStep()) { @@ -220,12 +220,12 @@ public void testWindowCheckGetPrev() { public void testWindowCheckStatic() { final TestClock timeProvider = new TestClock(); - final DateTime startTime = DateTimeUtils.convertDateTime("2022-07-14T09:30:00 NY"); - timeProvider.now = startTime.getNanos(); + final Instant startTime = DateTimeUtils.parseInstant("2022-07-14T09:30:00 NY"); + timeProvider.now = DateTimeUtils.epochNanos(startTime); - final DateTime[] initialValues = Stream.concat(Arrays.stream( + final Instant[] initialValues = Stream.concat(Arrays.stream( new String[] {"2022-07-14T09:25:00 NY", "2022-07-14T09:30:00 NY", "2022-07-14T09:35:00 NY"}) - .map(DateTimeUtils::convertDateTime), Stream.of((DateTime) null)).toArray(DateTime[]::new); + .map(DateTimeUtils::parseInstant), Stream.of((Instant) null)).toArray(Instant[]::new); final QueryTable tableToCheck = testTable(i(0, 1, 2, 3).toTracking(), col("Timestamp", initialValues), intCol("Sentinel", 1, 2, 3, 4)); @@ -253,7 +253,7 @@ public void testWindowCheckStatic() { UpdateGraphProcessor.DEFAULT.startCycleForUnitTests(); - timeProvider.now = DateTimeUtils.convertDateTime("2022-07-14T09:34:00 NY").getNanos(); + timeProvider.now = DateTimeUtils.epochNanos(DateTimeUtils.parseInstant("2022-07-14T09:34:00 NY")); windowed.second.run(); while (((QueryTable) windowed.first).getLastNotificationStep() < LogicalClock.DEFAULT.currentStep()) { @@ -351,20 +351,20 @@ public void validate(String msg) { } } - final ColumnSource timestamp = table.getColumnSource("Timestamp"); + final ColumnSource timestamp = table.getColumnSource("Timestamp"); final ColumnSource inWindow = windowed.first.getColumnSource("InWindow"); final long now = clock.now; for (final RowSet.Iterator it = windowed.first.getRowSet().iterator(); it.hasNext();) { final long key = it.nextLong(); - final DateTime tableTime = timestamp.get(key); + final Instant tableTime = timestamp.get(key); final Boolean actual = inWindow.get(key); if (tableTime == null) { TestCase.assertNull(actual); } else { - final boolean expected = now - tableTime.getNanos() < windowNanos; + final boolean expected = now - DateTimeUtils.epochNanos(tableTime) < windowNanos; TestCase.assertEquals((boolean) actual, expected); } } diff --git a/engine/table/src/test/java/io/deephaven/engine/util/TimeTableTest.java b/engine/table/src/test/java/io/deephaven/engine/util/TimeTableTest.java index a2f02973a53..c15bb4635c7 100644 --- a/engine/table/src/test/java/io/deephaven/engine/util/TimeTableTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/util/TimeTableTest.java @@ -19,11 +19,11 @@ import io.deephaven.engine.table.impl.sources.FillUnordered; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.updategraph.UpdateSourceCombiner; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import org.junit.Assert; import org.junit.Test; +import java.time.Instant; import java.util.Arrays; import java.util.Map; @@ -107,7 +107,7 @@ public void testNoStartTimeLowerBounds() { @Test public void testProvidedStartTimeOnBoundary() { build(TimeTable.newBuilder() - .startTime(DateTimeUtils.nanosToTime(10)) + .startTime(DateTimeUtils.epochNanosToInstant(10)) .period(10)); tick(9); @@ -121,7 +121,7 @@ public void testProvidedStartTimeOnBoundary() { @Test public void testProvidedStartTimeOffsetPeriod() { build(TimeTable.newBuilder() - .startTime(DateTimeUtils.nanosToTime(15)) + .startTime(DateTimeUtils.epochNanosToInstant(15)) .period(10)); tick(14); @@ -173,7 +173,7 @@ public void testBlinkNoStartTimeLowerBounds() { public void testBlinkProvidedStartTimeOnBoundary() { build(TimeTable.newBuilder() .blinkTable(true) - .startTime(DateTimeUtils.nanosToTime(10)) + .startTime(DateTimeUtils.epochNanosToInstant(10)) .period(10)); tick(9); @@ -188,7 +188,7 @@ public void testBlinkProvidedStartTimeOnBoundary() { public void testBlinkProvidedStartTimeOffsetPeriod() { build(TimeTable.newBuilder() .blinkTable(true) - .startTime(DateTimeUtils.nanosToTime(15)) + .startTime(DateTimeUtils.epochNanosToInstant(15)) .period(10)); tick(14); @@ -207,15 +207,15 @@ public void testBlinkProvidedStartTimeOffsetPeriod() { @Test public void testColumnSourceMatch() { build(TimeTable.newBuilder().period(10)); - final ColumnSource dtColumn = timeTable.getColumnSource("Timestamp"); + final ColumnSource dtColumn = timeTable.getColumnSource("Timestamp"); tick(0); tick(2000); Assert.assertEquals(timeTable.size(), 201); final Long[] longKeys = new Long[] {null, 1000L, 1050L, 1100L, 1025L}; - final DateTime[] keys = Arrays.stream(longKeys) - .map(l -> l == null ? null : DateTimeUtils.nanosToTime(l)) - .toArray(DateTime[]::new); + final Instant[] keys = Arrays.stream(longKeys) + .map(l -> l == null ? null : DateTimeUtils.epochNanosToInstant(l)) + .toArray(Instant[]::new); try (final RowSet match = dtColumn.match(false, false, false, RowSetFactory.fromRange(100, 110), (Object[]) keys)) { Assert.assertEquals(match, RowSetFactory.fromKeys(100, 105, 110)); @@ -238,12 +238,12 @@ public void testColumnSourceMatch() { @Test public void testGetValuesMapping() { build(TimeTable.newBuilder().period(10)); - final ColumnSource dtColumn = timeTable.getColumnSource("Timestamp"); + final ColumnSource dtColumn = timeTable.getColumnSource("Timestamp"); tick(0); tick(2000); Assert.assertEquals(timeTable.size(), 201); - final Map dtMap = dtColumn.getValuesMapping(RowSetFactory.fromRange(100, 109)); + final Map dtMap = dtColumn.getValuesMapping(RowSetFactory.fromRange(100, 109)); Assert.assertEquals(dtMap.size(), 10); dtMap.forEach((tm, rows) -> { Assert.assertEquals(rows.size(), 1); @@ -261,7 +261,7 @@ public void testGetValuesMapping() { @Test public void testFillChunkUnordered() { build(TimeTable.newBuilder().period(10)); - final ColumnSource dtColumn = timeTable.getColumnSource("Timestamp"); + final ColumnSource dtColumn = timeTable.getColumnSource("Timestamp"); tick(0); tick(2000); Assert.assertEquals(timeTable.size(), 201); @@ -283,9 +283,9 @@ public void testFillChunkUnordered() { keys.add(106); keys.add(100); - // curr DateTime + // curr Instant try (final ChunkSource.FillContext context = dtColumn.makeFillContext(10); - final WritableObjectChunk dest = WritableObjectChunk.makeWritableChunk(10)) { + final WritableObjectChunk dest = WritableObjectChunk.makeWritableChunk(10)) { fillDtColumn.fillChunkUnordered(context, dest, keys); Assert.assertEquals(dest.size(), keys.size()); for (int ii = 0; ii < keys.size(); ++ii) { @@ -293,9 +293,9 @@ public void testFillChunkUnordered() { } } - // prev DateTime + // prev Instant try (final ChunkSource.FillContext context = dtColumn.makeFillContext(10); - final WritableObjectChunk dest = WritableObjectChunk.makeWritableChunk(10)) { + final WritableObjectChunk dest = WritableObjectChunk.makeWritableChunk(10)) { fillDtColumn.fillPrevChunkUnordered(context, dest, keys); Assert.assertEquals(dest.size(), keys.size()); for (int ii = 0; ii < keys.size(); ++ii) { diff --git a/engine/table/src/test/java/io/deephaven/stream/TestStreamToBlinkTableAdapter.java b/engine/table/src/test/java/io/deephaven/stream/TestStreamToBlinkTableAdapter.java index aabe6b51a20..bb9f845b070 100644 --- a/engine/table/src/test/java/io/deephaven/stream/TestStreamToBlinkTableAdapter.java +++ b/engine/table/src/test/java/io/deephaven/stream/TestStreamToBlinkTableAdapter.java @@ -12,7 +12,6 @@ import io.deephaven.engine.testutil.TstUtils; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.updategraph.UpdateGraphProcessor; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.TableTools; import io.deephaven.engine.table.ModifiedColumnSet; import io.deephaven.engine.table.impl.SimpleListener; @@ -25,6 +24,7 @@ import org.junit.Before; import org.junit.Test; +import java.time.Instant; import java.util.List; import static io.deephaven.engine.util.TableTools.*; @@ -220,8 +220,8 @@ public void testSimple() { @Test public void testWrappedTypes() { final TableDefinition tableDefinition = TableDefinition.from( - List.of("S", "B", "D"), - List.of(String.class, Boolean.class, DateTime.class)); + List.of("S", "B", "T"), + List.of(String.class, Boolean.class, Instant.class)); final Table empty = TableTools.newTable(tableDefinition); final StreamPublisher streamPublisher = new DummyStreamPublisher(); @@ -251,12 +251,12 @@ public void testWrappedTypes() { wic.set(2, BooleanUtils.booleanAsByte(null)); final WritableLongChunk wlc = WritableLongChunk.makeWritableChunk(3); chunks[2] = wlc; - final DateTime dt1 = DateTimeUtils.convertDateTime("2021-04-28T12:00:00 NY"); - wlc.set(0, dt1.getNanos()); - final DateTime dt2 = DateTimeUtils.convertDateTime("2012-08-25T12:00:00 NY"); - wlc.set(1, dt2.getNanos()); - final DateTime dt3 = DateTimeUtils.convertDateTime("2030-01-20T12:00:00 NY"); - wlc.set(2, dt3.getNanos()); + final Instant instant1 = DateTimeUtils.parseInstant("2021-04-28T12:00:00 NY"); + wlc.set(0, DateTimeUtils.epochNanos(instant1)); + final Instant instant2 = DateTimeUtils.parseInstant("2012-08-25T12:00:00 NY"); + wlc.set(1, DateTimeUtils.epochNanos(instant2)); + final Instant instant3 = DateTimeUtils.parseInstant("2030-01-20T12:00:00 NY"); + wlc.set(2, DateTimeUtils.epochNanos(instant3)); adapter.accept(chunks); @@ -272,7 +272,7 @@ public void testWrappedTypes() { TestCase.assertEquals(ModifiedColumnSet.EMPTY, listener.getUpdate().modifiedColumnSet()); final Table expect1 = TableTools.newTable(col("S", "Collins", "Armstrong", "Aldrin"), - col("B", true, false, null), col("D", dt1, dt2, dt3)); + col("B", true, false, null), col("T", instant1, instant2, instant3)); TstUtils.assertTableEquals(expect1, result); listener.reset(); diff --git a/engine/table/src/test/resources/io/deephaven/engine/table/impl/fuzzertest.groovy b/engine/table/src/test/resources/io/deephaven/engine/table/impl/fuzzertest.groovy index a4d04fe7221..5e58dff79c5 100644 --- a/engine/table/src/test/resources/io/deephaven/engine/table/impl/fuzzertest.groovy +++ b/engine/table/src/test/resources/io/deephaven/engine/table/impl/fuzzertest.groovy @@ -9,7 +9,7 @@ scale = 1000 as int; useRandomNullPoints = true as boolean; tableRandom = new Random(tableSeed) as Random; -tt = TableTools.timeTable("00:00:01"); +tt = TableTools.timeTable("PT00:00:01"); tickingValues = tt.update( "MyString=new String(`a`+i)", "MyInt=new Integer(i)", @@ -34,7 +34,7 @@ if (useRandomNullPoints) { } randomValues1 = emptyTable(size) - .update("Timestamp= i%nullPoints[0] == 0 ? null : new DateTime(i*1_000_000_000L)") + .update("Timestamp= i%nullPoints[0] == 0 ? null : DateTimeUtils.epochNanosToInstant(i*1_000_000_000L)") .update("MyString=(i%nullPoints[1] == 0 ? null : `a`+ (tableRandom.nextInt(scale*2) - scale) )", "MyInt=(i%nullPoints[2] == 0 ? null : tableRandom.nextInt(scale*2) - scale )", "MyLong=(i%nullPoints[3] ==0 ? null : (long)(tableRandom.nextInt(scale*2) - scale))", diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/ColumnInfo.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/ColumnInfo.java index c1bbe67458f..b0dc84258e8 100644 --- a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/ColumnInfo.java +++ b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/ColumnInfo.java @@ -7,7 +7,6 @@ import io.deephaven.engine.table.impl.util.ColumnHolder; import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.testutil.sources.ImmutableColumnHolder; -import io.deephaven.time.DateTime; import java.time.Instant; import java.util.Arrays; @@ -41,10 +40,10 @@ public ColumnInfo(TestDataGenerator generator, String name, ColAttributes. public ColumnHolder generateInitialColumn(RowSet rowSet, Random random) { final Chunk initialData = generator.populateChunk(rowSet, random); - if (dataType == Long.class && (type == DateTime.class || type == Instant.class)) { + if (dataType == Long.class && type == Instant.class) { Require.eqFalse(immutable, "immutable"); Require.eqFalse(grouped, "grouped"); - return ColumnHolder.getDateTimeColumnHolder(name, false, initialData); + return ColumnHolder.getInstantColumnHolder(name, false, initialData); } if (immutable) { diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/TstUtils.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/TstUtils.java index 897ee8c914b..efd539bff3a 100644 --- a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/TstUtils.java +++ b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/TstUtils.java @@ -31,12 +31,10 @@ import io.deephaven.engine.testutil.generator.TestDataGenerator; import io.deephaven.engine.testutil.rowset.RowSetTstUtils; import io.deephaven.engine.testutil.sources.ByteTestSource; -import io.deephaven.engine.testutil.sources.DateTimeTestSource; import io.deephaven.engine.testutil.sources.DoubleTestSource; import io.deephaven.engine.testutil.sources.FloatTestSource; import io.deephaven.engine.testutil.sources.ImmutableByteTestSource; import io.deephaven.engine.testutil.sources.ImmutableCharTestSource; -import io.deephaven.engine.testutil.sources.ImmutableDateTimeTestSource; import io.deephaven.engine.testutil.sources.ImmutableColumnHolder; import io.deephaven.engine.testutil.sources.CharTestSource; import io.deephaven.engine.testutil.sources.ImmutableDoubleTestSource; @@ -57,7 +55,7 @@ import io.deephaven.engine.util.TableTools; import io.deephaven.stringset.HashStringSet; import io.deephaven.stringset.StringSet; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import io.deephaven.util.SafeCloseable; import io.deephaven.util.type.TypeUtils; @@ -159,7 +157,7 @@ public static void addToTable(final Table table, final RowSet rowSet, final Colu + rowSet.size() + ", arraySize=" + columnHolder.size()); } - if (!(columnSource instanceof DateTimeTestSource && columnHolder.dataType == long.class) + if (!(columnSource instanceof InstantTestSource && columnHolder.dataType == long.class) && !(columnSource.getType() == Boolean.class && columnHolder.dataType == Boolean.class) && (columnSource.getType() != TypeUtils.getUnboxedTypeIfBoxed(columnHolder.dataType))) { throw new UnsupportedOperationException(columnHolder.name + ": Adding invalid type: source.getType()=" @@ -410,10 +408,10 @@ public static ColumnHolder getRandomBigDecimalCol(String colName, in return TableTools.col(colName, data); } - public static ColumnHolder getRandomDateTimeCol(String colName, int size, Random random) { - final DateTime[] data = new DateTime[size]; + public static ColumnHolder getRandomInstantCol(String colName, int size, Random random) { + final Instant[] data = new Instant[size]; for (int i = 0; i < data.length; i++) { - data[i] = new DateTime(random.nextLong()); + data[i] = DateTimeUtils.epochAutoToInstant(random.nextLong()); } return ColumnHolder.createColumnHolder(colName, false, data); } @@ -638,9 +636,6 @@ private static ColumnSource getTestColumnSourceFromChunk( } else if (unboxedType == double.class) { // noinspection unchecked result = (AbstractColumnSource) new ImmutableDoubleTestSource(rowSet, chunkData); - } else if (unboxedType == DateTime.class) { - // noinspection unchecked - result = (AbstractColumnSource) new ImmutableDateTimeTestSource(rowSet, chunkData); } else if (unboxedType == Instant.class) { // noinspection unchecked result = (AbstractColumnSource) new ImmutableInstantTestSource(rowSet, chunkData); @@ -670,9 +665,6 @@ private static ColumnSource getTestColumnSourceFromChunk( } else if (unboxedType == double.class) { // noinspection unchecked result = (AbstractColumnSource) new DoubleTestSource(rowSet, chunkData); - } else if (unboxedType == DateTime.class) { - // noinspection unchecked - result = (AbstractColumnSource) new DateTimeTestSource(rowSet, chunkData); } else if (unboxedType == Instant.class) { // noinspection unchecked result = (AbstractColumnSource) new InstantTestSource(rowSet, chunkData); diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedDateTimeGenerator.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedDateTimeGenerator.java deleted file mode 100644 index eb6a32ac0c7..00000000000 --- a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedDateTimeGenerator.java +++ /dev/null @@ -1,38 +0,0 @@ -package io.deephaven.engine.testutil.generator; - -import io.deephaven.time.DateTime; - -import java.util.Random; - -public class SortedDateTimeGenerator extends AbstractSortedGenerator { - private final DateTime minTime; - private final DateTime maxTime; - - public SortedDateTimeGenerator(DateTime minTime, DateTime maxTime) { - this.minTime = minTime; - this.maxTime = maxTime; - } - - DateTime maxValue() { - return maxTime; - } - - DateTime minValue() { - return minTime; - } - - DateTime makeValue(DateTime floor, DateTime ceiling, Random random) { - final long longFloor = floor.getNanos(); - final long longCeiling = ceiling.getNanos(); - - final long range = longCeiling - longFloor + 1L; - final long nextLong = Math.abs(random.nextLong()) % range; - - return new DateTime(longFloor + (nextLong % range)); - } - - @Override - public Class getType() { - return DateTime.class; - } -} diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedInstantGenerator.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedInstantGenerator.java new file mode 100644 index 00000000000..7f0f930ab4c --- /dev/null +++ b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedInstantGenerator.java @@ -0,0 +1,40 @@ +package io.deephaven.engine.testutil.generator; + +import io.deephaven.time.DateTimeUtils; + +import java.time.Instant; +import java.util.Random; + +public class SortedInstantGenerator extends AbstractSortedGenerator { + + private final Instant minTime; + private final Instant maxTime; + + public SortedInstantGenerator(Instant minTime, Instant maxTime) { + this.minTime = minTime; + this.maxTime = maxTime; + } + + Instant maxValue() { + return maxTime; + } + + Instant minValue() { + return minTime; + } + + Instant makeValue(Instant floor, Instant ceiling, Random random) { + final long longFloor = DateTimeUtils.epochNanos(floor); + final long longCeiling = DateTimeUtils.epochNanos(ceiling); + + final long range = longCeiling - longFloor + 1L; + final long nextLong = Math.abs(random.nextLong()) % range; + + return DateTimeUtils.epochNanosToInstant(longFloor + nextLong); + } + + @Override + public Class getType() { + return Instant.class; + } +} diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedDateTimeGenerator.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedDateTimeGenerator.java deleted file mode 100644 index 366cca3e748..00000000000 --- a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedDateTimeGenerator.java +++ /dev/null @@ -1,40 +0,0 @@ -package io.deephaven.engine.testutil.generator; - -import io.deephaven.time.DateTime; - -import java.util.Random; - -public class UnsortedDateTimeGenerator extends AbstractGenerator { - private final DateTime minTime; - private final DateTime maxTime; - private final double nullFrac; - - public UnsortedDateTimeGenerator(DateTime minTime, DateTime maxTime) { - this(minTime, maxTime, 0); - } - - public UnsortedDateTimeGenerator(DateTime minTime, DateTime maxTime, double nullFrac) { - this.minTime = minTime; - this.maxTime = maxTime; - this.nullFrac = nullFrac; - } - - @Override - public Class getType() { - return DateTime.class; - } - - @Override - public DateTime nextValue(Random random) { - if (nullFrac > 0 && random.nextDouble() < nullFrac) { - return null; - } - final long longFloor = minTime.getNanos(); - final long longCeiling = maxTime.getNanos(); - - final long range = longCeiling - longFloor + 1L; - final long nextLong = Math.abs(random.nextLong()) % range; - - return new DateTime(longFloor + (nextLong % range)); - } -} diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedDateTimeLongGenerator.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedDateTimeLongGenerator.java deleted file mode 100644 index 801802a658d..00000000000 --- a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedDateTimeLongGenerator.java +++ /dev/null @@ -1,45 +0,0 @@ -package io.deephaven.engine.testutil.generator; - -import io.deephaven.time.DateTime; - -import java.util.Random; - -public class UnsortedDateTimeLongGenerator extends AbstractReinterpretedGenerator { - private final DateTime minTime; - private final DateTime maxTime; - private final double nullFrac; - - public UnsortedDateTimeLongGenerator(DateTime minTime, DateTime maxTime) { - this(minTime, maxTime, 0); - } - - public UnsortedDateTimeLongGenerator(DateTime minTime, DateTime maxTime, double nullFrac) { - this.minTime = minTime; - this.maxTime = maxTime; - this.nullFrac = nullFrac; - } - - @Override - public Class getType() { - return Long.class; - } - - @Override - public Class getColumnType() { - return DateTime.class; - } - - @Override - Long nextValue(Random random) { - if (nullFrac > 0 && random.nextDouble() < nullFrac) { - return null; - } - final long longFloor = minTime.getNanos(); - final long longCeiling = maxTime.getNanos(); - - final long range = longCeiling - longFloor + 1L; - final long nextLong = Math.abs(random.nextLong()) % range; - - return new DateTime(longFloor + (nextLong % range)).getNanos(); - } -} diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedInstantGenerator.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedInstantGenerator.java new file mode 100644 index 00000000000..e7d2b6d759a --- /dev/null +++ b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedInstantGenerator.java @@ -0,0 +1,42 @@ +package io.deephaven.engine.testutil.generator; + +import io.deephaven.time.DateTimeUtils; + +import java.time.Instant; +import java.util.Random; + +public class UnsortedInstantGenerator extends AbstractGenerator { + + private final Instant minTime; + private final Instant maxTime; + private final double nullFrac; + + public UnsortedInstantGenerator(Instant minTime, Instant maxTime) { + this(minTime, maxTime, 0); + } + + public UnsortedInstantGenerator(Instant minTime, Instant maxTime, double nullFrac) { + this.minTime = minTime; + this.maxTime = maxTime; + this.nullFrac = nullFrac; + } + + @Override + public Class getType() { + return Instant.class; + } + + @Override + public Instant nextValue(Random random) { + if (nullFrac > 0 && random.nextDouble() < nullFrac) { + return null; + } + final long longFloor = DateTimeUtils.epochNanos(minTime); + final long longCeiling = DateTimeUtils.epochNanos(maxTime); + + final long range = longCeiling - longFloor + 1L; + final long nextLong = Math.abs(random.nextLong()) % range; + + return DateTimeUtils.epochNanosToInstant(longFloor + nextLong); + } +} diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedInstantLongGenerator.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedInstantLongGenerator.java new file mode 100644 index 00000000000..e0e6e305986 --- /dev/null +++ b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UnsortedInstantLongGenerator.java @@ -0,0 +1,46 @@ +package io.deephaven.engine.testutil.generator; + +import io.deephaven.time.DateTimeUtils; + +import java.time.Instant; +import java.util.Random; + +public class UnsortedInstantLongGenerator extends AbstractReinterpretedGenerator { + private final Instant minTime; + private final Instant maxTime; + private final double nullFrac; + + public UnsortedInstantLongGenerator(Instant minTime, Instant maxTime) { + this(minTime, maxTime, 0); + } + + public UnsortedInstantLongGenerator(Instant minTime, Instant maxTime, double nullFrac) { + this.minTime = minTime; + this.maxTime = maxTime; + this.nullFrac = nullFrac; + } + + @Override + public Class getType() { + return Long.class; + } + + @Override + public Class getColumnType() { + return Instant.class; + } + + @Override + Long nextValue(Random random) { + if (nullFrac > 0 && random.nextDouble() < nullFrac) { + return null; + } + final long longFloor = DateTimeUtils.epochNanos(minTime); + final long longCeiling = DateTimeUtils.epochNanos(maxTime); + + final long range = longCeiling - longFloor + 1L; + final long nextLong = Math.abs(random.nextLong()) % range; + + return longFloor + (nextLong % range); + } +} diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/DateTimeTestSource.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/DateTimeTestSource.java deleted file mode 100644 index 533c72a5b26..00000000000 --- a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/DateTimeTestSource.java +++ /dev/null @@ -1,155 +0,0 @@ -package io.deephaven.engine.testutil.sources; - -import io.deephaven.chunk.Chunk; -import io.deephaven.chunk.ChunkType; -import io.deephaven.chunk.LongChunk; -import io.deephaven.chunk.ObjectChunk; -import io.deephaven.chunk.attributes.Values; -import io.deephaven.engine.rowset.RowSet; -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.engine.table.impl.AbstractColumnSource; -import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; -import io.deephaven.util.QueryConstants; -import io.deephaven.util.type.TypeUtils; -import org.jetbrains.annotations.NotNull; - -/** - * DateTime column source that wraps and delegates the storage to an {@code TreeMapSource}. This also provides an - * interface so this column can be interpreted as a long column (through UnboxedDateTimeTreeMapSource). - */ -public class DateTimeTestSource extends AbstractColumnSource - implements MutableColumnSourceGetDefaults.ForObject, TestColumnSource { - - private final LongTestSource longTestSource; - private final UnboxedDateTimeTestSource alternateColumnSource; - - /** - * Create a new DateTimeTreeMapSource with no initial data. - */ - public DateTimeTestSource() { - super(DateTime.class); - this.longTestSource = new LongTestSource(); - this.alternateColumnSource = new UnboxedDateTimeTestSource(this, longTestSource); - } - - /** - * Create a new DateTimeTreeMapSource with the given rowSet and data. - * - * @param rowSet The row keys for the initial data - * @param data The initial data - */ - public DateTimeTestSource(RowSet rowSet, DateTime[] data) { - super(DateTime.class); - this.longTestSource = new LongTestSource(rowSet, mapData(data)); - this.alternateColumnSource = new UnboxedDateTimeTestSource(this, longTestSource); - } - - /** - * Create a new DateTimeTreeMapSource with the given rowSet and data. - * - * @param rowSet The row keys for the initial data - * @param data The initial data - */ - public DateTimeTestSource(RowSet rowSet, Chunk data) { - super(DateTime.class); - if (data.getChunkType() == ChunkType.Long) { - this.longTestSource = new LongTestSource(rowSet, data.asLongChunk()); - } else { - this.longTestSource = new LongTestSource(rowSet, mapData(data.asObjectChunk())); - } - - this.alternateColumnSource = new UnboxedDateTimeTestSource(this, longTestSource); - } - - private LongChunk mapData(DateTime[] data) { - final long[] result = new long[data.length]; - for (int ii = 0; ii < result.length; ++ii) { - final DateTime dt = data[ii]; - result[ii] = dt == null ? QueryConstants.NULL_LONG : dt.getNanos(); - } - return LongChunk.chunkWrap(result); - } - - private LongChunk mapData(ObjectChunk data) { - final long[] result = new long[data.size()]; - if (result.length > 0 && data.get(0) instanceof Long) { - final ObjectChunk boxedLongChunk = data.asObjectChunk(); - for (int ii = 0; ii < result.length; ++ii) { - result[ii] = TypeUtils.unbox(boxedLongChunk.get(ii)); - } - } else { - final ObjectChunk dtc = data.asObjectChunk(); - for (int ii = 0; ii < result.length; ++ii) { - final DateTime dt = dtc.get(ii); - result[ii] = dt == null ? QueryConstants.NULL_LONG : dt.getNanos(); - } - } - return LongChunk.chunkWrap(result); - } - - public void add(RowSet rowSet, DateTime[] data) { - longTestSource.add(rowSet, mapData(data)); - } - - @Override - public void add(RowSet rowSet, Chunk data) { - if (data.getChunkType() == ChunkType.Long) { - longTestSource.add(rowSet, data.asLongChunk()); - } else if (data.getChunkType() == ChunkType.Object) { - longTestSource.add(rowSet, mapData(data.asObjectChunk())); - } else { - throw new IllegalArgumentException(); - } - } - - @Override - public void remove(RowSet rowSet) { - longTestSource.remove(rowSet); - } - - @Override - public void shift(long startKeyInclusive, long endKeyInclusive, long shiftDelta) { - longTestSource.shift(startKeyInclusive, endKeyInclusive, shiftDelta); - } - - @Override - public DateTime get(long rowKey) { - final Long v = longTestSource.get(rowKey); - return v == null ? null : new DateTime(v); - } - - @Override - public boolean isImmutable() { - return false; - } - - @Override - public long getLong(long rowKey) { - return longTestSource.getLong(rowKey); - } - - @Override - public DateTime getPrev(long rowKey) { - final Long v = longTestSource.getPrev(rowKey); - return v == null ? null : new DateTime(v); - } - - @Override - public long getPrevLong(long rowKey) { - return longTestSource.getPrevLong(rowKey); - } - - @Override - public boolean allowsReinterpret( - @NotNull final Class alternateDataType) { - return alternateDataType == long.class; - } - - @Override - public ColumnSource doReinterpret( - @NotNull final Class alternateDataType) throws IllegalArgumentException { - // noinspection unchecked - return (ColumnSource) alternateColumnSource; - } -} diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableDateTimeTestSource.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableDateTimeTestSource.java deleted file mode 100644 index 9ca2656dcdd..00000000000 --- a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableDateTimeTestSource.java +++ /dev/null @@ -1,131 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.testutil.sources; - -import io.deephaven.chunk.Chunk; -import io.deephaven.chunk.ChunkType; -import io.deephaven.chunk.LongChunk; -import io.deephaven.chunk.ObjectChunk; -import io.deephaven.chunk.attributes.Values; -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.engine.table.impl.AbstractColumnSource; -import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; -import io.deephaven.engine.rowset.RowSet; -import io.deephaven.util.QueryConstants; -import io.deephaven.util.type.TypeUtils; -import org.jetbrains.annotations.NotNull; - -/** - * DateTime column source that wraps and delegates the storage to an {@code ImmutableLongTestSource}. This also - * provides an interface so this column can be interpreted as a long column (through UnboxedDateTimeTestSource). - */ -public class ImmutableDateTimeTestSource extends AbstractColumnSource - implements MutableColumnSourceGetDefaults.ForObject, TestColumnSource { - - private final ImmutableLongTestSource longTestSource; - private final UnboxedDateTimeTestSource alternateColumnSource; - - /** - * Create a new ImmutableDateTimeTestSource with no initial data. - */ - public ImmutableDateTimeTestSource() { - super(DateTime.class); - this.longTestSource = new ImmutableLongTestSource(); - this.alternateColumnSource = new UnboxedDateTimeTestSource(this, longTestSource); - } - - /** - * Create a new DateTimeTreeMapSource with the given rowSet and data. - * - * @param rowSet The row indexes for the initial data - * @param data The initial data - */ - public ImmutableDateTimeTestSource(RowSet rowSet, Chunk data) { - super(DateTime.class); - if (data.getChunkType() == ChunkType.Long) { - this.longTestSource = new ImmutableLongTestSource(rowSet, data.asLongChunk()); - } else { - this.longTestSource = new ImmutableLongTestSource(rowSet, mapData(data.asObjectChunk())); - } - this.alternateColumnSource = new UnboxedDateTimeTestSource(this, longTestSource); - } - - private LongChunk mapData(ObjectChunk data) { - final long[] result = new long[data.size()]; - if (result.length > 0 && data.get(0) instanceof Long) { - final ObjectChunk boxedLongChunk = data.asObjectChunk(); - for (int ii = 0; ii < result.length; ++ii) { - result[ii] = TypeUtils.unbox(boxedLongChunk.get(ii)); - } - } else { - final ObjectChunk dtc = data.asObjectChunk(); - for (int ii = 0; ii < result.length; ++ii) { - final DateTime dt = dtc.get(ii); - result[ii] = dt == null ? QueryConstants.NULL_LONG : dt.getNanos(); - } - } - return LongChunk.chunkWrap(result); - } - - @Override - public void add(RowSet rowSet, Chunk data) { - if (data.getChunkType() == ChunkType.Long) { - longTestSource.add(rowSet, data.asLongChunk()); - } else if (data.getChunkType() == ChunkType.Object) { - longTestSource.add(rowSet, mapData(data.asObjectChunk())); - } else { - throw new IllegalArgumentException(); - } - } - - @Override - public void remove(RowSet rowSet) { - longTestSource.remove(rowSet); - } - - public void shift(long startKeyInclusive, long endKeyInclusive, long shiftDelta) { - longTestSource.shift(startKeyInclusive, endKeyInclusive, shiftDelta); - } - - @Override - public DateTime get(long index) { - final Long v = longTestSource.get(index); - return v == null ? null : new DateTime(v); - } - - @Override - public boolean isImmutable() { - return false; - } - - @Override - public long getLong(long index) { - return longTestSource.getLong(index); - } - - @Override - public DateTime getPrev(long index) { - final Long v = longTestSource.getPrev(index); - return v == null ? null : new DateTime(v); - } - - @Override - public long getPrevLong(long rowKey) { - return longTestSource.getPrevLong(rowKey); - } - - @Override - public boolean allowsReinterpret( - @NotNull final Class alternateDataType) { - return alternateDataType == long.class; - } - - @Override - public ColumnSource doReinterpret( - @NotNull final Class alternateDataType) throws IllegalArgumentException { - // noinspection unchecked - return (ColumnSource) alternateColumnSource; - } -} diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableInstantTestSource.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableInstantTestSource.java index 46649a132d2..470e023bd1b 100644 --- a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableInstantTestSource.java +++ b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableInstantTestSource.java @@ -11,7 +11,6 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.AbstractColumnSource; import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults; -import io.deephaven.time.DateTime; import io.deephaven.engine.rowset.RowSet; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; @@ -22,7 +21,7 @@ /** * DateTime column source that wraps and delegates the storage to an {@code ImmutableLongTestSource}. This also - * provides an interface so this column can be interpreted as a long column (through UnboxedDateTimeTestSource). + * provides an interface so this column can be interpreted as a long column (through UnboxedInstantTestSource). */ public class ImmutableInstantTestSource extends AbstractColumnSource implements MutableColumnSourceGetDefaults.ForObject, TestColumnSource { @@ -66,7 +65,7 @@ private LongChunk mapData(ObjectChunk data) { final ObjectChunk dtc = data.asObjectChunk(); for (int ii = 0; ii < result.length; ++ii) { final Instant dt = dtc.get(ii); - result[ii] = dt == null ? QueryConstants.NULL_LONG : DateTimeUtils.toEpochNano(dt); + result[ii] = dt == null ? QueryConstants.NULL_LONG : DateTimeUtils.epochNanos(dt); } } return LongChunk.chunkWrap(result); @@ -95,7 +94,7 @@ public void shift(long startKeyInclusive, long endKeyInclusive, long shiftDelta) @Override public Instant get(long index) { final Long v = longTestSource.get(index); - return v == null ? null : DateTimeUtils.makeInstant(v); + return v == null ? null : DateTimeUtils.epochNanosToInstant(v); } @Override @@ -111,7 +110,7 @@ public long getLong(long index) { @Override public Instant getPrev(long index) { final Long v = longTestSource.getPrev(index); - return v == null ? null : DateTimeUtils.makeInstant(v); + return v == null ? null : DateTimeUtils.epochNanosToInstant(v); } @Override diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/InstantTestSource.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/InstantTestSource.java index 3f491f0b7cd..a0c6725f84b 100644 --- a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/InstantTestSource.java +++ b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/InstantTestSource.java @@ -68,7 +68,7 @@ private LongChunk mapData(Instant[] data) { final long[] result = new long[data.length]; for (int ii = 0; ii < result.length; ++ii) { final Instant dt = data[ii]; - result[ii] = dt == null ? QueryConstants.NULL_LONG : DateTimeUtils.toEpochNano(dt); + result[ii] = dt == null ? QueryConstants.NULL_LONG : DateTimeUtils.epochNanos(dt); } return LongChunk.chunkWrap(result); } @@ -84,7 +84,7 @@ private LongChunk mapData(ObjectChunk data) { final ObjectChunk dtc = data.asObjectChunk(); for (int ii = 0; ii < result.length; ++ii) { final Instant dt = dtc.get(ii); - result[ii] = dt == null ? QueryConstants.NULL_LONG : DateTimeUtils.toEpochNano(dt); + result[ii] = dt == null ? QueryConstants.NULL_LONG : DateTimeUtils.epochNanos(dt); } } return LongChunk.chunkWrap(result); @@ -118,7 +118,7 @@ public void shift(long startKeyInclusive, long endKeyInclusive, long shiftDelta) @Override public Instant get(long rowKey) { final Long v = longTestSource.get(rowKey); - return v == null ? null : DateTimeUtils.makeInstant(v); + return v == null ? null : DateTimeUtils.epochNanosToInstant(v); } @Override @@ -134,7 +134,7 @@ public long getLong(long rowKey) { @Override public Instant getPrev(long rowKey) { final Long v = longTestSource.getPrev(rowKey); - return v == null ? null : DateTimeUtils.makeInstant(v); + return v == null ? null : DateTimeUtils.epochNanosToInstant(v); } @Override diff --git a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/UnboxedDateTimeTestSource.java b/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/UnboxedDateTimeTestSource.java deleted file mode 100644 index e702d6ad687..00000000000 --- a/engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/UnboxedDateTimeTestSource.java +++ /dev/null @@ -1,39 +0,0 @@ -package io.deephaven.engine.testutil.sources; - -import io.deephaven.chunk.Chunk; -import io.deephaven.chunk.attributes.Values; -import io.deephaven.engine.rowset.RowSet; -import io.deephaven.engine.table.ColumnSource; -import io.deephaven.engine.table.impl.sources.UnboxedLongBackedColumnSource; -import io.deephaven.time.DateTime; - -/** - * Wrap a regular {@link TestColumnSource} to make it reinterpretable as a DateTime column source. - */ -public class UnboxedDateTimeTestSource extends UnboxedLongBackedColumnSource - implements TestColumnSource { - - // the actual data storage - private final TestColumnSource longTestSource; - - public UnboxedDateTimeTestSource(ColumnSource alternateColumnSource, - TestColumnSource testColumnSource) { - super(alternateColumnSource); - this.longTestSource = testColumnSource; - } - - @Override - public void add(RowSet rowSet, Chunk data) { - longTestSource.add(rowSet, data); - } - - @Override - public void remove(RowSet rowSet) { - longTestSource.remove(rowSet); - } - - @Override - public void shift(long startKeyInclusive, long endKeyInclusive, long shiftDelta) { - longTestSource.shift(startKeyInclusive, endKeyInclusive, shiftDelta); - } -} diff --git a/engine/time/build.gradle b/engine/time/build.gradle index ba28e1a0fae..697af28e26f 100644 --- a/engine/time/build.gradle +++ b/engine/time/build.gradle @@ -12,7 +12,6 @@ configurations { dependencies { api project(':Base') api project(':Util') - api 'joda-time:joda-time:2.10' implementation project(':engine-function') implementation project(':Configuration') diff --git a/engine/time/src/main/java/io/deephaven/time/DateTime.java b/engine/time/src/main/java/io/deephaven/time/DateTime.java deleted file mode 100644 index 77464b07be0..00000000000 --- a/engine/time/src/main/java/io/deephaven/time/DateTime.java +++ /dev/null @@ -1,475 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.time; - -import io.deephaven.base.clock.Clock; -import io.deephaven.util.QueryConstants; -import io.deephaven.util.annotations.ReflexiveUse; -import io.deephaven.util.type.TypeUtils; -import org.jetbrains.annotations.NotNull; -import org.joda.time.DateTimeZone; -import org.joda.time.format.DateTimeFormat; -import org.joda.time.format.DateTimeFormatter; - -import java.io.Externalizable; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; -import java.time.Instant; -import java.time.LocalDate; -import java.time.LocalTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.util.Date; - -import static java.time.format.DateTimeFormatter.ISO_LOCAL_DATE; - -/** - * An object representing a timepoint in Deephaven. - * - *

    - * The DateTime represents a zone-less, precise timepoint without respect to timezones. The instant is stored as a - * signed 64-bit long, representing nanoseconds since the epoch (January 1, 1970, 00:00:00 GMT). This provides a range - * from 1677-09-21T00:12:43.146-775807 UTC to 2262-04-11T23:47:16.854775807 UTC. The minimum long value is reserved for - * {@link QueryConstants#NULL_LONG} and therefore is not permitted as a valid DateTime. - *

    - */ -@TypeUtils.IsDateTime -@ReflexiveUse(referrers = "io.deephaven.gui.table.filters.StringFilterData") -public final class DateTime implements Comparable, Externalizable { - - private static final long serialVersionUID = -9077991715632523353L; - private static final DateTimeFormatter JODA_DATE_TIME_FORMAT = - DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSS"); - private static final DateTimeFormatter JODA_DATE_FORMAT = DateTimeFormat.forPattern("yyyy-MM-dd"); - - private long nanos; - - public static DateTime of(Instant instant) { - return new DateTime(DateTimeUtils.nanos(instant)); - } - - /** - * Create a new date time via {@link Clock#currentTimeNanos()}. - * - *

    - * Equivalent to {@code new DateTime(clock.currentTimeNanos())}. - * - *

    - * If nanosecond resolution is not necessary, consider using {@link #ofMillis(Clock)}. - * - * @param clock the clock - * @return the date time - */ - public static DateTime of(Clock clock) { - return new DateTime(clock.currentTimeNanos()); - } - - /** - * Create a new date time via {@link Clock#currentTimeMillis()}. - * - *

    - * Equivalent to {@code new DateTime(Math.multiplyExact(clock.currentTimeMillis(), 1_000_000))}. - * - * @param clock the clock - * @return the date time - */ - public static DateTime ofMillis(Clock clock) { - return new DateTime(Math.multiplyExact(clock.currentTimeMillis(), 1_000_000)); - } - - /** - * Create a new DateTime initialized to the current system time. Based on {@link Clock#system()}. Equivalent to - * {@code of(Clock.system())}. - * - *

    - * The precision of DateTime is nanoseconds, but the resolution of the this method depends on the JVM. - * - *

    - * If you don't need nanosecond resolution, it may be preferable to use {@link #nowMillis()}. - * - *

    - * Note: overflow checking is not performed - this method will overflow in the year 2262. - * - * @return a new DateTime initialized to the current time. - */ - public static DateTime now() { - return of(Clock.system()); - } - - /** - * Create a new DateTime initialized to the current system time. Based on {@link Clock#system()}. Equivalent to - * {@code ofMillis(Clock.system())}. - * - *

    - * The resolution will be in milliseconds. - * - * @return a new DateTime initialized to the current time. - */ - public static DateTime nowMillis() { - return ofMillis(Clock.system()); - } - - /** - * Create a new DateTime initialized to the epoch. - */ - public DateTime() { - // for Externalizable - } - - /** - * Create a new DateTime initialized to the provided nanoseconds since the epoch. - * - * @param nanos the number of nanoseconds since the epoch - */ - public DateTime(long nanos) { - this.nanos = nanos; - } - - // region Numeric representations - /** - * Get this time represented as nanoseconds since the epoch - * - * @return the number of nanoseconds since the epoch - */ - public long getNanos() { - return nanos; - } - - /** - * Get this time represented as microseconds since the epoch - * - * @return the number of microseconds since the epoch - */ - public long getMicros() { - return nanos / 1000; - } - - /** - * Get this time represented as milliseconds since the epoch - * - * @return the number of milliseconds since the epoch - */ - public long getMillis() { - return nanos / 1000000; - } - - /** - * Get nanoseconds-of-milliseconds; this number will always be between 0 and 999,999 - * - * @return the number of nanoseconds after the nearest millisecond. - */ - public long getNanosPartial() { - return nanos % 1000000; - } - // region Numeric representations - - // region Mutations to other DateTime types - // region Joda DateTime flavors - /** - * Convert this DateTime to a Joda DateTime. - * - * This DateTime will be truncated to milliseconds. - * - * @return a Joda DateTime representing this DateTime - * @deprecated use {@link #toZonedDateTime(ZoneId)} instead - */ - @Deprecated - public org.joda.time.DateTime getJodaDateTime() { - return new org.joda.time.DateTime(getMillis()); - } - - /** - * Convert this DateTime to a Joda DateTime. - * - * This DateTime will be truncated to milliseconds. - * - * @param timeZone the timezone for the created Joda DateTime - * - * @return a Joda DateTime representing this DateTime - * @deprecated use {@link #toZonedDateTime(ZoneId)} instead - */ - @Deprecated - public org.joda.time.DateTime getJodaDateTime(TimeZone timeZone) { - return new org.joda.time.DateTime(getMillis(), timeZone.getTimeZone()); - } - // endregion - - // region Java DateTime flavors - /** - * Get a {@link ZonedDateTime} version of this {@link DateTime} at the {@link ZoneId#systemDefault() system default} - * time zone. - * - * @return a {@link ZonedDateTime} - */ - @NotNull - public ZonedDateTime toZonedDateTime() { - return toZonedDateTime(ZoneId.systemDefault()); - } - - /** - * Get a {@link ZonedDateTime} version of this {@link DateTime} at the specified time zone. - * - * @return a {@link ZonedDateTime} - */ - @NotNull - public ZonedDateTime toZonedDateTime(@NotNull final String zone) { - return toZonedDateTime(ZoneId.of(zone)); - } - - /** - * Get a {@link ZonedDateTime} version of this {@link DateTime} at the specified time zone. - * - * @return a {@link ZonedDateTime} - */ - @NotNull - public ZonedDateTime toZonedDateTime(@NotNull final TimeZone zone) { - return toZonedDateTime(zone.getZoneId()); - } - - /** - * Get a {@link ZonedDateTime} version of this {@link DateTime} at the specified time zone. - * - * @return a {@link ZonedDateTime} - */ - @NotNull - public ZonedDateTime toZonedDateTime(@NotNull final ZoneId zone) { - return ZonedDateTime.ofInstant(getInstant(), zone); - } - - /** - * Get a {@link LocalDate} representing the date of this {@link DateTime} at the {@link ZoneId#systemDefault() - * system default} time zone. - * - * @return the {@link LocalDate} - */ - @NotNull - public LocalDate toLocalDate() { - return toLocalDate(ZoneId.systemDefault()); - } - - /** - * Get a {@link LocalDate} representing the date of this {@link DateTime} at the specified time zone. - * - * @return the {@link LocalDate} - */ - @NotNull - public LocalDate toLocalDate(@NotNull final String zone) { - return toLocalDate(ZoneId.of(zone)); - } - - /** - * Get a {@link LocalDate} representing the date of this {@link DateTime} at the specified time zone. - * - * @return the {@link LocalDate} - */ - @NotNull - public LocalDate toLocalDate(@NotNull final TimeZone zone) { - return toLocalDate(zone.getZoneId()); - } - - /** - * Get a {@link LocalDate} representing the date of this {@link DateTime} at the specified time zone. - * - * @return the {@link LocalDate} - */ - @NotNull - public LocalDate toLocalDate(@NotNull final ZoneId zone) { - return toZonedDateTime(zone).toLocalDate(); - } - - /** - * Get a {@link LocalTime} representing the time of day of this {@link DateTime} at the - * {@link ZoneId#systemDefault() system default} time zone. - * - * @return the {@link LocalTime} - */ - @NotNull - public LocalTime toLocalTime() { - return toLocalTime(ZoneId.systemDefault()); - } - - /** - * Get a {@link LocalTime} representing the time of day of this {@link DateTime} at the specified time zone. - * - * @return the {@link LocalTime} - */ - @NotNull - public LocalTime toLocalTime(@NotNull final String zone) { - return toLocalTime(ZoneId.of(zone)); - } - - /** - * Get a {@link LocalTime} representing the time of day of this {@link DateTime} at the specified time zone. - * - * @return the {@link LocalTime} - */ - @NotNull - public LocalTime toLocalTime(@NotNull final TimeZone zone) { - return toLocalTime(zone.getZoneId()); - } - - /** - * Get a {@link LocalTime} representing the time of day of this {@link DateTime} at the specified time zone. - * - * @return the {@link LocalTime} - */ - @NotNull - public LocalTime toLocalTime(@NotNull final ZoneId zone) { - return toZonedDateTime(zone).toLocalTime(); - } - - /** - * Convert this DateTime to a Java Date. - * - * This DateTime will be truncated to milliseconds. - * - * @return a Java Date representing this DateTime - * @deprecated use {@link #toZonedDateTime()} instead. - */ - @Deprecated - @NotNull - public Date getDate() { - return new Date(getMillis()); - } - - /** - * Convert this DateTime to a Java Instant. - * - * @return a Java Instant representing this DateTime - */ - @NotNull - public Instant getInstant() { - return Instant.ofEpochSecond(0, nanos); - } - // endregion - // endregion - - // region Object hashing / Comparison - @Override - public boolean equals(final Object that) { - if (this == that) { - return true; - } - if (that == null) { - return false; - } - if (!(that instanceof DateTime)) { - return false; - } - return nanos == ((DateTime) that).nanos; - } - - public int hashCode() { - return (int) (nanos ^ (nanos >>> 32)); - } - - public int compareTo(DateTime dateTime) { - return (nanos < dateTime.nanos ? -1 : (nanos == dateTime.nanos ? 0 : 1)); - } - // endregion - - // region String formatting - @Override - public String toString() { - return toString(TimeZone.TZ_DEFAULT); - } - - /** - * Convert this DateTime into a String using the provided {@link TimeZone}. - * - *

    - * The date will be formatted as {@code yyyy-MM-DDThh:mm:ss.SSSSSSSSS TZ}, for example - * {@code 2020-05-27T13:37:57.780853000 NY} or {@code 2020-05-27T17:37:42.763641000 UTC}. - *

    - * - * @param timeZone the timezone for formatting the string - * @return a String representation of this DateTime - */ - @NotNull - public String toString(@NotNull final TimeZone timeZone) { - return JODA_DATE_TIME_FORMAT.withZone(timeZone.getTimeZone()).print(getMillis()) - + DateTimeUtils.pad(String.valueOf(getNanosPartial()), 6) + " " + timeZone.toString().substring(3); - } - - /** - * Get the date represented by this DateTime in the default {@link TimeZone}. - * - * @return The date (yyyy-MM-dd) represented by this {@code DateTime} in the default {@link TimeZone}. - */ - @NotNull - public String toDateString() { - return toDateString(TimeZone.TZ_DEFAULT); - } - - /** - * Get the date represented by this DateTime in the given {@link TimeZone}. - * - * @param timeZone a TimeZone - * @return The date (yyyy-MM-dd) represented by this {@code DateTime} in the given timeZone. - */ - @NotNull - public String toDateString(@NotNull final TimeZone timeZone) { - // noinspection ConstantConditions - if (timeZone == null) { - throw new IllegalArgumentException("timeZone cannot be null"); - } - return JODA_DATE_FORMAT.withZone(timeZone.getTimeZone()).print(getMillis()); - } - - /** - * Get the date represented by this DateTime in the given Joda {@code DateTimeZone} in ISO date format yyyy-mm. - * - * @param timeZone A joda DateTimeZone - * @return The date (yyyy-MM-dd) represented by this {@code DateTime} in the given {@code timeZone} - */ - @NotNull - public String toDateString(@NotNull final DateTimeZone timeZone) { - // noinspection ConstantConditions - if (timeZone == null) { - throw new IllegalArgumentException("timeZone cannot be null"); - } - return JODA_DATE_FORMAT.withZone(timeZone).print(getMillis()); - } - - /** - * Get the date represented by this DateTime in the time zone specified by {@code zoneId} in - * {@link java.time.format.DateTimeFormatter#ISO_LOCAL_DATE ISO} date format. - * - * @param zoneId A java time zone ID string - * @return The date (yyyy-MM-dd) represented by this {@code DateTime} in time zone represented by the given - * {@code zoneId} - */ - @NotNull - public String toDateString(@NotNull final String zoneId) { - return toDateString(ZoneId.of(zoneId)); - } - - /** - * Get the date represented by this DateTime in the given java {@code ZoneId} in - * {@link java.time.format.DateTimeFormatter#ISO_LOCAL_DATE ISO} date format. - * - * @param timeZone A java {@link ZoneId time zone ID}. - * @return The date (yyyy-MM-dd) represented by this {@code DateTime} in the given {@code timeZone} - */ - @NotNull - public String toDateString(@NotNull final ZoneId timeZone) { - // noinspection ConstantConditions - if (timeZone == null) { - throw new IllegalArgumentException("timeZone cannot be null"); - } - return ISO_LOCAL_DATE.format(ZonedDateTime.ofInstant(getInstant(), timeZone)); - } - // endregion - - // region Externalizable - public void writeExternal(ObjectOutput out) throws IOException { - out.writeLong(nanos); - } - - public void readExternal(ObjectInput in) throws IOException { - nanos = in.readLong(); - } - // endregion -} diff --git a/engine/time/src/main/java/io/deephaven/time/DateTimeFormatter.java b/engine/time/src/main/java/io/deephaven/time/DateTimeFormatter.java index fce6848a648..e40315e493f 100644 --- a/engine/time/src/main/java/io/deephaven/time/DateTimeFormatter.java +++ b/engine/time/src/main/java/io/deephaven/time/DateTimeFormatter.java @@ -1,27 +1,50 @@ /** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending */ package io.deephaven.time; +import org.jetbrains.annotations.NotNull; + +import java.time.Instant; import java.time.ZoneId; +import java.time.ZonedDateTime; import java.util.HashMap; import java.util.Map; /** - * Formatter for DateTimes. + * String formatter for {@link Instant} and {@link ZonedDateTime}. */ public class DateTimeFormatter { + private final String pattern; - private final Map formatCache = new HashMap<>(3); + private final Map formatCacheID = new HashMap<>(3); + /** + * Creates a new date time formatter using the default time zone. + * + * See {@link java.time.format.DateTimeFormatter} for valid format strings. + * + * @param pattern format pattern. + * @see ZoneId#systemDefault() + * @see java.time.format.DateTimeFormatter + */ public DateTimeFormatter(String pattern) { this.pattern = pattern; // Do this here so we fail fast if there's a problem with the format string - getFormatter(TimeZone.TZ_DEFAULT); + getFormatter(DateTimeUtils.timeZone()); } + /** + * Creates a new date time formatter. + * + * @param isISO ISO 8601 format + * @param hasDate include date + * @param hasTime include time + * @param subsecondDigits include subsecond digits + * @param hasTZ include time zone + */ public DateTimeFormatter(final boolean isISO, final boolean hasDate, final boolean hasTime, final int subsecondDigits, final boolean hasTZ) { this((hasDate ? "yyyy-MM-dd" : "") + (!hasDate || !hasTime ? "" : isISO ? "'T'" : " ") + @@ -29,25 +52,59 @@ public DateTimeFormatter(final boolean isISO, final boolean hasDate, final boole (hasTime ? "S".repeat(subsecondDigits) : "") + (hasTZ ? " %t" : "")); } - private java.time.format.DateTimeFormatter getFormatter(TimeZone tz) { - return formatCache.computeIfAbsent(tz, newTz -> java.time.format.DateTimeFormatter - .ofPattern(pattern.replaceAll("%t", '\'' + tz.toString().substring(3) + '\''))); + private java.time.format.DateTimeFormatter getFormatter(ZoneId tz) { + final String timeZone = TimeZoneAliases.zoneName(tz); + return formatCacheID.computeIfAbsent(tz, newTz -> java.time.format.DateTimeFormatter + .ofPattern(pattern.replaceAll("%t", '\'' + timeZone + '\''))); + } + + /** + * Returns a ZonedDateTime formatted as a string. + * + * @param dateTime date time to format as a string. + * @return date time formatted as a string. + */ + @NotNull + public String format(@NotNull final ZonedDateTime dateTime) { + return dateTime.format(getFormatter(dateTime.getZone())); } - public String format(DateTime dateTime, TimeZone tz) { - final ZoneId zone = tz.getTimeZone().toTimeZone().toZoneId(); - return dateTime.getInstant().atZone(zone).format(getFormatter(tz)); + /** + * Returns an Instant formatted as a string. + * + * @param instant time to format as a string. + * @param timeZone time zone to use when formatting the string. + * @return date time formatted as a string. + */ + @NotNull + public String format(@NotNull final Instant instant, @NotNull final ZoneId timeZone) { + return format(instant.atZone(timeZone)); } - public String format(DateTime dateTime) { - return format(dateTime, TimeZone.TZ_DEFAULT); + /** + * Returns an Instant formatted as a string using the default time zone. + * + * @param instant time to format as a string. + * @return date time formatted as a string. + * @see ZoneId#systemDefault() + */ + @NotNull + public String format(@NotNull final Instant instant) { + return format(instant, DateTimeUtils.timeZone()); } @Override public String toString() { - return format(DateTime.now()); + return "DateTimeFormatter{" + + "pattern='" + pattern + '\'' + + '}'; } + /** + * Gets the format pattern. + * + * @return format pattern. + */ public String getPattern() { return pattern; } diff --git a/engine/time/src/main/java/io/deephaven/time/DateTimeFormatters.java b/engine/time/src/main/java/io/deephaven/time/DateTimeFormatters.java index 7a9e89d6fac..b8f6ddb0ea0 100644 --- a/engine/time/src/main/java/io/deephaven/time/DateTimeFormatters.java +++ b/engine/time/src/main/java/io/deephaven/time/DateTimeFormatters.java @@ -1,38 +1,66 @@ /** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending */ package io.deephaven.time; /** - * Common DateTimeFormatters. + * Common date time formatters. + * + * @see DateTimeFormatter */ public enum DateTimeFormatters { // @formatter:off + /** ISO date plus time format with a 'T" separating the date and time, 9 sub-second digits and, the time zone. */ ISO9TZ(true, true, true, 9, true), + /** ISO date plus time format with a 'T" separating the date and time, 6 sub-second digits and, the time zone. */ ISO6TZ(true, true, true, 6, true), + /** ISO date plus time format with a 'T" separating the date and time, 3 sub-second digits and, the time zone. */ ISO3TZ(true, true, true, 3, true), + /** ISO date plus time format with a 'T" separating the date and time, 0 sub-second digits and, the time zone. */ ISO0TZ(true, true, true, 0, true), + /** ISO date plus time format with a 'T" separating the date and time, 9 sub-second digits and, no time zone. */ ISO9(true, true, true, 9, false), + /** ISO date plus time format with a 'T" separating the date and time, 6 sub-second digits and, no time zone. */ ISO6(true, true, true, 6, false), + /** ISO date plus time format with a 'T" separating the date and time, 3 sub-second digits and, no time zone. */ ISO3(true, true, true, 3, false), + /** ISO date plus time format with a 'T" separating the date and time, 0 sub-second digits and, no time zone. */ ISO0(true, true, true, 0, false), + /** Date plus time format with a space separating the date and time, 9 sub-second digits, and the time zone. */ NONISO9TZ(false, true, true, 9, true), + /** Date plus time format with a space separating the date and time, 6 sub-second digits, and the time zone. */ NONISO6TZ(false, true, true, 6, true), + /** Date plus time format with a space separating the date and time, 3 sub-second digits, and the time zone. */ NONISO3TZ(false, true, true, 3, true), + /** Date plus time format with a space separating the date and time, 0 sub-second digits, and the time zone. */ NONISO0TZ(false, true, true, 0, true), + /** Date plus time format with a space separating the date and time, 9 sub-second digits, and no time zone. */ NONISO9(false, true, true, 9, false), + /** Date plus time format with a space separating the date and time, 6 sub-second digits, and no time zone. */ NONISO6(false, true, true, 6, false), + /** Date plus time format with a space separating the date and time, 3 sub-second digits, and no time zone. */ NONISO3(false, true, true, 3, false), + /** Date plus time format with a space separating the date and time, 0 sub-second digits, and no time zone. */ NONISO0(false, true, true, 0, false), + /** Time only format with 9 sub-second digits and the time zone. */ NODATE9TZ(true, false, true, 9, true), + /** Time only format with 6 sub-second digits and the time zone. */ NODATE6TZ(true, false, true, 6, true), + /** Time only format with 3 sub-second digits and the time zone. */ NODATE3TZ(true, false, true, 3, true), + /** Time only format with 0 sub-second digits and the time zone. */ NODATE0TZ(true, false, true, 0, true), + /** Time only format with 9 sub-second digits and no time zone. */ NODATE9(true, false, true, 9, false), + /** Time only format with 6 sub-second digits and no time zone. */ NODATE6(true, false, true, 6, false), + /** Time only format with 3 sub-second digits and no time zone. */ NODATE3(true, false, true, 3, false), + /** Time only format with 0 sub-second digits and no time zone. */ NODATE0(true, false, true, 0, false), + /** Date only format with the time zone. */ DATEONLYTZ(true, true, false, 0, true), + /** Date only format. */ DATEONLY(true, true, false, 0, false), // @formatter:on ; @@ -44,6 +72,11 @@ public enum DateTimeFormatters { this.formatter = new DateTimeFormatter(isISO, hasDate, hasTime, subsecondDigits, hasTZ); } + /** + * Gets the formatter. + * + * @return formatter. + */ public DateTimeFormatter getFormatter() { return formatter; } diff --git a/engine/time/src/main/java/io/deephaven/time/DateTimeUtils.java b/engine/time/src/main/java/io/deephaven/time/DateTimeUtils.java index 02c3d343931..3cb9086d07b 100644 --- a/engine/time/src/main/java/io/deephaven/time/DateTimeUtils.java +++ b/engine/time/src/main/java/io/deephaven/time/DateTimeUtils.java @@ -1,2073 +1,3740 @@ /** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending */ package io.deephaven.time; import io.deephaven.base.clock.Clock; import io.deephaven.base.clock.TimeConstants; -import io.deephaven.base.clock.TimeZones; +import io.deephaven.function.Numeric; import io.deephaven.hash.KeyedObjectHashMap; import io.deephaven.hash.KeyedObjectKey; -import io.deephaven.configuration.Configuration; -import io.deephaven.function.Numeric; import io.deephaven.util.QueryConstants; import io.deephaven.util.annotations.ScriptApi; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.joda.time.DateMidnight; -import org.joda.time.DurationFieldType; import java.time.*; import java.time.format.DateTimeFormatter; -import java.time.format.DateTimeParseException; +import java.time.format.DateTimeFormatterBuilder; +import java.time.format.SignStyle; import java.time.temporal.ChronoField; -import java.util.HashMap; +import java.time.zone.ZoneRulesException; +import java.util.Date; import java.util.Objects; -import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; import static io.deephaven.util.QueryConstants.NULL_LONG; +import static java.time.format.DateTimeFormatter.*; /** - * Utilities for Deephaven date/time storage and manipulation. + * Functions for working with time. */ -@SuppressWarnings("unused") +@SuppressWarnings({"RegExpRedundantEscape"}) public class DateTimeUtils { - public static final DateTime[] ZERO_LENGTH_DATETIME_ARRAY = new DateTime[0]; + // region Format Patterns + + /** + * Very permissive formatter / parser for local dates. + */ + private static final DateTimeFormatter FORMATTER_ISO_LOCAL_DATE = new DateTimeFormatterBuilder() + .appendValue(ChronoField.YEAR, 4, 10, SignStyle.EXCEEDS_PAD) + .appendLiteral('-') + .appendValue(ChronoField.MONTH_OF_YEAR, 1, 2, SignStyle.NORMAL) + .appendLiteral('-') + .appendValue(ChronoField.DAY_OF_MONTH, 1, 2, SignStyle.NORMAL) + .toFormatter(); - // The following 3 patterns support LocalDate literals. Note all LocalDate patterns must not have characters after - // the date, to avoid confusion with DateTime literals. + /** + * Very permissive formatter / parser for local times. + */ + private static final DateTimeFormatter FORMATTER_ISO_LOCAL_TIME = new DateTimeFormatterBuilder() + .appendValue(ChronoField.HOUR_OF_DAY, 1, 2, SignStyle.NORMAL) + .appendLiteral(':') + .appendValue(ChronoField.MINUTE_OF_HOUR, 1, 2, SignStyle.NORMAL) + .optionalStart() + .appendLiteral(':') + .appendValue(ChronoField.SECOND_OF_MINUTE, 1, 2, SignStyle.NORMAL) + .optionalStart() + .appendFraction(ChronoField.NANO_OF_SECOND, 0, 9, true) + .toFormatter(); - /** Matches yyyy-MM-dd. */ - private static final Pattern STD_DATE_PATTERN = - Pattern.compile("^(?[0-9][0-9][0-9][0-9])-(?[0-9][0-9])-(?[0-9][0-9])$"); - /** Matches yyyyMMdd (consistent with ISO dates). */ - private static final Pattern STD_DATE_PATTERN2 = - Pattern.compile("^(?[0-9][0-9][0-9][0-9])(?[0-9][0-9])(?[0-9][0-9])$"); /** - * Matches variations of month/day/year or day/month/year or year/month/day - how this is interpreted depends on the - * DateTimeUtils.dateStyle system property. + * Very permissive formatter / parser for local date times. */ - private static final Pattern SLASH_DATE_PATTERN = - Pattern.compile( - "^(?[0-9]?[0-9](?[0-9][0-9])?)\\/(?[0-9]?[0-9])\\/(?[0-9]?[0-9](?[0-9][0-9])?)$"); + private static final DateTimeFormatter FORMATTER_ISO_LOCAL_DATE_TIME = new DateTimeFormatterBuilder() + .parseCaseInsensitive() + .append(FORMATTER_ISO_LOCAL_DATE) + .appendLiteral('T') + .append(FORMATTER_ISO_LOCAL_TIME) + .toFormatter(); - /** for use when interpreting two digit years (we use Java's rules). */ - private static final DateTimeFormatter TWO_DIGIT_YR_FORMAT = DateTimeFormatter.ofPattern("yy"); + /** + * Matches long values. + */ + private static final Pattern LONG_PATTERN = Pattern.compile("^-?\\d{1,19}$"); /** - * for LocalTime literals. Note these must begin with "L" to avoid ambiguity with the older - * TIME_AND_DURATION_PATTERN + * Matches dates with time zones. */ - private static final Pattern LOCAL_TIME_PATTERN = - Pattern.compile("^L([0-9][0-9]):?([0-9][0-9])?:?([0-9][0-9])?(\\.([0-9]{1,9}))?"); + private static final Pattern DATE_TZ_PATTERN = Pattern.compile( + "(?[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9])(?[tT]?) (?[a-zA-Z_/]+)"); - // DateTime literals - private static final Pattern DATETIME_PATTERN = Pattern.compile( - "[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9](T[0-9][0-9]?:[0-9][0-9](:[0-9][0-9])?(\\.[0-9][0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?)?)? [a-zA-Z]+"); - private static final Pattern TIME_AND_DURATION_PATTERN = Pattern.compile( - "\\-?([0-9]+T)?([0-9]+):([0-9]+)(:[0-9]+)?(\\.[0-9][0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?)?"); - private static final Pattern PERIOD_PATTERN = Pattern.compile( - "\\-?([0-9]+[Yy])?([0-9]+[Mm])?([0-9]+[Ww])?([0-9]+[Dd])?(T([0-9]+[Hh])?([0-9]+[Mm])?([0-9]+[Ss])?)?"); - private static final String DATE_COLUMN_PARTITION_FORMAT_STRING = "yyyy-MM-dd"; + /** + * Matches time durations. + */ + private static final Pattern TIME_DURATION_PATTERN = Pattern.compile( + "(?[-]?)[pP][tT](?[-]?)(?[0-9]+):(?[0-9]+)(?:[0-9]+)?(?\\.[0-9][0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?)?"); /** - * Date formatting styles for use in conversion functions such as {@link #convertDateQuiet(String, DateStyle)}. + * Matches date times. */ - public enum DateStyle { - MDY, DMY, YMD - } + private static final Pattern CAPTURING_DATETIME_PATTERN = Pattern.compile( + "(([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])T?)?(([0-9][0-9]?)(?::([0-9][0-9])(?::([0-9][0-9]))?(?:\\.([0-9][0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?))?)?)?( [a-zA-Z]+)?"); + + // endregion - private static final DateStyle DATE_STYLE = DateStyle - .valueOf(Configuration.getInstance().getStringWithDefault("DateTimeUtils.dateStyle", DateStyle.MDY.name())); + // region Constants /** - * Constant value of one second in nanoseconds. + * A zero length array of {@link Instant instants}. + */ + public static final Instant[] ZERO_LENGTH_INSTANT_ARRAY = new Instant[0]; + + /** + * One microsecond in nanoseconds. + */ + public static final long MICRO = 1_000; + + /** + * One millisecond in nanoseconds. + */ + public static final long MILLI = 1_000_000; + + /** + * One second in nanoseconds. */ public static final long SECOND = 1_000_000_000; /** - * Constant value of one minute in nanoseconds. + * One minute in nanoseconds. */ public static final long MINUTE = 60 * SECOND; /** - * Constant value of one hour in nanoseconds. + * One hour in nanoseconds. */ public static final long HOUR = 60 * MINUTE; /** - * Constant value of one day in nanoseconds. + * One day in nanoseconds. This is one hour of wall time and does not take into account calendar adjustments. */ public static final long DAY = 24 * HOUR; /** - * Constant value of one week in nanoseconds. + * One week in nanoseconds. This is 7 days of wall time and does not take into account calendar adjustments. */ public static final long WEEK = 7 * DAY; /** - * Constant value of one year (365 days) in nanoseconds. + * One 365 day year in nanoseconds. This is 365 days of wall time and does not take into account calendar + * adjustments. */ - public static final long YEAR = 365 * DAY; - - private static final Pattern CAPTURING_DATETIME_PATTERN = Pattern.compile( - "(([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])T?)?(([0-9][0-9]?)(?::([0-9][0-9])(?::([0-9][0-9]))?(?:\\.([0-9][0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?))?)?)?( [a-zA-Z]+)?"); - - private enum DateGroupId { - // Date(1), - Year(2, ChronoField.YEAR), Month(3, ChronoField.MONTH_OF_YEAR), Day(4, ChronoField.DAY_OF_MONTH), - // Tod(5), - Hours(6, ChronoField.HOUR_OF_DAY), Minutes(7, ChronoField.MINUTE_OF_HOUR), Seconds(8, - ChronoField.SECOND_OF_MINUTE), Fraction(9, ChronoField.MILLI_OF_SECOND); - - public final int id; - public final ChronoField field; + public static final long YEAR_365 = 365 * DAY; - DateGroupId(int id, ChronoField field) { - this.id = id; - this.field = field; - } - } + /** + * One average year in nanoseconds. This is 365.2425 days of wall time and does not take into account calendar + * adjustments. + */ + public static final long YEAR_AVG = 31556952000000000L; /** - * Maximum time in microseconds that can be converted to a {@link DateTime} without overflow. + * Maximum time in microseconds that can be converted to an instant without overflow. */ private static final long MAX_CONVERTIBLE_MICROS = Long.MAX_VALUE / 1_000L; /** - * Maximum time in milliseconds that can be converted to a {@link DateTime} without overflow. + * Maximum time in milliseconds that can be converted to an instant without overflow. */ private static final long MAX_CONVERTIBLE_MILLIS = Long.MAX_VALUE / 1_000_000L; /** - * Maximum time in seconds that can be converted to a {@link DateTime} without overflow. + * Maximum time in seconds that can be converted to an instant without overflow. */ private static final long MAX_CONVERTIBLE_SECONDS = Long.MAX_VALUE / 1_000_000_000L; - private static final double YEARS_PER_NANO = 1. / (double) YEAR; - - // TODO(deephaven-core#3044): Improve scaffolding around full system replay /** - * Allows setting a custom clock instead of actual current time. This is mainly used when setting up for a replay - * simulation. + * Number of seconds per nanosecond. */ - public static Clock clock; + public static final double SECONDS_PER_NANO = 1. / (double) SECOND; /** - * Returns milliseconds since Epoch for a {@link DateTime} value. - * - * @param dateTime The {@link DateTime} for which the milliseconds offset should be returned. - * @return A long value of milliseconds since Epoch, or a {@link QueryConstants#NULL_LONG} value if the - * {@link DateTime} is null. + * Number of minutes per nanosecond. */ - public static long millis(DateTime dateTime) { - if (dateTime == null) { - return NULL_LONG; - } - - return dateTime.getMillis(); - } + public static final double MINUTES_PER_NANO = 1. / (double) MINUTE; /** - * Returns nanoseconds since Epoch for a {@link DateTime} value. - * - * @param dateTime The {@link DateTime} for which the nanoseconds offset should be returned. - * @return A long value of nanoseconds since Epoch, or a NULL_LONG value if the {@link DateTime} is null. + * Number of hours per nanosecond. */ - public static long nanos(DateTime dateTime) { - if (dateTime == null) { - return NULL_LONG; - } - - return dateTime.getNanos(); - } + public static final double HOURS_PER_NANO = 1. / (double) HOUR; /** - * Returns nanoseconds since Epoch for an {@link Instant} value. - * - * @param instant The {@link Instant} for which the nanoseconds offset should be returned. - * @return A long value of nanoseconds since Epoch, or a NULL_LONG value if the {@link Instant} is null. + * Number of days per nanosecond. */ - public static long nanos(Instant instant) { - if (instant == null) { - return NULL_LONG; - } - return Math.addExact(TimeUnit.SECONDS.toNanos(instant.getEpochSecond()), instant.getNano()); - } + public static final double DAYS_PER_NANO = 1. / (double) DAY; - // region Comparisons /** - * Evaluates whether one {@link DateTime} value is earlier than a second {@link DateTime} value. - * - * @param d1 The first {@link DateTime} value to compare. - * @param d2 The second {@link DateTime} value to compare. - * @return Boolean true if d1 is earlier than d2, false if either value is null, or if d2 is equal to or earlier - * than d1. + * Number of 365 day years per nanosecond. */ - public static boolean isBefore(DateTime d1, DateTime d2) { - if (d1 == null || d2 == null) { - return false; - } - - return d1.getNanos() < d2.getNanos(); - } + public static final double YEARS_PER_NANO_365 = 1. / (double) YEAR_365; /** - * Evaluates whether one {@link DateTime} value is later than a second {@link DateTime} value. - * - * @param d1 The first {@link DateTime} value to compare. - * @param d2 The second {@link DateTime} value to compare. - * @return Boolean true if d1 is later than d2, false if either value is null, or if d2 is equal to or later than - * d1. + * Number of average (365.2425 day) years per nanosecond. */ - public static boolean isAfter(DateTime d1, DateTime d2) { - if (d1 == null || d2 == null) { - return false; - } - - return d1.getNanos() > d2.getNanos(); - } + public static final double YEARS_PER_NANO_AVG = 1. / (double) YEAR_AVG; - /** - * Adds one time from another. - * - * @param dateTime The starting {@link DateTime} value. - * @param nanos The long number of nanoseconds to add to dateTime. - * @return a null {@link DateTime} if either input is null; the starting {@link DateTime} plus the specified number - * of nanoseconds, if the result is not too large for a {@link DateTime}; or throws a - * {@link DateTimeOverflowException DateTimeOverflowException} if the resultant value is more than max long - * nanoseconds from Epoch. - */ - public static DateTime plus(DateTime dateTime, long nanos) { - if (dateTime == null || nanos == NULL_LONG) { - return null; - } + // endregion - return new DateTime(checkOverflowPlus(dateTime.getNanos(), nanos, false)); - } + // region Overflow / Underflow /** - * Subtracts one time from another. - * - * @param dateTime The starting {@link DateTime} value. - * @param nanos The long number of nanoseconds to subtract from dateTime. - * @return a null {@link DateTime} if either input is null; the starting {@link DateTime} minus the specified number - * of nanoseconds, if the result is not too negative for a {@link DateTime}; or throws a - * {@link DateTimeOverflowException DateTimeOverflowException} if the resultant value is more than min long - * nanoseconds from Epoch. + * Exception type thrown when operations on date time values would exceed the range available by max or min long + * nanoseconds. */ - public static DateTime minus(DateTime dateTime, long nanos) { - if (dateTime == null || -nanos == NULL_LONG) { - return null; + public static class DateTimeOverflowException extends RuntimeException { + /** + * Creates a new overflow exception. + */ + @SuppressWarnings("unused") + private DateTimeOverflowException() { + super("Operation failed due to overflow"); } - return new DateTime(checkUnderflowMinus(dateTime.getNanos(), nanos, true)); + /** + * Creates a new overflow exception. + * + * @param cause the cause of the overflow + */ + private DateTimeOverflowException(@NotNull final Throwable cause) { + super("Operation failed due to overflow", cause); + } + + /** + * Creates a new overflow exception. + * + * @param message the error string + */ + private DateTimeOverflowException(@NotNull final String message) { + super(message); + } + + /** + * Creates a new overflow exception. + * + * @param message the error message + * @param cause the cause of the overflow + */ + @SuppressWarnings("unused") + private DateTimeOverflowException(@NotNull final String message, @NotNull final Throwable cause) { + super(message, cause); + } } - /** - * Adds one time from another. - * - * @param dateTime The starting {@link DateTime} value. - * @param period The {@link Period} to add to dateTime. - * @return a null {@link DateTime} if either input is null; the starting {@link DateTime} plus the specified period, - * if the result is not too large for a DateTime; or throws a {@link DateTimeOverflowException - * DateTimeOverflowException} if the resultant value is more than max long nanoseconds from Epoch. - */ - public static DateTime plus(DateTime dateTime, Period period) { - if (dateTime == null || period == null) { - return null; + // + can only result in overflow if both positive or both negative + @SuppressWarnings("SameParameterValue") + private static long checkOverflowPlus(final long l1, final long l2, final boolean minusOperation) { + if (l1 > 0 && l2 > 0 && Long.MAX_VALUE - l1 < l2) { + final String message = minusOperation + ? "Subtracting " + -l2 + " nanos from " + l1 + " would overflow" + : "Adding " + l2 + " nanos to " + l1 + " would overflow"; + throw new DateTimeOverflowException(message); } - if (period.isPositive()) { - return new DateTime(millisToNanos(dateTime.getJodaDateTime().plus(period.getJodaPeriod()).getMillis()) - + dateTime.getNanosPartial()); - } else { - return new DateTime(millisToNanos(dateTime.getJodaDateTime().minus(period.getJodaPeriod()).getMillis()) - + dateTime.getNanosPartial()); + if (l1 < 0 && l2 < 0) { + return checkUnderflowMinus(l1, -l2, false); } + + return l1 + l2; } - /** - * Subtracts one time from another. - * - * @param dateTime The starting {@link DateTime} value. - * @param period The {@link Period} to subtract from dateTime. - * @return a null {@link DateTime} if either input is null; the starting {@link DateTime} minus the specified - * period, if the result is not too negative for a {@link DateTime}; or throws a - * {@link DateTimeOverflowException DateTimeOverflowException} if the resultant value is more than min long - * nanoseconds from Epoch. - */ - public static DateTime minus(DateTime dateTime, Period period) { - if (dateTime == null || period == null) { - return null; + // - can only result in overflow if one is positive and one is negative + private static long checkUnderflowMinus(final long l1, final long l2, final boolean minusOperation) { + if (l1 < 0 && l2 > 0 && Long.MIN_VALUE + l2 > -l1) { + final String message = minusOperation + ? "Subtracting " + l2 + " nanos from " + l1 + " would underflow" + : "Adding " + -l2 + " nanos to " + l1 + " would underflow"; + throw new DateTimeOverflowException(message); } - if (period.isPositive()) { - return new DateTime(millisToNanos(dateTime.getJodaDateTime().minus(period.getJodaPeriod()).getMillis()) - + dateTime.getNanosPartial()); - } else { - return new DateTime(millisToNanos(dateTime.getJodaDateTime().plus(period.getJodaPeriod()).getMillis()) - + dateTime.getNanosPartial()); + if (l1 > 0 && l2 < 0) { + return checkOverflowPlus(l1, -l2, true); } + + return l1 - l2; } - /** - * Subtracts one time from another. - * - * @param d1 The first {@link DateTime}. - * @param d2 The {@link DateTime} to subtract from d1. - * @return {@link QueryConstants#NULL_LONG} if either input is null; the long nanoseconds from Epoch value of the - * first {@link DateTime} minus d2, if the result is not out of range for a long value; or throws a - * {@link DateTimeOverflowException DateTimeOverflowException} if the resultant value would be more than min - * long or max long nanoseconds from Epoch. - *

    - * Note that the subtraction is done based the nanosecond offsets of the two dates from Epoch, so, if either - * date is before Epoch (negative offset), the result may be unexpected. - *

    - */ - public static long minus(DateTime d1, DateTime d2) { - if (d1 == null || d2 == null) { - return NULL_LONG; + private static long safeComputeNanos(final long epochSecond, final long nanoOfSecond) { + if (epochSecond >= MAX_CONVERTIBLE_SECONDS) { + throw new DateTimeOverflowException("Numeric overflow detected during conversion of " + epochSecond + + " to nanoseconds"); } - return checkUnderflowMinus(d1.getNanos(), d2.getNanos(), true); - } - - @Deprecated - public static long diff(DateTime d1, DateTime d2) { - return diffNanos(d1, d2); + return epochSecond * 1_000_000_000L + nanoOfSecond; } - @Deprecated - public static double yearDiff(DateTime start, DateTime end) { - return diffYear(start, end); - } + // endregion - @Deprecated - public static double dayDiff(DateTime start, DateTime end) { - return diffDay(start, end); - } + // region Clock + // TODO(deephaven-core#3044): Improve scaffolding around full system replay /** - * Returns the difference in nanoseconds between two {@link DateTime} values. - * - * @param d1 The first {@link DateTime}. - * @param d2 The second {@link DateTime}. - * @return {@link QueryConstants#NULL_LONG} if either input is null; the long nanoseconds from Epoch value of the - * first {@link DateTime} minus d2, if the result is not out of range for a long value; or throws a - * {@link DateTimeOverflowException DateTimeOverflowException} if the resultant value would be more than min - * long or max long nanoseconds from Epoch. - *

    - * Note that the subtraction is done based the nanosecond offsets of the two dates from Epoch, so, if either - * date is before Epoch (negative offset), the result may be unexpected. - *

    - * If the first value is greater than the second value, the result will be negative. + * Clock used to compute the current time. This allows a custom clock to be used instead of the current system + * clock. This is mainly used for replay simulations. */ - @SuppressWarnings("WeakerAccess") - public static long diffNanos(DateTime d1, DateTime d2) { - return minus(d2, d1); - } + private static Clock clock; /** - * Returns a double value of the number of 365 day units difference between two {@link DateTime} values. + * Set the clock used to compute the current time. This allows a custom clock to be used instead of the current + * system clock. This is mainly used for replay simulations. * - * @param start The first {@link DateTime}. - * @param end The second {@link DateTime}. - * @return {@link QueryConstants#NULL_LONG} if either input is null; a double value of the number of 365 day periods - * obtained from the first {@link DateTime} value minus d2, if the intermediate value of nanoseconds - * difference between the two dates is not out of range for a long value; or throws a - * {@link DateTimeOverflowException} if the intermediate value would be more than min long or max long - * nanoseconds from Epoch. - *

    - * Note that the subtraction is done based the nanosecond offsets of the two dates from Epoch, so, if either - * date is before Epoch (negative offset), the result may be unexpected. - *

    - * If the first value is greater than the second value, the result will be negative. + * @param clock the clock used to compute the current time; if {@code null}, use the system clock */ - public static double diffYear(DateTime start, DateTime end) { - if (start == null || end == null) { - return io.deephaven.util.QueryConstants.NULL_DOUBLE; - } - - return (double) diffNanos(start, end) * YEARS_PER_NANO; + @ScriptApi + public static void setClock(@Nullable final Clock clock) { + DateTimeUtils.clock = clock; } /** - * Returns a double value of the number of days difference between two {@link DateTime} values. + * Returns the clock used to compute the current time. This may be the current system clock, or it may be an + * alternative clock used for replay simulations. * - * @param start The first {@link DateTime}. - * @param end The second {@link DateTime}. - * @return {@link QueryConstants#NULL_LONG} if either input is null; a double value of the number of days obtained - * from the first {@link DateTime} value minus d2, if the intermediate value of nanoseconds difference - * between the two dates is not out of range for a long value; or throws a {@link DateTimeOverflowException - * DateTimeOverflowException} if the intermediate value would be more than min long or max long nanoseconds - * from Epoch. - *

    - * Note that the subtraction is done based the nanosecond offsets of the two dates from Epoch, so, if either - * date is before Epoch (negative offset), the result may be unexpected. - *

    - * If the first value is greater than the second value, the result will be negative. + * @return the current clock + * @see #setClock(Clock) */ - @SuppressWarnings("WeakerAccess") - public static double diffDay(DateTime start, DateTime end) { - if (start == null || end == null) { - return io.deephaven.util.QueryConstants.NULL_DOUBLE; - } - - return (double) diffNanos(start, end) / DAY; + @NotNull + @ScriptApi + public static Clock currentClock() { + return Objects.requireNonNullElse(clock, Clock.system()); } - // endregion /** - * Returns a {@link DateTime} for the requested {@link DateTime} at midnight in the specified time zone. + * Provides the current {@link Instant instant} with nanosecond resolution according to the {@link #currentClock() + * current clock}. Under most circumstances, this method will return the current system time, but during replay + * simulations, this method can return the replay time. * - * @param dateTime {@link DateTime} for which the new value at midnight should be calculated. - * @param timeZone {@link TimeZone} for which the new value at midnight should be calculated. - * @return A null {@link DateTime} if either input is null, otherwise a {@link DateTime} representing midnight for - * the date and time zone of the inputs. + * @return the current instant with nanosecond resolution according to the current clock + * @see #currentClock() + * @see #setClock(Clock) + * @see #nowSystem() */ - public static DateTime dateAtMidnight(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return null; - } - - return new DateTime(millisToNanos(new DateMidnight(dateTime.getMillis(), timeZone.getTimeZone()).getMillis()) - + dateTime.getNanosPartial()); + @ScriptApi + @NotNull + public static Instant now() { + return currentClock().instantNanos(); } /** - * Returns a {@link DateTime} representing midnight in a selected time zone on the date specified by a number of - * milliseconds from Epoch. + * Provides the current {@link Instant instant} with millisecond resolution according to the {@link #currentClock() + * current clock}. Under most circumstances, this method will return the current system time, but during replay + * simulations, this method can return the replay time. * - * @param millis A long value of the number of milliseconds from Epoch for which the {@link DateTime} is to be - * calculated. - * @param timeZone {@link TimeZone} for which the new value at midnight should be calculated. - * @return A {@link DateTime} rounded down to midnight in the selected time zone for the specified number of - * milliseconds from Epoch. + * @return the current instant with millisecond resolution according to the current clock + * @see #currentClock() + * @see #setClock(Clock) + * @see #nowSystemMillisResolution() */ - @SuppressWarnings("WeakerAccess") - public static DateTime millisToDateAtMidnight(final long millis, final TimeZone timeZone) { - if (millis == NULL_LONG) { - return null; - } - - return new DateTime(millisToNanos(new DateMidnight(millis, timeZone.getTimeZone()).getMillis())); + @ScriptApi + @NotNull + public static Instant nowMillisResolution() { + return currentClock().instantMillis(); } - // region Formatting /** - * Returns a String date/time representation. + * Provides the current {@link Instant instant} with nanosecond resolution according to the {@link Clock#system() + * system clock}. Note that the system time may not be desirable during replay simulations. * - * @param dateTime The {@link DateTime} to format as a String. - * @param timeZone The {@link TimeZone} to use when formatting the String. - * @return A null String if either input is null, otherwise a String formatted as yyyy-MM-ddThh:mm:ss.nnnnnnnnn TZ. + * @return the current instant with nanosecond resolution according to the system clock + * @see #now() */ - public static String format(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return null; - } - - return dateTime.toString(timeZone); + @ScriptApi + @NotNull + public static Instant nowSystem() { + return Clock.system().instantNanos(); } /** - * Returns a String date representation of a {@link DateTime} interpreted for a specified time zone. + * Provides the current {@link Instant instant} with millisecond resolution according to the {@link Clock#system() + * system clock}. Note that the system time may not be desirable during replay simulations. * - * @param dateTime The {@link DateTime} to format as a String. - * @param timeZone The {@link TimeZone} to use when formatting the String. - * @return A null String if either input is null, otherwise a String formatted as yyyy-MM-dd. + * @return the current instant with millisecond resolution according to the system clock + * @see #nowMillisResolution() */ - @SuppressWarnings("WeakerAccess") - public static String formatDate(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return null; - } - - return dateTime.toDateString(timeZone); + @ScriptApi + @NotNull + public static Instant nowSystemMillisResolution() { + return Clock.system().instantMillis(); } /** - * Returns a String date/time representation. - * - * @param nanos The long number of nanoseconds offset from Epoch. - * @return A String of varying format depending on the offset. - *

    - * For values greater than one day, the output will start with dddT - *

    - *

    - * For values with fractional seconds, the output will be trailed by .nnnnnnnnn - *

    - *

    - * e.g. output may be dddThh:mm:ss.nnnnnnnnn or subsets of this. - *

    + * A cached date in a specific timezone. The cache is invalidated when the current clock indicates the next day has + * arrived. */ - public static String format(long nanos) { - StringBuilder buf = new StringBuilder(25); - - if (nanos < 0) { - buf.append('-'); - nanos = -nanos; - } - - int days = (int) (nanos / 86400000000000L); + private abstract static class CachedDate { - nanos %= 86400000000000L; + final ZoneId timeZone; + String value; + long valueExpirationTimeMillis; - int hours = (int) (nanos / 3600000000000L); + private CachedDate(@NotNull final ZoneId timeZone) { + this.timeZone = timeZone; + } - nanos %= 3600000000000L; + @SuppressWarnings("unused") + private ZoneId getTimeZone() { + return timeZone; + } - int minutes = (int) (nanos / 60000000000L); + public String get() { + return get(currentClock().currentTimeMillis()); + } - nanos %= 60000000000L; + public synchronized String get(final long currentTimeMillis) { + if (currentTimeMillis >= valueExpirationTimeMillis) { + update(currentTimeMillis); + } + return value; + } - int seconds = (int) (nanos / 1000000000L); + abstract void update(long currentTimeMillis); + } - nanos %= 1000000000L; + private static class CachedCurrentDate extends CachedDate { - if (days != 0) { - buf.append(days).append('T'); + private CachedCurrentDate(@NotNull final ZoneId timeZone) { + super(timeZone); } - buf.append(hours).append(':').append(pad(String.valueOf(minutes), 2)).append(':') - .append(pad(String.valueOf(seconds), 2)); - - if (nanos != 0) { - buf.append('.').append(pad(String.valueOf(nanos), 9)); + @Override + void update(final long currentTimeMillis) { + value = formatDate(epochMillisToInstant(currentTimeMillis), timeZone); + valueExpirationTimeMillis = + epochMillis(atMidnight(epochNanosToInstant(millisToNanos(currentTimeMillis) + DAY), timeZone)); } - - return buf.toString(); } - // endregion - static String pad(@NotNull final String str, final int length) { - if (length <= str.length()) { - return str; + private static class CachedDateKey + extends KeyedObjectKey.Basic { + + @Override + public ZoneId getKey(final CACHED_DATE_TYPE cachedDate) { + return cachedDate.timeZone; } - return "0".repeat(length - str.length()) + str; } - // region Chronology Getters + private static final KeyedObjectHashMap cachedCurrentDates = + new KeyedObjectHashMap<>(new CachedDateKey<>()); + /** - * Returns an int value of the day of the month for a {@link DateTime} and specified time zone. + * Provides the current date string according to the {@link #currentClock() current clock}. Under most + * circumstances, this method will return the date according to current system time, but during replay simulations, + * this method can return the date according to replay time. * - * @param dateTime The {@link DateTime} for which to find the day of the month. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of the day of the - * month represented by the {@link DateTime} when interpreted in the specified time zone. + * @param timeZone the time zone + * @return the current date according to the current clock and time zone formatted as "yyyy-MM-dd" + * @see #currentClock() + * @see #setClock(Clock) */ - @SuppressWarnings("WeakerAccess") - public static int dayOfMonth(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; - } - - return dateTime.getJodaDateTime(timeZone).getDayOfMonth(); + @ScriptApi + @NotNull + public static String today(@NotNull final ZoneId timeZone) { + return cachedCurrentDates.putIfAbsent(timeZone, CachedCurrentDate::new).get(); } /** - * Returns an int value of the day of the week for a {@link DateTime} in the specified time zone, with 1 being - * Monday and 7 being Sunday. + * Provides the current date string according to the {@link #currentClock() current clock} and the + * {@link ZoneId#systemDefault() default time zone}. Under most circumstances, this method will return the date + * according to current system time, but during replay simulations, this method can return the date according to + * replay time. * - * @param dateTime The {@link DateTime} for which to find the day of the week. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of the day of the week - * represented by the {@link DateTime} when interpreted in the specified time zone. + * @return the current date according to the current clock and default time zone formatted as "yyyy-MM-dd" + * @see #currentClock() + * @see #setClock(Clock) + * @see ZoneId#systemDefault() */ - public static int dayOfWeek(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; - } - - return dateTime.getJodaDateTime(timeZone).getDayOfWeek(); + @ScriptApi + @NotNull + public static String today() { + return today(DateTimeUtils.timeZone()); } - /** - * Returns an int value of the day of the year (Julian date) for a {@link DateTime} in the specified time zone. - * - * @param dateTime The {@link DateTime} for which to find the day of the year. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of the day of the year - * represented by the {@link DateTime} when interpreted in the specified time zone. - */ - public static int dayOfYear(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; - } + // endregion - return dateTime.getJodaDateTime(timeZone).getDayOfYear(); - } + // region Time Zone /** - * Returns an int value of the hour of the day for a {@link DateTime} in the specified time zone. The hour is on a - * 24 hour clock (0 - 23). + * Gets the time zone for a time zone name. * - * @param dateTime The {@link DateTime} for which to find the hour of the day. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of the hour of the day - * represented by the {@link DateTime} when interpreted in the specified time zone. + * @param timeZone the time zone name + * @return the corresponding time zone + * @throws NullPointerException if {@code timeZone} is {@code null} + * @throws DateTimeException if {@code timeZone} has an invalid format + * @throws ZoneRulesException if {@code timeZone} cannot be found */ - @SuppressWarnings("WeakerAccess") - public static int hourOfDay(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; - } - - return dateTime.getJodaDateTime(timeZone).getHourOfDay(); + public static ZoneId timeZone(@NotNull String timeZone) { + return TimeZoneAliases.zoneId(timeZone); } /** - * Returns an int value of milliseconds since midnight for a {@link DateTime} in the specified time zone. + * Gets the {@link ZoneId#systemDefault() system default time zone}. * - * @param dateTime The {@link DateTime} for which to find the milliseconds since midnight. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of milliseconds since - * midnight for the date/time represented by the {@link DateTime} when interpreted in the specified time - * zone. + * @return the system default time zone + * @see ZoneId#systemDefault() */ - @SuppressWarnings("WeakerAccess") - public static int millisOfDay(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; - } - - return dateTime.getJodaDateTime(timeZone).getMillisOfDay(); + public static ZoneId timeZone() { + return ZoneId.systemDefault(); } /** - * Returns an int value of milliseconds since the top of the second for a {@link DateTime} in the specified time - * zone. + * Adds a new time zone alias. * - * @param dateTime The {@link DateTime} for which to find the milliseconds. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of milliseconds since - * the top of the second for the date/time represented by the {@link DateTime} when interpreted in the - * specified time zone. + * @param alias the alias name + * @param timeZone the time zone id name + * @throws IllegalArgumentException if the alias already exists or the time zone is invalid */ - @SuppressWarnings("WeakerAccess") - public static int millisOfSecond(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; - } - - return dateTime.getJodaDateTime(timeZone).getMillisOfSecond(); + public static void timeZoneAliasAdd(@NotNull final String alias, @NotNull final String timeZone) { + TimeZoneAliases.addAlias(alias, timeZone); } /** - * Returns a long value of nanoseconds since midnight for a {@link DateTime} in the specified time zone. + * Removes a time zone alias. * - * @param dateTime The {@link DateTime} for which to find the nanoseconds since midnight. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_LONG} if either input is null, otherwise, a long value of nanoseconds since - * midnight for the date/time represented by the {@link DateTime} when interpreted in the specified time - * zone. + * @param alias the alias name + * @return whether {@code alias} was present */ - @SuppressWarnings("WeakerAccess") - public static long nanosOfDay(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return NULL_LONG; - } - - return millisToNanos(dateTime.getJodaDateTime(timeZone).getMillisOfDay()) + dateTime.getNanosPartial(); + public static boolean timeZoneAliasRm(@NotNull final String alias) { + return TimeZoneAliases.rmAlias(alias); } + // endregion + + // region Conversions: Time Units + /** - * Returns a long value of nanoseconds since the top of the second for a {@link DateTime} in the specified time - * zone. + * Converts microseconds to nanoseconds. * - * @param dateTime The {@link DateTime} for which to find the nanoseconds. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_LONG} if either input is null, otherwise, a long value of nanoseconds since - * the top of the second for the date/time represented by the {@link DateTime} when interpreted in the - * specified time zone. + * @param micros the microseconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * microseconds converted to nanoseconds */ - @SuppressWarnings("WeakerAccess") - public static long nanosOfSecond(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { + @ScriptApi + public static long microsToNanos(final long micros) { + if (micros == NULL_LONG) { return NULL_LONG; } - - return millisToNanos(dateTime.getJodaDateTime(timeZone).getMillisOfSecond()) + dateTime.getNanosPartial(); + if (Math.abs(micros) > MAX_CONVERTIBLE_MICROS) { + throw new DateTimeOverflowException("Converting " + micros + " micros to nanos would overflow"); + } + return micros * 1000; } /** - * Returns the number of microseconds that have elapsed since the start of the millisecond represented by the - * provided {@code dateTime} in the specified time zone. Nanoseconds are rounded, not dropped -- - * '20:41:39.123456700' has 457 micros, not 456. + * Converts milliseconds to nanoseconds. * - * @param dateTime The {@link DateTime} for which to find the microseconds. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of microseconds since - * the top of the millisecond for the date/time represented by the {@link DateTime} when interpreted in the - * specified time zone. + * @param millis the milliseconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * milliseconds converted to nanoseconds */ - @SuppressWarnings("WeakerAccess") - public static int microsOfMilli(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; + @ScriptApi + public static long millisToNanos(final long millis) { + if (millis == NULL_LONG) { + return NULL_LONG; + } + if (Math.abs(millis) > MAX_CONVERTIBLE_MILLIS) { + throw new DateTimeOverflowException("Converting " + millis + " millis to nanos would overflow"); + } + return millis * 1000000; + } + + /** + * Converts seconds to nanoseconds. + * + * @param seconds the seconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * seconds converted to nanoseconds + */ + @ScriptApi + public static long secondsToNanos(final long seconds) { + if (seconds == NULL_LONG) { + return NULL_LONG; + } + if (Math.abs(seconds) > MAX_CONVERTIBLE_SECONDS) { + throw new DateTimeOverflowException("Converting " + seconds + " seconds to nanos would overflow"); } - return (int) Math.round(dateTime.getNanosPartial() / 1000d); + return seconds * 1000000000L; } /** - * Returns an int value of minutes since midnight for a {@link DateTime} in the specified time zone. + * Converts nanoseconds to microseconds. * - * @param dateTime The {@link DateTime} for which to find the minutes. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of minutes since - * midnight for the date/time represented by the {@link DateTime} when interpreted in the specified time - * zone. + * @param nanos the nanoseconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * nanoseconds converted to microseconds, rounded down */ - @SuppressWarnings("WeakerAccess") - public static int minuteOfDay(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; + @ScriptApi + public static long nanosToMicros(final long nanos) { + if (nanos == NULL_LONG) { + return NULL_LONG; + } + return nanos / MICRO; + } + + /** + * Converts milliseconds to microseconds. + * + * @param millis the milliseconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * milliseconds converted to microseconds, rounded down + */ + @ScriptApi + public static long millisToMicros(final long millis) { + if (millis == NULL_LONG) { + return NULL_LONG; } + return millis * 1000L; + } - return dateTime.getJodaDateTime(timeZone).getMinuteOfDay(); + /** + * Converts seconds to microseconds. + * + * @param seconds the seconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * seconds converted to microseconds, rounded down + */ + @ScriptApi + public static long secondsToMicros(final long seconds) { + if (seconds == NULL_LONG) { + return NULL_LONG; + } + return seconds * 1_000_000; } /** - * Returns an int value of minutes since the top of the hour for a {@link DateTime} in the specified time zone. + * Converts nanoseconds to milliseconds. * - * @param dateTime The {@link DateTime} for which to find the minutes. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of minutes since the - * top of the hour for the date/time represented by the {@link DateTime} when interpreted in the specified - * time zone. + * @param nanos the nanoseconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * nanoseconds converted to milliseconds, rounded down */ - @SuppressWarnings("WeakerAccess") - public static int minuteOfHour(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; + @ScriptApi + public static long nanosToMillis(final long nanos) { + if (nanos == NULL_LONG) { + return NULL_LONG; } - return dateTime.getJodaDateTime(timeZone).getMinuteOfHour(); + return nanos / MILLI; } /** - * Returns an int value for the month of a {@link DateTime} in the specified time zone. + * Converts microseconds to milliseconds. * - * @param dateTime The {@link DateTime} for which to find the month. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of the month for the - * date/time represented by the {@link DateTime} when interpreted in the specified time zone. January is 1, - * February is 2, etc. + * @param micros the microseconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * microseconds converted to milliseconds, rounded down */ - @SuppressWarnings("WeakerAccess") - public static int monthOfYear(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; + @ScriptApi + public static long microsToMillis(final long micros) { + if (micros == NULL_LONG) { + return NULL_LONG; } - return dateTime.getJodaDateTime(timeZone).getMonthOfYear(); + return micros / 1000L; } /** - * Returns an int value of seconds since midnight for a {@link DateTime} in the specified time zone. + * Converts seconds to milliseconds. * - * @param dateTime The {@link DateTime} for which to find the seconds. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of seconds since - * midnight for the date/time represented by the {@link DateTime} when interpreted in the specified time - * zone. + * @param seconds the nanoseconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * seconds converted to milliseconds, rounded down */ - @SuppressWarnings("WeakerAccess") - public static int secondOfDay(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; + @ScriptApi + public static long secondsToMillis(final long seconds) { + if (seconds == NULL_LONG) { + return NULL_LONG; } - return dateTime.getJodaDateTime(timeZone).getSecondOfDay(); + return seconds * 1_000L; } /** - * Returns an int value of seconds since the top of the minute for a {@link DateTime} in the specified time zone. + * Converts nanoseconds to seconds. * - * @param dateTime The {@link DateTime} for which to find the seconds. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of seconds since the - * top of the minute for the date/time represented by the {@link DateTime} when interpreted in the specified - * time zone. + * @param nanos the nanoseconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * nanoseconds converted to seconds, rounded down */ - @SuppressWarnings("WeakerAccess") - public static int secondOfMinute(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; + @ScriptApi + public static long nanosToSeconds(final long nanos) { + if (nanos == NULL_LONG) { + return NULL_LONG; + } + return nanos / SECOND; + } + + /** + * Converts microseconds to seconds. + * + * @param micros the microseconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * microseconds converted to seconds, rounded down + */ + @ScriptApi + public static long microsToSeconds(final long micros) { + if (micros == NULL_LONG) { + return NULL_LONG; } + return micros / 1_000_000L; + } - return dateTime.getJodaDateTime(timeZone).getSecondOfMinute(); + /** + * Converts milliseconds to seconds. + * + * @param millis the milliseconds to convert + * @return {@link QueryConstants#NULL_LONG} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input + * milliseconds converted to seconds, rounded down + */ + @ScriptApi + public static long millisToSeconds(final long millis) { + if (millis == NULL_LONG) { + return NULL_LONG; + } + return millis / 1_000L; } + // endregion + + // region Conversions: Date Time Types + + /** - * Returns an int value of the year for a {@link DateTime} in the specified time zone. + * Converts a {@link ZonedDateTime} to an {@link Instant}. * - * @param dateTime The {@link DateTime} for which to find the year. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of the year for the - * date/time represented by the {@link DateTime} when interpreted in the specified time zone. + * @param dateTime the zoned date time to convert + * @return the {@link Instant}, or {@code null} if {@code dateTime} is {@code null} */ - public static int year(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; + @ScriptApi + @Nullable + public static Instant toInstant(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return null; } - return dateTime.getJodaDateTime(timeZone).getYear(); + return dateTime.toInstant(); } /** - * Returns an int value of the two-digit year for a {@link DateTime} in the specified time zone. + * Converts a {@link LocalDate}, {@link LocalTime}, and {@link ZoneId} to an {@link Instant}. * - * @param dateTime The {@link DateTime} for which to find the year. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return A {@link QueryConstants#NULL_INT} if either input is null, otherwise, an int value of the two-digit year - * for the date/time represented by the {@link DateTime} when interpreted in the specified time zone. + * @param date the local date + * @param time the local time + * @param timeZone the time zone + * @return the {@link Instant}, or {@code null} if any input is {@code null} */ - @SuppressWarnings("WeakerAccess") - public static int yearOfCentury(DateTime dateTime, TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return io.deephaven.util.QueryConstants.NULL_INT; + @ScriptApi + @Nullable + public static Instant toInstant( + @Nullable final LocalDate date, + @Nullable final LocalTime time, + @Nullable final ZoneId timeZone) { + if (date == null || time == null || timeZone == null) { + return null; } - return dateTime.getJodaDateTime(timeZone).getYearOfCentury(); + return time // LocalTime + .atDate(date) // LocalDateTime + .atZone(timeZone) // ZonedDateTime + .toInstant(); // Instant } - // endregion - // region Base and Unit conversion /** - * Returns the Excel double time format representation of a {@link DateTime}. + * Converts a {@link Date} to an {@link Instant}. * - * @param dateTime The {@link DateTime} to convert. - * @param timeZone The {@link TimeZone} to use when interpreting the date/time. - * @return 0.0 if either input is null, otherwise, a double value containing the Excel double format representation - * of a {@link DateTime} in the specified time zone. + * @param date the date to convert + * @return the {@link Instant}, or {@code null} if {@code date} is {@code null} */ - @SuppressWarnings("WeakerAccess") - public static double getExcelDateTime(DateTime dateTime, TimeZone timeZone) { - return getExcelDateTime(dateTime, timeZone.getTimeZone().toTimeZone()); + @ScriptApi + @Nullable + @Deprecated + public static Instant toInstant(@Nullable final Date date) { + if (date == null) { + return null; + } + + return epochMillisToInstant(date.getTime()); } /** - * Returns the Excel double time format representation of a {@link DateTime}. + * Converts an {@link Instant} to a {@link ZonedDateTime}. * - * @param dateTime The {@link DateTime} to convert. - * @param timeZone The {@link java.util.TimeZone} to use when interpreting the date/time. - * @return 0.0 if either input is null, otherwise, a double value containing the Excel double format representation - * of a {@link DateTime} in the specified time zone. + * @param instant the instant to convert + * @param timeZone the time zone to use + * @return the {@link ZonedDateTime}, or {@code null} if any input is {@code null} */ - @SuppressWarnings("WeakerAccess") - public static double getExcelDateTime(DateTime dateTime, java.util.TimeZone timeZone) { - if (dateTime == null || timeZone == null) { - return 0.0d; + @ScriptApi + @Nullable + public static ZonedDateTime toZonedDateTime(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return null; } - long millis = dateTime.getMillis(); - return (double) (millis + timeZone.getOffset(millis)) / 86400000 + 25569; + return ZonedDateTime.ofInstant(instant, timeZone); } /** - * Returns the Excel double time format representation of a {@link DateTime}. + * Converts a {@link LocalDate}, {@link LocalTime}, and {@link ZoneId} to a {@link ZonedDateTime}. * - * @param dateTime The {@link DateTime} to convert. - * @return 0.0 if the input is null, otherwise, a double value containing the Excel double format representation of - * a {@link DateTime} in the New York time zone. + * @param date the local date + * @param time the local time + * @param timeZone the time zone to use + * @return the {@link ZonedDateTime}, or {@code null} if any input is {@code null} */ - @SuppressWarnings("WeakerAccess") - public static double getExcelDateTime(DateTime dateTime) { - return getExcelDateTime(dateTime, TimeZones.TZ_NEWYORK); + @ScriptApi + @Nullable + public static ZonedDateTime toZonedDateTime( + @Nullable final LocalDate date, + @Nullable final LocalTime time, + @Nullable final ZoneId timeZone) { + if (date == null || time == null || timeZone == null) { + return null; + } + + return time // LocalTime + .atDate(date) // LocalDateTime + .atZone(timeZone); // ZonedDateTime } /** - * Converts microseconds to nanoseconds. + * Converts an {@link Instant} to a {@link LocalDate} with the specified {@link ZoneId}. * - * @param micros The long value of microseconds to convert. - * @return A {@link QueryConstants#NULL_LONG} if the input is null. Throws a {@link DateTimeOverflowException} if - * the resultant value would exceed the range that can be stored in a long. Otherwise, returns a long - * containing the equivalent number of nanoseconds for the input in microseconds. + * @param instant the instant to convert + * @param timeZone the time zone + * @return the {@link LocalDate}, or {@code null} if any input is {@code null} */ - public static long microsToNanos(long micros) { - if (micros == NULL_LONG) { - return NULL_LONG; + @Nullable + public static LocalDate toLocalDate(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return null; } - if (Math.abs(micros) > MAX_CONVERTIBLE_MICROS) { - throw new DateTimeOverflowException("Converting " + micros + " micros to nanos would overflow"); + + return toZonedDateTime(instant, timeZone).toLocalDate(); + } + + /** + * Get the {@link LocalDate} portion of a {@link ZonedDateTime}. + * + * @param dateTime the zoned date time to convert + * @return the {@link LocalDate}, or {@code null} if {@code dateTime} is {@code null} + */ + @Nullable + public static LocalDate toLocalDate(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return null; } - return micros * 1000; + + return dateTime.toLocalDate(); } /** - * Converts nanoseconds to microseconds. + * Converts an {@link Instant} to a {@link LocalTime} with the specified {@link ZoneId}. * - * @param nanos The long value of nanoseconds to convert. - * @return A {@link QueryConstants#NULL_LONG} if the input is null. Otherwise, returns a long containing the - * equivalent number of microseconds for the input in nanoseconds. + * @param instant the instant to convert + * @param timeZone the time zone + * @return the {@link LocalTime}, or {@code null} if any input is {@code null} */ - @SuppressWarnings("WeakerAccess") - public static long nanosToMicros(long nanos) { - if (nanos == NULL_LONG) { - return NULL_LONG; + @Nullable + public static LocalTime toLocalTime(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return null; } - return nanos / 1000; + return toZonedDateTime(instant, timeZone).toLocalTime(); } /** - * Converts a value of microseconds from Epoch in the UTC time zone to a {@link DateTime}. + * Get the {@link LocalTime} portion of a {@link ZonedDateTime}. * - * @param micros The long microseconds value to convert. - * @return {@link QueryConstants#NULL_LONG} if the input is null, otherwise, a {@link DateTime} representation of - * the input. + * @param dateTime the zoned date time to convert + * @return the {@link LocalTime}, or {@code null} if {@code dateTime} is {@code null} */ - public static DateTime microsToTime(long micros) { - return nanosToTime(microsToNanos(micros)); + @Nullable + public static LocalTime toLocalTime(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return null; + } + return dateTime.toLocalTime(); } /** - * Converts milliseconds to nanoseconds. + * Converts an {@link Instant} to a {@link Date}. {@code instant} will be truncated to millisecond resolution. * - * @param millis The long milliseconds value to convert. - * @return {@link QueryConstants#NULL_LONG} if the input is equal to {@link QueryConstants#NULL_LONG}. Throws - * {@link DateTimeOverflowException} if the input is too large for conversion. Otherwise returns a long of - * the equivalent number of nanoseconds to the input. + * @param instant the instant to convert + * @return the {@link Date}, or {@code null} if {@code instant} is {@code null} + * @deprecated */ - public static long millisToNanos(long millis) { - if (millis == NULL_LONG) { - return NULL_LONG; + @Deprecated + @Nullable + public static Date toDate(@Nullable final Instant instant) { + if (instant == null) { + return null; } - if (Math.abs(millis) > MAX_CONVERTIBLE_MILLIS) { - throw new DateTimeOverflowException("Converting " + millis + " millis to nanos would overflow"); + return new Date(epochMillis(instant)); + } + + /** + * Converts a {@link ZonedDateTime} to a {@link Date}. {@code dateTime} will be truncated to millisecond resolution. + * + * @param dateTime the zoned date time to convert + * @return the {@link Date}, or {@code null} if {@code dateTime} is {@code null} + * @deprecated + */ + @Deprecated + @Nullable + public static Date toDate(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return null; } - return millis * 1000000; + return new Date(epochMillis(dateTime)); } + // endregion + + // region Conversions: Epoch + /** - * Converts seconds to nanoseconds. + * Returns nanoseconds from the Epoch for an {@link Instant} value. * - * @param seconds The long value of seconds to convert. - * @return A {@link QueryConstants#NULL_LONG} if the input is null. Throws a {@link DateTimeOverflowException} if - * the resultant value would exceed the range that can be stored in a long. Otherwise, returns a long - * containing the equivalent number of nanoseconds for the input in seconds. + * @param instant instant to compute the Epoch offset for + * @return nanoseconds since Epoch, or a NULL_LONG value if the instant is null */ - public static long secondsToNanos(long seconds) { - if (seconds == NULL_LONG) { + @ScriptApi + public static long epochNanos(@Nullable final Instant instant) { + if (instant == null) { return NULL_LONG; } - if (Math.abs(seconds) > MAX_CONVERTIBLE_SECONDS) { - throw new DateTimeOverflowException("Converting " + seconds + " seconds to nanos would overflow"); - } - return seconds * 1000000000L; + return safeComputeNanos(instant.getEpochSecond(), instant.getNano()); } /** - * Converts nanoseconds to milliseconds. + * Returns nanoseconds from the Epoch for a {@link ZonedDateTime} value. * - * @param nanos The long value of nanoseconds to convert. - * @return A {@link QueryConstants#NULL_LONG} if the input is null. Otherwise, returns a long containing the - * equivalent number of milliseconds for the input in nanoseconds. + * @param dateTime the zoned date time to compute the Epoch offset for + * @return nanoseconds since Epoch, or a NULL_LONG value if the zoned date time is null */ - public static long nanosToMillis(long nanos) { - if (nanos == NULL_LONG) { + @ScriptApi + public static long epochNanos(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { return NULL_LONG; } - return nanos / 1000000; + return safeComputeNanos(dateTime.toEpochSecond(), dateTime.getNano()); } /** - * Converts a value of milliseconds from Epoch in the UTC time zone to a {@link DateTime}. + * Returns microseconds from the Epoch for an {@link Instant} value. * - * @param millis The long milliseconds value to convert. - * @return {@link QueryConstants#NULL_LONG} if the input is null, otherwise, a {@link DateTime} representation of - * the input. + * @param instant instant to compute the Epoch offset for + * @return microseconds since Epoch, or a {@link QueryConstants#NULL_LONG NULL_LONG} value if the instant is + * {@code null} */ - public static DateTime millisToTime(long millis) { - return nanosToTime(millisToNanos(millis)); + @ScriptApi + public static long epochMicros(@Nullable final Instant instant) { + if (instant == null) { + return NULL_LONG; + } + + return nanosToMicros(epochNanos(instant)); } /** - * Converts a value of seconds from Epoch in the UTC time zone to a {@link DateTime}. + * Returns microseconds from the Epoch for a {@link ZonedDateTime} value. * - * @param seconds The long seconds value to convert. - * @return {@link QueryConstants#NULL_LONG} if the input is null, otherwise, a {@link DateTime} representation of - * the input. + * @param dateTime zoned date time to compute the Epoch offset for + * @return microseconds since Epoch, or a {@link QueryConstants#NULL_LONG NULL_LONG} value if the zoned date time is + * {@code null} */ - public static DateTime secondsToTime(long seconds) { - return nanosToTime(secondsToNanos(seconds)); - } + @ScriptApi + public static long epochMicros(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return NULL_LONG; + } + return nanosToMicros(epochNanos(dateTime)); + } /** - * Returns the current clock. The current clock is {@link #clock} if set, otherwise {@link Clock#system()}. + * Returns milliseconds from the Epoch for an {@link Instant} value. * - * @return the current clock + * @param instant instant to compute the Epoch offset for + * @return milliseconds since Epoch, or a {@link QueryConstants#NULL_LONG NULL_LONG} value if the instant is + * {@code null} */ - public static Clock currentClock() { - return Objects.requireNonNullElse(clock, Clock.system()); + @ScriptApi + public static long epochMillis(@Nullable final Instant instant) { + if (instant == null) { + return NULL_LONG; + } + + return instant.toEpochMilli(); } - private static long safeComputeNanos(long epochSecond, long nanoOfSecond) { - if (epochSecond >= MAX_CONVERTIBLE_SECONDS) { - throw new IllegalArgumentException("Numeric overflow detected during conversion of " + epochSecond - + " to nanoseconds"); + /** + * Returns milliseconds from the Epoch for a {@link ZonedDateTime} value. + * + * @param dateTime zoned date time to compute the Epoch offset for + * @return milliseconds since Epoch, or a {@link QueryConstants#NULL_LONG NULL_LONG} value if the zoned date time is + * {@code null} + */ + @ScriptApi + public static long epochMillis(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return NULL_LONG; } - return epochSecond * 1_000_000_000L + nanoOfSecond; + return nanosToMillis(epochNanos(dateTime)); } /** - * Convert the specified instant to nanoseconds since epoch, or {@link QueryConstants#NULL_LONG null}. + * Returns seconds since from the Epoch for an {@link Instant} value. * - * @param value the instant to convert - * - * @return nanoseconds since epoch or {@link QueryConstants#NULL_LONG null} + * @param instant instant to compute the Epoch offset for + * @return seconds since Epoch, or a {@link QueryConstants#NULL_LONG NULL_LONG} value if the instant is {@code null} */ - public static long toEpochNano(@Nullable final Instant value) { - if (value == null) { + @ScriptApi + public static long epochSeconds(@Nullable final Instant instant) { + if (instant == null) { return NULL_LONG; } - return safeComputeNanos(value.getEpochSecond(), value.getNano()); + return instant.getEpochSecond(); } /** - * Convert the specified {@link ZonedDateTime} to nanoseconds since epoch, or {@link QueryConstants#NULL_LONG null}. - * - * @param value the instant to convert + * Returns seconds since from the Epoch for a {@link ZonedDateTime} value. * - * @return nanoseconds since epoch or {@link QueryConstants#NULL_LONG null} + * @param dateTime zoned date time to compute the Epoch offset for + * @return seconds since Epoch, or a {@link QueryConstants#NULL_LONG NULL_LONG} value if the zoned date time is + * {@code null} */ - public static long toEpochNano(@Nullable final ZonedDateTime value) { - if (value == null) { + @ScriptApi + public static long epochSeconds(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { return NULL_LONG; } - return safeComputeNanos(value.toEpochSecond(), value.getNano()); + return dateTime.toEpochSecond(); } /** - * Convert nanos since epoch to an {@link Instant} value. + * Converts nanoseconds from the Epoch to an {@link Instant}. * - * @param nanos nanoseconds since epoch - * @return a new {@link Instant} or null if nanos was {@link QueryConstants#NULL_LONG}. + * @param nanos nanoseconds since Epoch + * @return {@code null} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input nanoseconds from the + * Epoch converted to an {@link Instant} */ + @ScriptApi @Nullable - public static Instant makeInstant(final long nanos) { + public static Instant epochNanosToInstant(final long nanos) { return nanos == NULL_LONG ? null : Instant.ofEpochSecond(nanos / 1_000_000_000L, nanos % 1_000_000_000L); } /** - * Converts nanos of epoch to a {@link ZonedDateTime} using the {@link TimeZone#TZ_DEFAULT default} time zone. + * Converts microseconds from the Epoch to an {@link Instant}. * - * @param nanos nanoseconds since epoch - * @return a new {@link ZonedDateTime} or null if nanos was {@link QueryConstants#NULL_LONG}. + * @param micros microseconds since Epoch + * @return {@code null} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input microseconds from the + * Epoch converted to an {@link Instant} */ + @ScriptApi @Nullable - public static ZonedDateTime makeZonedDateTime(final long nanos) { - return makeZonedDateTime(nanos, TimeZone.TZ_DEFAULT.getZoneId()); + public static Instant epochMicrosToInstant(final long micros) { + return micros == NULL_LONG ? null : Instant.ofEpochSecond(micros / 1_000_000L, (micros % 1_000_000L) * 1_000L); } /** - * Converts nanos of epoch to a {@link ZonedDateTime}. + * Converts milliseconds from the Epoch to an {@link Instant}. * - * @param nanos nanoseconds since epoch - * @param timeZone the {@link TimeZone time zone} - * - * @return a new {@link ZonedDateTime} or null if nanos was {@link QueryConstants#NULL_LONG}. + * @param millis milliseconds since Epoch + * @return {@code null} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input milliseconds from the + * Epoch converted to an {@link Instant} */ + @ScriptApi @Nullable - public static ZonedDateTime makeZonedDateTime(final long nanos, @NotNull final TimeZone timeZone) { - return makeZonedDateTime(nanos, timeZone.getZoneId()); + public static Instant epochMillisToInstant(final long millis) { + return millis == NULL_LONG ? null : Instant.ofEpochSecond(millis / 1_000L, (millis % 1_000L) * 1_000_000L); } /** - * Converts nanos of epoch to a {@link ZonedDateTime}. + * Converts seconds from the Epoch to an {@link Instant}. * - * @param nanos nanoseconds since epoch - * @param zone the {@link ZoneId time zone} - * - * @return a new {@link ZonedDateTime} or null if nanos was {@link QueryConstants#NULL_LONG}. + * @param seconds seconds since Epoch + * @return {@code null} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input seconds from the Epoch + * converted to an {@link Instant} */ + @ScriptApi @Nullable - public static ZonedDateTime makeZonedDateTime(final long nanos, ZoneId zone) { - // noinspection ConstantConditions - return nanos == NULL_LONG ? null : ZonedDateTime.ofInstant(makeInstant(nanos), zone); + public static Instant epochSecondsToInstant(final long seconds) { + return seconds == NULL_LONG ? null : Instant.ofEpochSecond(seconds, 0); } /** - * Converts a {@link DateTime} to a {@link ZonedDateTime}. + * Converts nanoseconds from the Epoch to a {@link ZonedDateTime}. * - * @param dateTime The a {@link DateTime} to convert. - * @return A {@link ZonedDateTime} using the default time zone for the session as indicated by - * {@link TimeZone#TZ_DEFAULT}. + * @param nanos nanoseconds since Epoch + * @param timeZone time zone + * @return {@code null} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input nanoseconds from the + * Epoch converted to a {@link ZonedDateTime} */ + @ScriptApi @Nullable - public static ZonedDateTime getZonedDateTime(final @Nullable DateTime dateTime) { - return getZonedDateTime(dateTime, TimeZone.TZ_DEFAULT); + public static ZonedDateTime epochNanosToZonedDateTime(final long nanos, final ZoneId timeZone) { + if (timeZone == null) { + return null; + } + + // noinspection ConstantConditions + return nanos == NULL_LONG ? null : ZonedDateTime.ofInstant(epochNanosToInstant(nanos), timeZone); } /** - * Converts a {@link DateTime} to a {@link ZonedDateTime}. + * Converts microseconds from the Epoch to a {@link ZonedDateTime}. * - * @param dateTime The a {@link DateTime} to convert. - * @param timeZone The {@link TimeZone} to use for the conversion. - * @return A {@link ZonedDateTime} using the specified time zone. or null if dateTime was null + * @param micros microseconds since Epoch + * @param timeZone time zone + * @return {@code null} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input microseconds from the + * Epoch converted to a {@link ZonedDateTime} */ + @ScriptApi @Nullable - public static ZonedDateTime getZonedDateTime(@Nullable final DateTime dateTime, @NotNull final TimeZone timeZone) { - if (dateTime == null) { + public static ZonedDateTime epochMicrosToZonedDateTime(final long micros, @Nullable ZoneId timeZone) { + if (timeZone == null) { return null; } - final ZoneId zone = timeZone.getTimeZone().toTimeZone().toZoneId(); - return dateTime.toZonedDateTime(zone); + // noinspection ConstantConditions + return micros == NULL_LONG ? null : ZonedDateTime.ofInstant(epochMicrosToInstant(micros), timeZone); } /** - * Converts a {@link DateTime} to a {@link ZonedDateTime}. + * Converts milliseconds from the Epoch to a {@link ZonedDateTime}. * - * @param dateTime The a {@link DateTime} to convert. - * @param timeZone The {@link ZoneId} to use for the conversion. - * @return A {@link ZonedDateTime} using the specified time zone. or null if dateTime was null + * @param millis milliseconds since Epoch + * @param timeZone time zone + * @return {@code null} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input milliseconds from the + * Epoch converted to a {@link ZonedDateTime} */ + @ScriptApi @Nullable - public static ZonedDateTime getZonedDateTime(@Nullable final DateTime dateTime, @NotNull final ZoneId timeZone) { - if (dateTime == null) { + public static ZonedDateTime epochMillisToZonedDateTime(final long millis, @Nullable final ZoneId timeZone) { + if (timeZone == null) { return null; } - return dateTime.toZonedDateTime(timeZone); + // noinspection ConstantConditions + return millis == NULL_LONG ? null : ZonedDateTime.ofInstant(epochMillisToInstant(millis), timeZone); } /** - * Converts a {@link ZonedDateTime} to a {@link DateTime}. + * Converts seconds from the Epoch to a {@link ZonedDateTime}. * - * @param zonedDateTime The a {@link ZonedDateTime} to convert. - * @throws DateTimeOverflowException if the input is out of the range for a {@link DateTime}, otherwise, a - * {@link DateTime} version of the input. + * @param seconds seconds since Epoch + * @param timeZone time zone + * @return {@code null} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input seconds from the Epoch + * converted to a {@link ZonedDateTime} */ + @ScriptApi @Nullable - public static DateTime toDateTime(@Nullable final ZonedDateTime zonedDateTime) { - if (zonedDateTime == null) { + public static ZonedDateTime epochSecondsToZonedDateTime(final long seconds, @Nullable final ZoneId timeZone) { + if (timeZone == null) { return null; } + // noinspection ConstantConditions + return seconds == NULL_LONG ? null : ZonedDateTime.ofInstant(epochSecondsToInstant(seconds), timeZone); + } - int nanos = zonedDateTime.getNano(); - long seconds = zonedDateTime.toEpochSecond(); - - long limit = (Long.MAX_VALUE - nanos) / DateTimeUtils.SECOND; - if (seconds >= limit) { - throw new DateTimeOverflowException("Overflow: cannot convert " + zonedDateTime + " to new DateTime"); + /** + * Converts an offset from the Epoch to a nanoseconds from the Epoch. The offset can be in milliseconds, + * microseconds, or nanoseconds. Expected date ranges are used to infer the units for the offset. + * + * @param epochOffset time offset from the Epoch + * @return {@code null} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input offset from the Epoch + * converted to nanoseconds from the Epoch + */ + @ScriptApi + public static long epochAutoToEpochNanos(final long epochOffset) { + if (epochOffset == NULL_LONG) { + return epochOffset; } - - return new DateTime(nanos + (seconds * DateTimeUtils.SECOND)); + final long absEpoch = Math.abs(epochOffset); + if (absEpoch > 1000 * TimeConstants.MICROTIME_THRESHOLD) { // Nanoseconds + return epochOffset; + } + if (absEpoch > TimeConstants.MICROTIME_THRESHOLD) { // Microseconds + return 1000 * epochOffset; + } + if (absEpoch > TimeConstants.MICROTIME_THRESHOLD / 1000) { // Milliseconds + return 1000 * 1000 * epochOffset; + } + // Seconds + return 1000 * 1000 * 1000 * epochOffset; } - // endregion - // region Query Helper Methods /** - * Equivalent to {@code DateTime.of(currentClock())}. + * Converts an offset from the Epoch to an {@link Instant}. The offset can be in milliseconds, microseconds, or + * nanoseconds. Expected date ranges are used to infer the units for the offset. * - * @return the current date time + * @param epochOffset time offset from the Epoch + * @return {@code null} if the input is {@link QueryConstants#NULL_LONG}; otherwise the input offset from the Epoch + * converted to an {@link Instant} */ @ScriptApi - public static DateTime currentTime() { - return DateTime.of(currentClock()); + @Nullable + public static Instant epochAutoToInstant(final long epochOffset) { + if (epochOffset == NULL_LONG) { + return null; + } + return epochNanosToInstant(epochAutoToEpochNanos(epochOffset)); } /** - * Equivalent to {@code DateTime.ofMillis(currentClock())}. + * Converts an offset from the Epoch to a {@link ZonedDateTime}. The offset can be in milliseconds, microseconds, or + * nanoseconds. Expected date ranges are used to infer the units for the offset. * - * @return the current date time + * @param epochOffset time offset from the Epoch + * @param timeZone time zone + * @return {@code null} if any input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the input offset + * from the Epoch converted to a {@link ZonedDateTime} */ - public static DateTime currentTimeMillis() { - return DateTime.ofMillis(currentClock()); + @ScriptApi + @Nullable + public static ZonedDateTime epochAutoToZonedDateTime(final long epochOffset, @Nullable ZoneId timeZone) { + if (epochOffset == NULL_LONG || timeZone == null) { + return null; + } + return epochNanosToZonedDateTime(epochAutoToEpochNanos(epochOffset), timeZone); } - private abstract static class CachedDate { + // endregion - final TimeZone timeZone; + // region Conversions: Excel - String value; - long valueExpirationTimeMillis; + private static double epochMillisToExcelTime(final long millis, final ZoneId timeZone) { + return (double) (millis + java.util.TimeZone.getTimeZone(timeZone).getOffset(millis)) / 86400000 + 25569; + } - private CachedDate(@NotNull final TimeZone timeZone) { - this.timeZone = timeZone; - } + private static long excelTimeToEpochMillis(final double excel, final ZoneId timeZone) { + final java.util.TimeZone tz = java.util.TimeZone.getTimeZone(timeZone); - private TimeZone getTimeZone() { - return timeZone; + final long mpo = (long) ((excel - 25569) * 86400000); + final long o = tz.getOffset(mpo); + final long m = mpo - o; + final long o2 = tz.getOffset(m); + return mpo - o2; + } + + /** + * Converts an {@link Instant} to an Excel time represented as a double. + * + * @param instant instant to convert + * @param timeZone time zone to use when interpreting the instant + * @return 0.0 if either input is {@code null}; otherwise, the input instant converted to an Excel time represented + * as a double + */ + @ScriptApi + public static double toExcelTime(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return 0.0; } - public String get() { - return get(System.currentTimeMillis()); + return epochMillisToExcelTime(epochMillis(instant), timeZone); + } + + /** + * Converts a {@link ZonedDateTime} to an Excel time represented as a double. + * + * @param dateTime zoned date time to convert + * @return 0.0 if either input is {@code null}; otherwise, the input zoned date time converted to an Excel time + * represented as a double + */ + @ScriptApi + public static double toExcelTime(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return 0.0; + } + + return toExcelTime(toInstant(dateTime), dateTime.getZone()); + } + + /** + * Converts an Excel time represented as a double to an {@link Instant}. + * + * @param excel excel time represented as a double + * @param timeZone time zone to use when interpreting the Excel time + * @return {@code null} if timeZone is {@code null}; otherwise, the input Excel time converted to an {@link Instant} + */ + @ScriptApi + @Nullable + public static Instant excelToInstant(final double excel, @Nullable final ZoneId timeZone) { + if (timeZone == null) { + return null; + } + + return epochMillisToInstant(excelTimeToEpochMillis(excel, timeZone)); + } + + /** + * Converts an Excel time represented as a double to a {@link ZonedDateTime}. + * + * @param excel excel time represented as a double + * @param timeZone time zone to use when interpreting the Excel time + * @return {@code null} if timeZone is {@code null}; otherwise, the input Excel time converted to a + * {@link ZonedDateTime} + */ + @ScriptApi + @Nullable + public static ZonedDateTime excelToZonedDateTime(final double excel, @Nullable final ZoneId timeZone) { + if (timeZone == null) { + return null; + } + + return epochMillisToZonedDateTime(excelTimeToEpochMillis(excel, timeZone), timeZone); + } + + // endregion + + // region Arithmetic + + /** + * Adds nanoseconds to an {@link Instant}. + * + * @param instant starting instant value + * @param nanos number of nanoseconds to add + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * instant plus the specified number of nanoseconds + * @throws DateTimeOverflowException if the resultant instant exceeds the supported range + */ + @ScriptApi + @Nullable + public static Instant plus(@Nullable final Instant instant, final long nanos) { + if (instant == null || nanos == NULL_LONG) { + return null; + } + + try { + return instant.plusNanos(nanos); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Adds nanoseconds to a {@link ZonedDateTime}. + * + * @param dateTime starting zoned date time value + * @param nanos number of nanoseconds to add + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * zoned date time plus the specified number of nanoseconds + * @throws DateTimeOverflowException if the resultant zoned date time exceeds the supported range + */ + @ScriptApi + @Nullable + public static ZonedDateTime plus(@Nullable final ZonedDateTime dateTime, final long nanos) { + if (dateTime == null || nanos == NULL_LONG) { + return null; + } + + try { + return dateTime.plusNanos(nanos); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Adds a time period to an {@link Instant}. + * + * @param instant starting instant value + * @param duration time period + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * instant plus the specified time period + * @throws DateTimeOverflowException if the resultant instant exceeds the supported range + */ + @ScriptApi + @Nullable + public static Instant plus(@Nullable final Instant instant, @Nullable final Duration duration) { + if (instant == null || duration == null) { + return null; + } + + try { + return instant.plus(duration); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Adds a time period to an {@link Instant}. + * + * @param instant starting instant value + * @param period time period + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * instant plus the specified time period + * @throws DateTimeOverflowException if the resultant instant exceeds the supported range + */ + @ScriptApi + @Nullable + public static Instant plus(@Nullable final Instant instant, @Nullable final Period period) { + if (instant == null || period == null) { + return null; + } + + try { + return instant.plus(period); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Adds a time period to a {@link ZonedDateTime}. + * + * @param dateTime starting zoned date time value + * @param duration time period + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * zoned date time plus the specified time period + * @throws DateTimeOverflowException if the resultant zoned date time exceeds the supported range + */ + @ScriptApi + @Nullable + public static ZonedDateTime plus(@Nullable final ZonedDateTime dateTime, @Nullable final Duration duration) { + if (dateTime == null || duration == null) { + return null; + } + + try { + return dateTime.plus(duration); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Adds a time period to a {@link ZonedDateTime}. + * + * @param dateTime starting zoned date time value + * @param period time period + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * zoned date time plus the specified time period + * @throws DateTimeOverflowException if the resultant zoned date time exceeds the supported range + */ + @ScriptApi + @Nullable + public static ZonedDateTime plus(@Nullable final ZonedDateTime dateTime, @Nullable final Period period) { + if (dateTime == null || period == null) { + return null; + } + + try { + return dateTime.plus(period); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Subtracts nanoseconds from an {@link Instant}. + * + * @param instant starting instant value + * @param nanos number of nanoseconds to subtract + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * instant minus the specified number of nanoseconds + * @throws DateTimeOverflowException if the resultant instant exceeds the supported range + */ + @ScriptApi + @Nullable + public static Instant minus(@Nullable final Instant instant, final long nanos) { + if (instant == null || nanos == NULL_LONG) { + return null; + } + + try { + return instant.minusNanos(nanos); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Subtracts nanoseconds from a {@link ZonedDateTime}. + * + * @param dateTime starting zoned date time value + * @param nanos number of nanoseconds to subtract + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * zoned date time minus the specified number of nanoseconds + * @throws DateTimeOverflowException if the resultant zoned date time exceeds the supported range + */ + @ScriptApi + @Nullable + public static ZonedDateTime minus(@Nullable final ZonedDateTime dateTime, final long nanos) { + if (dateTime == null || nanos == NULL_LONG) { + return null; + } + + try { + return dateTime.minusNanos(nanos); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Subtracts a time period to an {@link Instant}. + * + * @param instant starting instant value + * @param duration time period + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * instant minus the specified time period + * @throws DateTimeOverflowException if the resultant instant exceeds the supported range + */ + @ScriptApi + @Nullable + public static Instant minus(@Nullable final Instant instant, @Nullable final Duration duration) { + if (instant == null || duration == null) { + return null; + } + + try { + return instant.minus(duration); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Subtracts a time period to an {@link Instant}. + * + * @param instant starting instant value + * @param period time period + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * instant minus the specified time period + * @throws DateTimeOverflowException if the resultant instant exceeds the supported range + */ + @ScriptApi + @Nullable + public static Instant minus(@Nullable final Instant instant, @Nullable final Period period) { + if (instant == null || period == null) { + return null; + } + + try { + return instant.minus(period); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Subtracts a time period to a {@link ZonedDateTime}. + * + * @param dateTime starting zoned date time value + * @param duration time period + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * zoned date time minus the specified time period + * @throws DateTimeOverflowException if the resultant zoned date time exceeds the supported range + */ + @ScriptApi + @Nullable + public static ZonedDateTime minus(@Nullable final ZonedDateTime dateTime, @Nullable final Duration duration) { + if (dateTime == null || duration == null) { + return null; + } + + try { + return dateTime.minus(duration); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Subtracts a time period to a {@link ZonedDateTime}. + * + * @param dateTime starting zoned date time value + * @param period time period + * @return {@code null} if either input is {@code null} or {@link QueryConstants#NULL_LONG}; otherwise the starting + * zoned date time minus the specified time period + * @throws DateTimeOverflowException if the resultant zoned date time exceeds the supported range + */ + @ScriptApi + @Nullable + public static ZonedDateTime minus(@Nullable final ZonedDateTime dateTime, @Nullable final Period period) { + if (dateTime == null || period == null) { + return null; + } + + try { + return dateTime.minus(period); + } catch (Exception ex) { + throw new DateTimeOverflowException(ex); + } + } + + /** + * Subtract one instant from another and return the difference in nanoseconds. + * + * @param instant1 first instant + * @param instant2 second instant + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise the difference in instant1 + * and instant2 in nanoseconds + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static long minus(@Nullable final Instant instant1, @Nullable final Instant instant2) { + if (instant1 == null || instant2 == null) { + return NULL_LONG; + } + + return checkUnderflowMinus(epochNanos(instant1), epochNanos(instant2), true); + } + + /** + * Subtract one zoned date time from another and return the difference in nanoseconds. + * + * @param dateTime1 first zoned date time + * @param dateTime2 second zoned date time + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise the difference in dateTime1 + * and dateTime2 in nanoseconds + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static long minus(@Nullable final ZonedDateTime dateTime1, @Nullable final ZonedDateTime dateTime2) { + if (dateTime1 == null || dateTime2 == null) { + return NULL_LONG; + } + + return checkUnderflowMinus(epochNanos(dateTime1), epochNanos(dateTime2), true); + } + + /** + * Returns the difference in nanoseconds between two instant values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise the difference in start and + * end in nanoseconds + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static long diffNanos(@Nullable final Instant start, @Nullable final Instant end) { + return minus(end, start); + } + + /** + * Returns the difference in nanoseconds between two zoned date time values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise the difference in start and + * end in nanoseconds + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static long diffNanos(@Nullable final ZonedDateTime start, @Nullable final ZonedDateTime end) { + return minus(end, start); + } + + /** + * Returns the difference in microseconds between two instant values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise the difference in start and + * end in microseconds + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static long diffMicros(@Nullable final Instant start, @Nullable final Instant end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_LONG; + } + + return nanosToMicros(diffNanos(start, end)); + } + + /** + * Returns the difference in microseconds between two zoned date time values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise the difference in start and + * end in microseconds + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static long diffMicros(@Nullable final ZonedDateTime start, @Nullable final ZonedDateTime end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_LONG; + } + + return nanosToMicros(diffNanos(start, end)); + } + + /** + * Returns the difference in milliseconds between two instant values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise the difference in start and + * end in milliseconds + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static long diffMillis(@Nullable final Instant start, @Nullable final Instant end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_LONG; + } + + return nanosToMillis(diffNanos(start, end)); + } + + /** + * Returns the difference in milliseconds between two zoned date time values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise the difference in start and + * end in milliseconds + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static long diffMillis(@Nullable final ZonedDateTime start, @Nullable final ZonedDateTime end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_LONG; + } + + return nanosToMillis(diffNanos(start, end)); + } + + /** + * Returns the difference in seconds between two instant values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_DOUBLE} if either input is {@code null}; otherwise the difference in start and + * end in seconds + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static double diffSeconds(@Nullable final Instant start, @Nullable final Instant end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) / SECOND; + } + + /** + * Returns the difference in seconds between two zoned date time values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_DOUBLE} if either input is {@code null}; otherwise the difference in start and + * end in seconds + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static double diffSeconds(@Nullable final ZonedDateTime start, @Nullable final ZonedDateTime end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) / SECOND; + } + + /** + * Returns the difference in minutes between two instant values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_DOUBLE} if either input is {@code null}; otherwise the difference in start and + * end in minutes + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static double diffMinutes(@Nullable final Instant start, @Nullable final Instant end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) / MINUTE; + } + + /** + * Returns the difference in minutes between two zoned date time values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_DOUBLE} if either input is {@code null}; otherwise the difference in start and + * end in minutes + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static double diffMinutes(@Nullable final ZonedDateTime start, @Nullable final ZonedDateTime end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) / MINUTE; + } + + /** + * Returns the difference in days between two instant values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_DOUBLE} if either input is {@code null}; otherwise the difference in start and + * end in days + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static double diffDays(@Nullable final Instant start, @Nullable final Instant end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) / DAY; + } + + /** + * Returns the difference in days between two zoned date time values. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_DOUBLE} if either input is {@code null}; otherwise the difference in start and + * end in days + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static double diffDays(@Nullable final ZonedDateTime start, @Nullable final ZonedDateTime end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) / DAY; + } + + /** + * Returns the difference in years between two instant values. + *

    + * Years are defined in terms of 365 day years. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_DOUBLE} if either input is {@code null}; otherwise the difference in start and + * end in years + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static double diffYears365(@Nullable final Instant start, @Nullable final Instant end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) * YEARS_PER_NANO_365; + } + + /** + * Returns the difference in years between two zoned date time values. + *

    + * Years are defined in terms of 365 day years. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_DOUBLE} if either input is {@code null}; otherwise the difference in start and + * end in years + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static double diffYears365(@Nullable final ZonedDateTime start, @Nullable final ZonedDateTime end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) * YEARS_PER_NANO_365; + } + + /** + * Returns the difference in years between two instant values. + *

    + * Years are defined in terms of 365.2425 day years. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_DOUBLE} if either input is {@code null}; otherwise the difference in start and + * end in years + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static double diffYearsAvg(@Nullable final Instant start, @Nullable final Instant end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) * YEARS_PER_NANO_AVG; + } + + /** + * Returns the difference in years between two zoned date time values. + *

    + * Years are defined in terms of 365.2425 day years. + * + * @param start start time + * @param end end time + * @return {@link QueryConstants#NULL_DOUBLE} if either input is {@code null}; otherwise the difference in start and + * end in years + * @throws DateTimeOverflowException if the datetime arithmetic overflows or underflows + */ + @ScriptApi + public static double diffYearsAvg(@Nullable final ZonedDateTime start, @Nullable final ZonedDateTime end) { + if (start == null || end == null) { + return io.deephaven.util.QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) * YEARS_PER_NANO_AVG; + } + + // endregion + + // region Comparisons + + /** + * Evaluates whether one instant value is before a second instant value. + * + * @param instant1 first instant + * @param instant2 second instant + * @return {@code true} if instant1 is before instant2; otherwise, {@code false} if either value is {@code null} or + * if instant2 is equal to or before instant1 + */ + @ScriptApi + public static boolean isBefore(@Nullable final Instant instant1, @Nullable final Instant instant2) { + if (instant1 == null || instant2 == null) { + return false; + } + + return instant1.isBefore(instant2); + } + + /** + * Evaluates whether one zoned date time value is before a second zoned date time value. + * + * @param dateTime1 first zoned date time + * @param dateTime2 second zoned date time + * @return {@code true} if dateTime1 is before dateTime2; otherwise, {@code false} if either value is {@code null} + * or if dateTime2 is equal to or before dateTime1 + */ + @ScriptApi + public static boolean isBefore(@Nullable final ZonedDateTime dateTime1, @Nullable final ZonedDateTime dateTime2) { + if (dateTime1 == null || dateTime2 == null) { + return false; + } + + return dateTime1.isBefore(dateTime2); + } + + /** + * Evaluates whether one instant value is before or equal to a second instant value. + * + * @param instant1 first instant + * @param instant2 second instant + * @return {@code true} if instant1 is before or equal to instant2; otherwise, {@code false} if either value is + * {@code null} or if instant2 is before instant1 + */ + @ScriptApi + public static boolean isBeforeOrEqual(@Nullable final Instant instant1, @Nullable final Instant instant2) { + if (instant1 == null || instant2 == null) { + return false; + } + + return instant1.isBefore(instant2) || instant1.equals(instant2); + } + + /** + * Evaluates whether one zoned date time value is before or equal to a second zoned date time value. + * + * @param dateTime1 first zoned date time + * @param dateTime2 second zoned date time + * @return {@code true} if dateTime1 is before or equal to dateTime2; otherwise, {@code false} if either value is + * {@code null} or if dateTime2 is before dateTime1 + */ + @ScriptApi + public static boolean isBeforeOrEqual( + @Nullable final ZonedDateTime dateTime1, + @Nullable final ZonedDateTime dateTime2) { + if (dateTime1 == null || dateTime2 == null) { + return false; + } + + return dateTime1.isBefore(dateTime2) || dateTime1.equals(dateTime2); + } + + /** + * Evaluates whether one instant value is after a second instant value. + * + * @param instant1 first instant + * @param instant2 second instant + * @return {@code true} if instant1 is after instant2; otherwise, {@code false} if either value is {@code null} or + * if instant2 is equal to or after instant1 + */ + @ScriptApi + public static boolean isAfter(@Nullable final Instant instant1, @Nullable final Instant instant2) { + if (instant1 == null || instant2 == null) { + return false; + } + + return instant1.isAfter(instant2); + } + + /** + * Evaluates whether one zoned date time value is after a second zoned date time value. + * + * @param dateTime1 first zoned date time + * @param dateTime2 second zoned date time + * @return {@code true} if dateTime1 is after dateTime2; otherwise, {@code false} if either value is {@code null} or + * if dateTime2 is equal to or after dateTime1 + */ + @ScriptApi + public static boolean isAfter(@Nullable final ZonedDateTime dateTime1, @Nullable final ZonedDateTime dateTime2) { + if (dateTime1 == null || dateTime2 == null) { + return false; + } + + return dateTime1.isAfter(dateTime2); + } + + /** + * Evaluates whether one instant value is after or equal to a second instant value. + * + * @param instant1 first instant + * @param instant2 second instant + * @return {@code true} if instant1 is after or equal to instant2; otherwise, {@code false} if either value is + * {@code null} or if instant2 is after instant1 + */ + @ScriptApi + public static boolean isAfterOrEqual(@Nullable final Instant instant1, @Nullable final Instant instant2) { + if (instant1 == null || instant2 == null) { + return false; + } + + return instant1.isAfter(instant2) || instant1.equals(instant2); + } + + /** + * Evaluates whether one zoned date time value is after or equal to a second zoned date time value. + * + * @param dateTime1 first zoned date time + * @param dateTime2 second zoned date time + * @return {@code true} if dateTime1 is after or equal to dateTime2; otherwise, {@code false} if either value is + * {@code null} or if dateTime2 is after dateTime1 + */ + @ScriptApi + public static boolean isAfterOrEqual(@Nullable final ZonedDateTime dateTime1, @Nullable ZonedDateTime dateTime2) { + if (dateTime1 == null || dateTime2 == null) { + return false; + } + + return dateTime1.isAfter(dateTime2) || dateTime1.equals(dateTime2); + } + + // endregion + + // region Chronology + + /** + * Returns the number of nanoseconds that have elapsed since the top of the millisecond. + * + * @param instant time + * @return {@link QueryConstants#NULL_INT} if the input is {@code null}; otherwise, number of nanoseconds that have + * elapsed since the top of the millisecond + */ + @ScriptApi + public static int nanosOfMilli(@Nullable final Instant instant) { + if (instant == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return (int) (epochNanos(instant) % 1000000); + } + + /** + * Returns the number of nanoseconds that have elapsed since the top of the millisecond. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_INT} if the input is {@code null}; otherwise, number of nanoseconds that have + * elapsed since the top of the millisecond + */ + @ScriptApi + public static int nanosOfMilli(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; } - public synchronized String get(final long currentTimeMillis) { - if (currentTimeMillis >= valueExpirationTimeMillis) { - update(currentTimeMillis); - } - return value; + return nanosOfMilli(toInstant(dateTime)); + } + + /** + * Returns the number of microseconds that have elapsed since the top of the millisecond. Nanoseconds are rounded, + * not dropped -- '20:41:39.123456700' has 457 micros, not 456. + * + * @param instant time + * @return {@link QueryConstants#NULL_INT} if the input is {@code null}; otherwise, number of microseconds that have + * elapsed since the top of the millisecond + */ + @ScriptApi + public static int microsOfMilli(@Nullable final Instant instant) { + if (instant == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return (int) Math.round((epochNanos(instant) % 1000000) / 1000d); + } + + /** + * Returns the number of microseconds that have elapsed since the top of the millisecond. Nanoseconds are rounded, + * not dropped -- '20:41:39.123456700' has 457 micros, not 456. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_INT} if the input is {@code null}; otherwise, number of microseconds that have + * elapsed since the top of the millisecond + */ + @ScriptApi + public static int microsOfMilli(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return microsOfMilli(toInstant(dateTime)); + } + + /** + * Returns the number of nanoseconds that have elapsed since the top of the second. + * + * @param instant time + * @param timeZone time zone + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise, number of nanoseconds that + * have elapsed since the top of the second + */ + @ScriptApi + public static long nanosOfSecond(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return NULL_LONG; + } + + return nanosOfSecond(toZonedDateTime(instant, timeZone)); + } + + /** + * Returns the number of nanoseconds that have elapsed since the top of the second. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise, number of nanoseconds that + * have elapsed since the top of the second + */ + @ScriptApi + public static long nanosOfSecond(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return NULL_LONG; + } + + return dateTime.getNano(); + } + + /** + * Returns the number of microseconds that have elapsed since the top of the second. + * + * @param instant time + * @param timeZone time zone + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise, number of microseconds that + * have elapsed since the top of the second + */ + @ScriptApi + public static long microsOfSecond(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return NULL_LONG; + } + + return nanosToMicros(nanosOfSecond(instant, timeZone)); + } + + /** + * Returns the number of microseconds that have elapsed since the top of the second. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_LONG} if either input is {@code null}; otherwise, number of microseconds that + * have elapsed since the top of the second + */ + @ScriptApi + public static long microsOfSecond(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return NULL_LONG; + } + + return nanosToMicros(nanosOfSecond(dateTime)); + } + + /** + * Returns the number of milliseconds that have elapsed since the top of the second. + * + * @param instant time + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of milliseconds that + * have elapsed since the top of the second + */ + @ScriptApi + public static int millisOfSecond(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return (int) nanosToMillis(nanosOfSecond(instant, timeZone)); + } + + /** + * Returns the number of milliseconds that have elapsed since the top of the second. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of milliseconds that + * have elapsed since the top of the second + */ + @ScriptApi + public static int millisOfSecond(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return (int) nanosToMillis(nanosOfSecond(dateTime)); + } + + /** + * Returns the number of seconds that have elapsed since the top of the minute. + * + * @param instant time + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of seconds that have + * elapsed since the top of the minute + */ + @ScriptApi + public static int secondOfMinute(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return toZonedDateTime(instant, timeZone).getSecond(); + } + + /** + * Returns the number of seconds that have elapsed since the top of the minute. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of seconds that have + * elapsed since the top of the minute + */ + @ScriptApi + public static int secondOfMinute(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return dateTime.getSecond(); + } + + /** + * Returns the number of minutes that have elapsed since the top of the hour. + * + * @param instant time + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of minutes that have + * elapsed since the top of the hour + */ + @ScriptApi + public static int minuteOfHour(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return toZonedDateTime(instant, timeZone).getMinute(); + } + + /** + * Returns the number of minutes that have elapsed since the top of the hour. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of minutes that have + * elapsed since the top of the hour + */ + @ScriptApi + public static int minuteOfHour(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return dateTime.getMinute(); + } + + /** + * Returns the number of nanoseconds that have elapsed since the top of the day. + *

    + * On days when daylight savings time events occur, results may be different from what is expected based upon the + * local time. For example, on daylight savings time change days, 9:30AM may be earlier or later in the day based + * upon if the daylight savings time adjustment is forwards or backwards. + * + * @param instant time + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of nanoseconds that + * have elapsed since the top of the day + */ + @ScriptApi + public static long nanosOfDay(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return NULL_LONG; + } + + return nanosOfDay(toZonedDateTime(instant, timeZone)); + } + + /** + * Returns the number of nanoseconds that have elapsed since the top of the day. + *

    + * On days when daylight savings time events occur, results may be different from what is expected based upon the + * local time. For example, on daylight savings time change days, 9:30AM may be earlier or later in the day based + * upon if the daylight savings time adjustment is forwards or backwards. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of nanoseconds that + * have elapsed since the top of the day + */ + @ScriptApi + public static long nanosOfDay(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return NULL_LONG; + } + + return epochNanos(dateTime) - epochNanos(atMidnight(dateTime)); + } + + /** + * Returns the number of milliseconds that have elapsed since the top of the day. + *

    + * On days when daylight savings time events occur, results may be different from what is expected based upon the + * local time. For example, on daylight savings time change days, 9:30AM may be earlier or later in the day based + * upon if the daylight savings time adjustment is forwards or backwards. + * + * @param instant time + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of milliseconds that + * have elapsed since the top of the day + */ + @ScriptApi + public static int millisOfDay(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return (int) nanosToMillis(nanosOfDay(instant, timeZone)); + } + + /** + * Returns the number of milliseconds that have elapsed since the top of the day. + *

    + * On days when daylight savings time events occur, results may be different from what is expected based upon the + * local time. For example, on daylight savings time change days, 9:30AM may be earlier or later in the day based + * upon if the daylight savings time adjustment is forwards or backwards. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of milliseconds that + * have elapsed since the top of the day + */ + @ScriptApi + public static int millisOfDay(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return (int) nanosToMillis(nanosOfDay(dateTime)); + } + + /** + * Returns the number of seconds that have elapsed since the top of the day. + *

    + * On days when daylight savings time events occur, results may be different from what is expected based upon the + * local time. For example, on daylight savings time change days, 9:30AM may be earlier or later in the day based + * upon if the daylight savings time adjustment is forwards or backwards. + * + * @param instant time + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of seconds that have + * elapsed since the top of the day + */ + @ScriptApi + public static int secondOfDay(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return (int) nanosToSeconds(nanosOfDay(instant, timeZone)); + } + + /** + * Returns the number of seconds that have elapsed since the top of the day. + *

    + * On days when daylight savings time events occur, results may be different from what is expected based upon the + * local time. For example, on daylight savings time change days, 9:30AM may be earlier or later in the day based + * upon if the daylight savings time adjustment is forwards or backwards. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of seconds that have + * elapsed since the top of the day + */ + @ScriptApi + public static int secondOfDay(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return (int) nanosToSeconds(nanosOfDay(dateTime)); + } + + /** + * Returns the number of minutes that have elapsed since the top of the day. + *

    + * On days when daylight savings time events occur, results may be different from what is expected based upon the + * local time. For example, on daylight savings time change days, 9:30AM may be earlier or later in the day based + * upon if the daylight savings time adjustment is forwards or backwards. + * + * @param instant time + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of minutes that have + * elapsed since the top of the day + */ + @ScriptApi + public static int minuteOfDay(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return secondOfDay(instant, timeZone) / 60; + } + + /** + * Returns the number of minutes that have elapsed since the top of the day. + *

    + * On days when daylight savings time events occur, results may be different from what is expected based upon the + * local time. For example, on daylight savings time change days, 9:30AM may be earlier or later in the day based + * upon if the daylight savings time adjustment is forwards or backwards. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of minutes that have + * elapsed since the top of the day + */ + @ScriptApi + public static int minuteOfDay(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return secondOfDay(dateTime) / 60; + } + + /** + * Returns the number of hours that have elapsed since the top of the day. + *

    + * On days when daylight savings time events occur, results may be different from what is expected based upon the + * local time. For example, on daylight savings time change days, 9:30AM may be earlier or later in the day based + * upon if the daylight savings time adjustment is forwards or backwards. + * + * @param instant time + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of hours that have + * elapsed since the top of the day + */ + @ScriptApi + public static int hourOfDay(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return hourOfDay(toZonedDateTime(instant, timeZone)); + } + + /** + * Returns the number of hours that have elapsed since the top of the day. + *

    + * On days when daylight savings time events occur, results may be different from what is expected based upon the + * local time. For example, on daylight savings time change days, 9:30AM may be earlier or later in the day based + * upon if the daylight savings time adjustment is forwards or backwards. + * + * @param dateTime time + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, number of hours that have + * elapsed since the top of the day + */ + @ScriptApi + public static int hourOfDay(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return minuteOfDay(dateTime) / 60; + } + + /** + * Returns a 1-based int value of the day of the week for an {@link Instant} in the specified time zone, with 1 + * being Monday and 7 being Sunday. + * + * @param instant time to find the day of the month of + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the day of the week + */ + @ScriptApi + public static int dayOfWeek(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return dayOfWeek(toZonedDateTime(instant, timeZone)); + } + + /** + * Returns a 1-based int value of the day of the week for a {@link ZonedDateTime} in the specified time zone, with 1 + * being Monday and 7 being Sunday. + * + * @param dateTime time to find the day of the month of + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the day of the week + */ + @ScriptApi + public static int dayOfWeek(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return dateTime.getDayOfWeek().getValue(); + } + + /** + * Returns a 1-based int value of the day of the month for an {@link Instant} and specified time zone. The first day + * of the month returns 1, the second day returns 2, etc. + * + * @param instant time to find the day of the month of + * @param timeZone time zone + * @return A {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the day of the month + */ + @ScriptApi + public static int dayOfMonth(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; } - abstract void update(long currentTimeMillis); + return dayOfMonth(toZonedDateTime(instant, timeZone)); } - private static class CachedCurrentDate extends CachedDate { - - private CachedCurrentDate(@NotNull final TimeZone timeZone) { - super(timeZone); + /** + * Returns a 1-based int value of the day of the month for a {@link ZonedDateTime} and specified time zone. The + * first day of the month returns 1, the second day returns 2, etc. + * + * @param dateTime time to find the day of the month of + * @return A {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the day of the month + */ + @ScriptApi + public static int dayOfMonth(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; } - @Override - void update(final long currentTimeMillis) { - value = formatDate(millisToTime(currentTimeMillis), timeZone); - valueExpirationTimeMillis = new org.joda.time.DateTime(currentTimeMillis, timeZone.getTimeZone()) - .withFieldAdded(DurationFieldType.days(), 1).withTimeAtStartOfDay().getMillis(); - } + return dateTime.getDayOfMonth(); } - private static class CachedDateKey - extends KeyedObjectKey.Basic { + /** + * Returns a 1-based int value of the day of the year (Julian date) for an {@link Instant} in the specified time + * zone. The first day of the year returns 1, the second day returns 2, etc. + * + * @param instant time to find the day of the month of + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the day of the year + */ + @ScriptApi + public static int dayOfYear(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } - @Override - public TimeZone getKey(final CACHED_DATE_TYPE cachedDate) { - return cachedDate.timeZone; + return dayOfYear(toZonedDateTime(instant, timeZone)); + } + + /** + * Returns a 1-based int value of the day of the year (Julian date) for a {@link ZonedDateTime} in the specified + * time zone. The first day of the year returns 1, the second day returns 2, etc. + * + * @param dateTime time to find the day of the month of + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the day of the year + */ + @ScriptApi + public static int dayOfYear(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; } + + return dateTime.getDayOfYear(); } - private static final KeyedObjectHashMap cachedCurrentDates = - new KeyedObjectHashMap<>(new CachedDateKey()); + /** + * Returns a 1-based int value of the month of the year (Julian date) for an {@link Instant} in the specified time + * zone. January is 1, February is 2, etc. + * + * @param instant time to find the day of the month of + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the month of the year + */ + @ScriptApi + public static int monthOfYear(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return monthOfYear(toZonedDateTime(instant, timeZone)); + } /** - * Returns a String of the current date in the specified {@link TimeZone}. + * Returns a 1-based int value of the month of the year (Julian date) for a {@link ZonedDateTime} in the specified + * time zone. January is 1, February is 2, etc. * - * @param timeZone The {@link TimeZone} to reference when evaluating the current date for "now". - * @return A String in format yyyy-MM-dd. + * @param dateTime time to find the day of the month of + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the month of the year */ - public static String currentDate(TimeZone timeZone) { - return cachedCurrentDates.putIfAbsent(timeZone, CachedCurrentDate::new).get(); + @ScriptApi + public static int monthOfYear(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return dateTime.getMonthValue(); } /** - * Converts a value of nanoseconds from Epoch to a {@link DateTime}. + * Returns the year for an {@link Instant} in the specified time zone. * - * @param nanos The long nanoseconds since Epoch value to convert. - * @return A DateTime for {@code nanos}, or {@code null} if {@code nanos} is equal to - * {@link QueryConstants#NULL_LONG NULL_LONG}. + * @param instant time to find the day of the month of + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the year */ - public static DateTime nanosToTime(long nanos) { - return nanos == NULL_LONG ? null : new DateTime(nanos); + @ScriptApi + public static int year(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return year(toZonedDateTime(instant, timeZone)); } /** - * Converts a long offset from Epoch value to a {@link DateTime}. This method uses expected date ranges to infer - * whether the passed value is in milliseconds, microseconds, or nanoseconds. Thresholds used are - * {@link TimeConstants#MICROTIME_THRESHOLD} divided by 1000 for milliseconds, as-is for microseconds, and - * multiplied by 1000 for nanoseconds. The value is tested to see if its ABS exceeds the threshold. E.g. a value - * whose ABS is greater than 1000 * {@link TimeConstants#MICROTIME_THRESHOLD} will be treated as nanoseconds. + * Returns the year for a {@link ZonedDateTime} in the specified time zone. * - * @param epoch The long Epoch offset value to convert. - * @return null, if the input is equal to {@link QueryConstants#NULL_LONG}, otherwise a {@link DateTime} based on - * the inferred conversion. + * @param dateTime time to find the day of the month of + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the year */ - @SuppressWarnings("WeakerAccess") - public static DateTime autoEpochToTime(long epoch) { - return new DateTime(autoEpochToNanos(epoch)); + @ScriptApi + public static int year(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; + } + + return dateTime.getYear(); } /** - * Converts a long offset from Epoch value to a nanoseconds as a long. This method uses expected date ranges to - * infer whether the passed value is in milliseconds, microseconds, or nanoseconds. Thresholds used are - * {@link TimeConstants#MICROTIME_THRESHOLD} divided by 1000 for milliseconds, as-is for microseconds, and - * multiplied by 1000 for nanoseconds. The value is tested to see if its ABS exceeds the threshold. E.g. a value - * whose ABS is greater than 1000 * {@link TimeConstants#MICROTIME_THRESHOLD} will be treated as nanoseconds. + * Returns the year of the century (two-digit year) for an {@link Instant} in the specified time zone. * - * @param epoch The long Epoch offset value to convert. - * @return null, if the input is equal to {@link QueryConstants#NULL_LONG}, otherwise a nanoseconds value - * corresponding to the passed in epoch value. + * @param instant time to find the day of the month of + * @param timeZone time zone + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the year of the century + * (two-digit year) */ - public static long autoEpochToNanos(final long epoch) { - if (epoch == NULL_LONG) { - return epoch; + @ScriptApi + public static int yearOfCentury(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return io.deephaven.util.QueryConstants.NULL_INT; } - final long absEpoch = Math.abs(epoch); - if (absEpoch > 1000 * TimeConstants.MICROTIME_THRESHOLD) { // Nanoseconds - return epoch; + + return year(instant, timeZone) % 100; + } + + /** + * Returns the year of the century (two-digit year) for a {@link ZonedDateTime} in the specified time zone. + * + * @param dateTime time to find the day of the month of + * @return {@link QueryConstants#NULL_INT} if either input is {@code null}; otherwise, the year of the century + * (two-digit year) + */ + @ScriptApi + public static int yearOfCentury(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return io.deephaven.util.QueryConstants.NULL_INT; } - if (absEpoch > TimeConstants.MICROTIME_THRESHOLD) { // Microseconds - return 1000 * epoch; + + return year(dateTime) % 100; + } + + /** + * Returns an {@link Instant} for the prior midnight in the specified time zone. + * + * @param instant time to compute the prior midnight for + * @param timeZone time zone + * @return {@code null} if either input is {@code null}; otherwise an {@link Instant} representing the prior + * midnight in the specified time zone + */ + @ScriptApi + @Nullable + public static Instant atMidnight(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return null; } - if (absEpoch > TimeConstants.MICROTIME_THRESHOLD / 1000) { // Milliseconds - return 1000 * 1000 * epoch; + + return toInstant(atMidnight(toZonedDateTime(instant, timeZone))); + } + + /** + * Returns a {@link ZonedDateTime} for the prior midnight in the specified time zone. + * + * @param dateTime time to compute the prior midnight for + * @return {@code null} if either input is {@code null}; otherwise a {@link ZonedDateTime} representing the prior + * midnight in the specified time zone + */ + @ScriptApi + @Nullable + public static ZonedDateTime atMidnight(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return null; } - // Seconds - return 1000 * 1000 * 1000 * epoch; + + return dateTime.toLocalDate().atStartOfDay(dateTime.getZone()); } + // endregion + + // region Binning + /** - * Returns a {@link DateTime} value based on a starting value and a {@link Period} to add to it, but with a cap max - * value which is returned in case the starting value plus period exceeds the cap. + * Returns an {@link Instant} value, which is at the starting (lower) end of a time range defined by the interval + * nanoseconds. For example, a 5*MINUTE intervalNanos value would return the instant value for the start of the + * five-minute window that contains the input instant. * - * @param original The starting {@link DateTime} value. - * @param period The {@link Period} to add to dateTime. - * @param cap A {@link DateTime} value to use as the maximum return value. - * @return a null {@link DateTime} if either original or period are null; the starting {@link DateTime} plus the - * specified period, if the result is not too large for a DateTime and does not exceed the cap value; the - * cap value if this is less than offset plus period. Throws a {@link DateTimeOverflowException - * DateTimeOverflowException} if the resultant value is more than max long nanoseconds from Epoch. + * @param instant instant for which to evaluate the start of the containing window + * @param intervalNanos size of the window in nanoseconds + * @return {@code null} if either input is {@code null}; otherwise, an {@link Instant} representing the start of the + * window */ - public static DateTime cappedTimeOffset(DateTime original, Period period, DateTime cap) { - DateTime offset = DateTimeUtils.plus(original, period); - return (offset.compareTo(cap) > 0) ? cap : offset; + @ScriptApi + @Nullable + public static Instant lowerBin(@Nullable final Instant instant, long intervalNanos) { + if (instant == null || intervalNanos == NULL_LONG) { + return null; + } + + return epochNanosToInstant(Numeric.lowerBin(epochNanos(instant), intervalNanos)); } /** - * Returns a {@link DateTime} value, which is at the starting (lower) end of a time range defined by the interval - * nanoseconds. For example, a 5*MINUTE intervalNanos value would return the date/time value for the start of the - * five minute window that contains the input date time. + * Returns a {@link ZonedDateTime} value, which is at the starting (lower) end of a time range defined by the + * interval nanoseconds. For example, a 5*MINUTE intervalNanos value would return the zoned date time value for the + * start of the five-minute window that contains the input zoned date time. * - * @param dateTime The {@link DateTime} for which to evaluate the start of the containing window. - * @param intervalNanos The size of the window in nanoseconds. - * @return Null if either input is null, otherwise a {@link DateTime} representing the start of the window. + * @param dateTime zoned date time for which to evaluate the start of the containing window + * @param intervalNanos size of the window in nanoseconds + * @return {@code null} if either input is {@code null}; otherwise, a {@link ZonedDateTime} representing the start + * of the window */ - public static DateTime lowerBin(DateTime dateTime, long intervalNanos) { + @ScriptApi + @Nullable + public static ZonedDateTime lowerBin(@Nullable final ZonedDateTime dateTime, long intervalNanos) { if (dateTime == null || intervalNanos == NULL_LONG) { return null; } - return nanosToTime(Numeric.lowerBin(dateTime.getNanos(), intervalNanos)); + return epochNanosToZonedDateTime(Numeric.lowerBin(epochNanos(dateTime), intervalNanos), dateTime.getZone()); } /** - * Returns a {@link DateTime} value, which is at the starting (lower) end of a time range defined by the interval - * nanoseconds. For example, a 5*MINUTE intervalNanos value would return the date/time value for the start of the - * five minute window that contains the input date time. + * Returns an {@link Instant} value, which is at the starting (lower) end of a time range defined by the interval + * nanoseconds. For example, a 5*MINUTE intervalNanos value would return the instant value for the start of the + * five-minute window that contains the input instant. * - * @param dateTime The {@link DateTime} for which to evaluate the start of the containing window. - * @param intervalNanos The size of the window in nanoseconds. + * @param instant instant for which to evaluate the start of the containing window + * @param intervalNanos size of the window in nanoseconds * @param offset The window start offset in nanoseconds. For example, a value of MINUTE would offset all windows by * one minute. - * @return Null if either input is null, otherwise a {@link DateTime} representing the start of the window. + * @return {@code null} if either input is {@code null}; otherwise, an {@link Instant} representing the start of the + * window + */ + @ScriptApi + @Nullable + public static Instant lowerBin(@Nullable final Instant instant, long intervalNanos, long offset) { + if (instant == null || intervalNanos == NULL_LONG || offset == NULL_LONG) { + return null; + } + + return epochNanosToInstant(Numeric.lowerBin(epochNanos(instant) - offset, intervalNanos) + offset); + } + + /** + * Returns a {@link ZonedDateTime} value, which is at the starting (lower) end of a time range defined by the + * interval nanoseconds. For example, a 5*MINUTE intervalNanos value would return the zoned date time value for the + * start of the five-minute window that contains the input zoned date time. + * + * @param dateTime zoned date time for which to evaluate the start of the containing window + * @param intervalNanos size of the window in nanoseconds * @param offset The window start offset in nanoseconds. + * For example, a value of MINUTE would offset all windows by one minute. + * @return {@code null} if either input is {@code null}; otherwise, a {@link ZonedDateTime} representing the start + * of the window */ - public static DateTime lowerBin(DateTime dateTime, long intervalNanos, long offset) { + @ScriptApi + @Nullable + public static ZonedDateTime lowerBin(@Nullable final ZonedDateTime dateTime, long intervalNanos, long offset) { if (dateTime == null || intervalNanos == NULL_LONG || offset == NULL_LONG) { return null; } - return nanosToTime(Numeric.lowerBin(dateTime.getNanos() - offset, intervalNanos) + offset); + return epochNanosToZonedDateTime(Numeric.lowerBin(epochNanos(dateTime) - offset, intervalNanos) + offset, + dateTime.getZone()); + } + + /** + * Returns an {@link Instant} value, which is at the ending (upper) end of a time range defined by the interval + * nanoseconds. For example, a 5*MINUTE intervalNanos value would return the instant value for the end of the + * five-minute window that contains the input instant. + * + * @param instant instant for which to evaluate the start of the containing window + * @param intervalNanos size of the window in nanoseconds * @return {@code null} if either input is {@code null}; + * otherwise, an {@link Instant} representing the end of the window + */ + @ScriptApi + @Nullable + public static Instant upperBin(@Nullable final Instant instant, long intervalNanos) { + if (instant == null || intervalNanos == NULL_LONG) { + return null; + } + + return epochNanosToInstant(Numeric.upperBin(epochNanos(instant), intervalNanos)); } /** - * Returns a {@link DateTime} value, which is at the ending (upper) end of a time range defined by the interval - * nanoseconds. For example, a 5*MINUTE intervalNanos value would return the date/time value for the end of the five - * minute window that contains the input date time. + * Returns a {@link ZonedDateTime} value, which is at the ending (upper) end of a time range defined by the interval + * nanoseconds. For example, a 5*MINUTE intervalNanos value would return the zoned date time value for the end of + * the five-minute window that contains the input zoned date time. * - * @param dateTime The {@link DateTime} for which to evaluate the end of the containing window. - * @param intervalNanos The size of the window in nanoseconds. - * @return Null if either input is null, otherwise a {@link DateTime} representing the end of the window. + * @param dateTime zoned date time for which to evaluate the start of the containing window + * @param intervalNanos size of the window in nanoseconds * @return {@code null} if either input is {@code null}; + * otherwise, a {@link ZonedDateTime} representing the end of the window */ - public static DateTime upperBin(DateTime dateTime, long intervalNanos) { + @ScriptApi + @Nullable + public static ZonedDateTime upperBin(@Nullable final ZonedDateTime dateTime, long intervalNanos) { if (dateTime == null || intervalNanos == NULL_LONG) { return null; } - return nanosToTime(Numeric.upperBin(dateTime.getNanos(), intervalNanos)); + return epochNanosToZonedDateTime(Numeric.upperBin(epochNanos(dateTime), intervalNanos), dateTime.getZone()); } /** - * Returns a {@link DateTime} value, which is at the ending (upper) end of a time range defined by the interval - * nanoseconds. For example, a 5*MINUTE intervalNanos value would return the date/time value for the end of the five - * minute window that contains the input date time. + * Returns an {@link Instant} value, which is at the ending (upper) end of a time range defined by the interval + * nanoseconds. For example, a 5*MINUTE intervalNanos value would return the instant value for the end of the + * five-minute window that contains the input instant. * - * @param dateTime The {@link DateTime} for which to evaluate the end of the containing window. - * @param intervalNanos The size of the window in nanoseconds. - * @param offset The window start offset in nanoseconds. For example, a value of MINUTE would offset all windows by - * one minute. - * @return Null if either input is null, otherwise a {@link DateTime} representing the end of the window. + * @param instant instant for which to evaluate the start of the containing window + * @param intervalNanos size of the window in nanoseconds * @param offset The window start offset in nanoseconds. + * For example, a value of MINUTE would offset all windows by one minute. + * @return {@code null} if either input is {@code null}; otherwise, an {@link Instant} representing the end of the + * window + */ + @ScriptApi + @Nullable + public static Instant upperBin(@Nullable final Instant instant, long intervalNanos, long offset) { + if (instant == null || intervalNanos == NULL_LONG + || offset == NULL_LONG) { + return null; + } + + return epochNanosToInstant(Numeric.upperBin(epochNanos(instant) - offset, intervalNanos) + offset); + } + + /** + * Returns a {@link ZonedDateTime} value, which is at the ending (upper) end of a time range defined by the interval + * nanoseconds. For example, a 5*MINUTE intervalNanos value would return the zoned date time value for the end of + * the five-minute window that contains the input zoned date time. + * + * @param dateTime zoned date time for which to evaluate the start of the containing window + * @param intervalNanos size of the window in nanoseconds * @param offset The window start offset in nanoseconds. + * For example, a value of MINUTE would offset all windows by one minute. + * @return {@code null} if either input is {@code null}; otherwise, a {@link ZonedDateTime} representing the end of + * the window */ - public static DateTime upperBin(DateTime dateTime, long intervalNanos, long offset) { + @ScriptApi + @Nullable + public static ZonedDateTime upperBin(@Nullable final ZonedDateTime dateTime, long intervalNanos, long offset) { if (dateTime == null || intervalNanos == NULL_LONG || offset == NULL_LONG) { return null; } - return nanosToTime(Numeric.upperBin(dateTime.getNanos() - offset, intervalNanos) + offset); + return epochNanosToZonedDateTime(Numeric.upperBin(epochNanos(dateTime) - offset, intervalNanos) + offset, + dateTime.getZone()); } + // endregion - // + can only result in flow if both positive or both negative - private static long checkOverflowPlus(final long l1, final long l2, final boolean minusOperation) { - if (l1 > 0 && l2 > 0 && Long.MAX_VALUE - l1 < l2) { - final String message = minusOperation - ? "Subtracting " + -l2 + " nanos from " + l1 + " would overflow" - : "Adding " + l2 + " nanos to " + l1 + " would overflow"; - throw new DateTimeOverflowException(message); + // region Format + + /** + * Pads a string with zeros. + * + * @param str string + * @param length desired time string length + * @return input string padded with zeros to the desired length. If the input string is longer than the desired + * length, the input string is returned. + */ + @NotNull + static String padZeros(@NotNull final String str, final int length) { + if (length <= str.length()) { + return str; } + return "0".repeat(length - str.length()) + str; + } - if (l1 < 0 && l2 < 0) { - return checkUnderflowMinus(l1, -l2, false); + /** + * Returns a nanosecond duration formatted as a "[-]PThhh:mm:ss.nnnnnnnnn" string. + * + * @param nanos nanoseconds, or {@code null} if the input is {@link QueryConstants#NULL_LONG} + * @return the nanosecond duration formatted as a "[-]PThhh:mm:ss.nnnnnnnnn" string + */ + @ScriptApi + @Nullable + public static String formatDurationNanos(long nanos) { + if (nanos == NULL_LONG) { + return null; + } + + StringBuilder buf = new StringBuilder(25); + + if (nanos < 0) { + buf.append('-'); + nanos = -nanos; + } + + buf.append("PT"); + + int hours = (int) (nanos / 3600000000000L); + + nanos %= 3600000000000L; + + int minutes = (int) (nanos / 60000000000L); + + nanos %= 60000000000L; + + int seconds = (int) (nanos / 1000000000L); + + nanos %= 1000000000L; + + buf.append(hours).append(':').append(padZeros(String.valueOf(minutes), 2)).append(':') + .append(padZeros(String.valueOf(seconds), 2)); + + if (nanos != 0) { + buf.append('.').append(padZeros(String.valueOf(nanos), 9)); + } + + return buf.toString(); + } + + /** + * Returns an {@link Instant} formatted as a "yyyy-MM-ddThh:mm:ss.SSSSSSSSS TZ" string. + * + * @param instant time to format as a string + * @param timeZone time zone to use when formatting the string. + * @return {@code null} if either input is {@code null}; otherwise, the time formatted as a + * "yyyy-MM-ddThh:mm:ss.nnnnnnnnn TZ" string + */ + @ScriptApi + @Nullable + public static String formatDateTime(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return null; + } + + return formatDateTime(toZonedDateTime(instant, timeZone)); + } + + /** + * Returns a {@link ZonedDateTime} formatted as a "yyyy-MM-ddThh:mm:ss.SSSSSSSSS TZ" string. + * + * @param dateTime time to format as a string + * @return {@code null} if either input is {@code null}; otherwise, the time formatted as a + * "yyyy-MM-ddThh:mm:ss.nnnnnnnnn TZ" string + */ + @ScriptApi + @Nullable + public static String formatDateTime(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return null; + } + + final String timeZone = TimeZoneAliases.zoneName(dateTime.getZone()); + final String ldt = ISO_LOCAL_DATE_TIME.format(dateTime); + final StringBuilder sb = new StringBuilder(); + + sb.append(ldt); + + int pad = 29 - ldt.length(); + + if (ldt.length() == 19) { + sb.append("."); + pad--; + } + + return sb.append("0".repeat(Math.max(0, pad))).append(" ").append(timeZone).toString(); + } + + /** + * Returns an {@link Instant} formatted as a "yyyy-MM-dd" string. + * + * @param instant time to format as a string + * @param timeZone time zone to use when formatting the string. + * @return {@code null} if either input is {@code null}; otherwise, the time formatted as a "yyyy-MM-dd" string + */ + @ScriptApi + @Nullable + public static String formatDate(@Nullable final Instant instant, @Nullable final ZoneId timeZone) { + if (instant == null || timeZone == null) { + return null; + } + + return formatDate(toZonedDateTime(instant, timeZone)); + } + + /** + * Returns a {@link ZonedDateTime} formatted as a "yyyy-MM-dd" string. + * + * @param dateTime time to format as a string + * @return {@code null} if either input is {@code null}; otherwise, the time formatted as a "yyyy-MM-dd" string + */ + @ScriptApi + @Nullable + public static String formatDate(@Nullable final ZonedDateTime dateTime) { + if (dateTime == null) { + return null; + } + + return ISO_LOCAL_DATE.format(dateTime); + } + + // endregion + + // region Parse + + /** + * Exception type thrown when date time string representations can not be parsed. + */ + public static class DateTimeParseException extends RuntimeException { + private DateTimeParseException(String msg) { + super(msg); + } + + private DateTimeParseException(String msg, Exception ex) { + super(msg, ex); + } + } + + /** + * Parses the string argument as a time zone. + * + * @param s string to be converted + * @return a {@link ZoneId} represented by the input string + * @throws DateTimeParseException if the string cannot be converted + * @see ZoneId + * @see TimeZoneAliases + */ + @ScriptApi + @NotNull + public static ZoneId parseTimeZone(@NotNull final String s) { + // noinspection ConstantConditions + if (s == null) { + throw new DateTimeParseException("Cannot parse time zone (null): " + s); } - return l1 + l2; + try { + return TimeZoneAliases.zoneId(s); + } catch (Exception ex) { + throw new DateTimeParseException("Cannot parse time zone: " + s); + } } - // - can only result in flow if one is positive and one is negative - private static long checkUnderflowMinus(final long l1, final long l2, final boolean minusOperation) { - if (l1 < 0 && l2 > 0 && Long.MIN_VALUE + l2 > -l1) { - final String message = minusOperation - ? "Subtracting " + l2 + " nanos from " + l1 + " would underflow" - : "Adding " + -l2 + " nanos to " + l1 + " would underflow"; - throw new DateTimeOverflowException(message); + /** + * Parses the string argument as a time zone. + * + * @param s string to be converted + * @return a {@link ZoneId} represented by the input string, or {@code null} if the string can not be parsed + * @see ZoneId + * @see TimeZoneAliases + */ + @ScriptApi + @Nullable + public static ZoneId parseTimeZoneQuiet(@Nullable final String s) { + if (s == null || s.length() <= 1) { + return null; } - if (l1 > 0 && l2 < 0) { - return checkOverflowPlus(l1, -l2, true); + try { + return parseTimeZone(s); + } catch (Exception ex) { + return null; } - - return l1 - l2; } /** - * Converts an expression, replacing DateTime and Period literals with references to constant DateTime/Period - * instances. - * - * @param formula The formula to convert. - * @return A {@link Result} object, which includes the converted formula string, a string of instance variable - * declarations, and a map describing the names and types of these instance variables. + * Parses the string argument as a time duration in nanoseconds. + *

    + * Time duration strings can be formatted as {@code [-]PT[-]hh:mm:[ss.nnnnnnnnn]} or as a duration string formatted + * as {@code [-]PnDTnHnMn.nS}. * - * @throws Exception If any error occurs or a literal value cannot be parsed. + * @param s string to be converted + * @return the number of nanoseconds represented by the string + * @throws DateTimeParseException if the string cannot be parsed + * @see #parseDuration(String) + * @see #parseDurationQuiet(String) */ - // TODO: This should probably be handled in LanguageParser.accept(CharLiteralExpr, StringBuilder). - public static Result convertExpression(String formula) throws Exception { // TODO: Why throw Exception? - final StringBuilder instanceVariablesString = new StringBuilder(); - final HashMap> newVariables = new HashMap<>(); + @ScriptApi + public static long parseDurationNanos(@NotNull String s) { + // noinspection ConstantConditions + if (s == null) { + throw new DateTimeParseException("Cannot parse time: " + s); + } - final StringBuilder convertedFormula = new StringBuilder(); + try { - int localDateIndex = 0; - int dateTimeIndex = 0; - int timeIndex = 0; - int periodIndex = 0; + final Matcher tdMatcher = TIME_DURATION_PATTERN.matcher(s); + if (tdMatcher.matches()) { - final Matcher matcher = Pattern.compile("'[^']*'").matcher(formula); + final String sign1Str = tdMatcher.group("sign1"); + final String sign2Str = tdMatcher.group("sign2"); + final String hourStr = tdMatcher.group("hour"); + final String minuteStr = tdMatcher.group("minute"); + final String secondStr = tdMatcher.group("second"); + final String nanosStr = tdMatcher.group("nanos"); - while (matcher.find()) { - String s = formula.substring(matcher.start() + 1, matcher.end() - 1); + long sign1 = 0; - if (s.length() <= 1) { - // leave chars and also bad empty ones alone - continue; - } + if (sign1Str == null || sign1Str.equals("") || sign1Str.equals("+")) { + sign1 = 1; + } else if (sign1Str.equals("-")) { + sign1 = -1; + } else { + throw new RuntimeException("Unsupported sign: '" + sign1 + "'"); + } - if (convertDateTimeQuiet(s) != null) { - matcher.appendReplacement(convertedFormula, "_date" + dateTimeIndex); - instanceVariablesString.append(" private DateTime _date").append(dateTimeIndex) - .append("=DateTimeUtils.convertDateTime(\"") - .append(formula, matcher.start() + 1, matcher.end() - 1).append("\");\n"); - newVariables.put("_date" + dateTimeIndex, DateTime.class); - - dateTimeIndex++; - } else if (convertDateQuiet(s) != null) { - matcher.appendReplacement(convertedFormula, "_localDate" + localDateIndex); - instanceVariablesString.append(" private java.time.LocalDate _localDate").append(localDateIndex) - .append("=DateTimeUtils.convertDate(\"").append(formula, matcher.start() + 1, matcher.end() - 1) - .append("\");\n"); - newVariables.put("_localDate" + localDateIndex, LocalDate.class); - localDateIndex++; - } else if (convertTimeQuiet(s) != NULL_LONG) { - matcher.appendReplacement(convertedFormula, "_time" + timeIndex); - instanceVariablesString.append(" private long _time").append(timeIndex) - .append("=DateTimeUtils.convertTime(\"").append(formula, matcher.start() + 1, matcher.end() - 1) - .append("\");\n"); - newVariables.put("_time" + timeIndex, long.class); - - timeIndex++; - } else if (convertPeriodQuiet(s) != null) { - matcher.appendReplacement(convertedFormula, "_period" + periodIndex); - instanceVariablesString.append(" private Period _period").append(periodIndex) - .append("=DateTimeUtils.convertPeriod(\"") - .append(formula, matcher.start() + 1, matcher.end() - 1) - .append("\");\n"); - newVariables.put("_period" + periodIndex, Period.class); - - periodIndex++; - } else if (convertLocalTimeQuiet(s) != null) { - matcher.appendReplacement(convertedFormula, "_localTime" + timeIndex); - instanceVariablesString.append(" private java.time.LocalTime _localTime").append(timeIndex) - .append("=DateTimeUtils.convertLocalTime(\"") - .append(formula, matcher.start() + 1, matcher.end() - 1).append("\");\n"); - newVariables.put("_localTime" + timeIndex, LocalTime.class); - timeIndex++; - } else { - throw new Exception("Cannot parse datetime/time/period : " + s); - } - } + long sign2 = 0; - matcher.appendTail(convertedFormula); + if (sign2Str == null || sign2Str.equals("") || sign2Str.equals("+")) { + sign2 = 1; + } else if (sign2Str.equals("-")) { + sign2 = -1; + } else { + throw new RuntimeException("Unsupported sign: '" + sign2 + "'"); + } - return new Result(convertedFormula.toString(), instanceVariablesString.toString(), newVariables); - } + if (hourStr == null) { + throw new RuntimeException("Missing hour value"); + } - /** - * Converts a String date/time to nanoseconds from Epoch or a nanoseconds period. Three patterns are supported: - *

    - * yyyy-MM-ddThh:mm:ss[.nnnnnnnnn] TZ for date/time values - *

    - *

    - * hh:mm:ss[.nnnnnnnnn] for time values - *

    - *

    - * Period Strings in the form of numbertype, e.g. 1W for one week, and Tnumbertype for times, e.g. T1M for one - * minute - *

    - * - * @param formula The String to be evaluated and converted. Optionally, but preferred, enclosed in straight single - * ticks. - * @return A long value representing an Epoch offset in nanoseconds for a time or date/time, or a duration in - * nanoseconds for a period. Throws {@link DateTimeOverflowException} if the resultant value would be longer - * than max long, or {@link IllegalArgumentException} if expression cannot be evaluated. - */ - public static long expressionToNanos(String formula) { - if (!formula.startsWith("'")) { - formula = '\'' + formula + '\''; - } - Matcher matcher = Pattern.compile("'[^'][^']+'").matcher(formula); - - boolean result = matcher.find(); - - String s = formula.substring(matcher.start() + 1, matcher.end() - 1); - final DateTime dateTime = convertDateTimeQuiet(s); - if (dateTime != null) { - return dateTime.getNanos(); - } - long time = convertTimeQuiet(s); - if (time != NULL_LONG) { - return time; - } - final Period period = convertPeriodQuiet(s); - if (period != null) { - try { - return StrictMath.multiplyExact(period.getJodaPeriod().toStandardDuration().getMillis(), - period.isPositive() ? 1_000_000L : -1_000_000L); - } catch (ArithmeticException ex) { - throw new DateTimeOverflowException("Period length in nanoseconds exceeds Long.MAX_VALUE : " + s, ex); + long rst = Long.parseLong(hourStr) * HOUR; + + if (minuteStr == null) { + throw new RuntimeException("Missing minute value"); + } + + rst += Long.parseLong(minuteStr) * MINUTE; + + if (secondStr != null) { + rst += Long.parseLong(secondStr.substring(1)) * SECOND; + } + + if (nanosStr != null) { + final String sn = nanosStr.substring(1) + "0".repeat(10 - nanosStr.length()); + rst += Long.parseLong(sn); + } + + return sign1 * sign2 * rst; } + + return parseDuration(s).toNanos(); + } catch (Exception e) { + throw new DateTimeParseException("Cannot parse time: " + s, e); } - throw new IllegalArgumentException("Cannot parse datetime/time/period : " + s); } /** - * Attempt to convert the given string to a LocalDate. This should not accept dates with times, as we want - * those to be interpreted as DateTime values. The ideal date format is YYYY-MM-DD since it's the least ambiguous, - * but this method also parses slash-delimited dates according to the system "date style". + * Parses the string argument as a time duration in nanoseconds. + *

    + * Time duration strings can be formatted as {@code [-]PT[-]hh:mm:[ss.nnnnnnnnn]} or as a duration string formatted + * as {@code [-]PnDTnHnMn.nS}. * - * @param s the date string to convert - * @throws RuntimeException if the date cannot be converted, otherwise returns a {@link LocalDate} + * @param s string to be converted + * @return the number of nanoseconds represented by the string, or {@link QueryConstants#NULL_LONG} if the string + * cannot be parsed + * @see #parseDuration(String) + * @see #parseDurationQuiet(String) */ - @SuppressWarnings("WeakerAccess") - public static LocalDate convertDate(String s) { - final LocalDate ret = convertDateQuiet(s); - - if (ret == null) { - throw new RuntimeException("Cannot parse date : " + s); + @ScriptApi + public static long parseDurationNanosQuiet(@Nullable String s) { + if (s == null || s.length() <= 1) { + return NULL_LONG; } - return ret; + try { + return parseDurationNanos(s); + } catch (Exception e) { + return NULL_LONG; + } } /** - * Converts a {@link DateTime} String from a few specific zoned formats to a {@link DateTime}. - * + * Parses the string argument as a period, which is a unit of time in terms of calendar time (days, weeks, months, + * years, etc.). *

    - * Supports {@link DateTimeFormatter#ISO_INSTANT} format and others. - * - * @param s String to be converted, usually in the form yyyy-MM-ddThh:mm:ss and with optional sub-seconds after an - * optional decimal point, followed by a mandatory time zone character code - * @throws RuntimeException if the String cannot be converted, otherwise a {@link DateTime} from the parsed String. + * Period strings are formatted according to the ISO-8601 duration format as {@code PnYnMnD} and {@code PnW}, where + * the coefficients can be positive or negative. Zero coefficients can be omitted. Optionally, the string can begin + * with a negative sign. + *

    + * Examples: + * + *

    +     *   "P2Y"             -- Period.ofYears(2)
    +     *   "P3M"             -- Period.ofMonths(3)
    +     *   "P4W"             -- Period.ofWeeks(4)
    +     *   "P5D"             -- Period.ofDays(5)
    +     *   "P1Y2M3D"         -- Period.of(1, 2, 3)
    +     *   "P1Y2M3W4D"       -- Period.of(1, 2, 25)
    +     *   "P-1Y2M"          -- Period.of(-1, 2, 0)
    +     *   "-P1Y2M"          -- Period.of(-1, -2, 0)
    +     * 
    + * + * @param s period string + * @return the period + * @throws DateTimeParseException if the string cannot be parsed + * @see Period#parse(CharSequence) */ - public static DateTime convertDateTime(String s) { - DateTime ret = convertDateTimeQuiet(s); - - if (ret == null) { - throw new RuntimeException("Cannot parse datetime : " + s); + @ScriptApi + @NotNull + public static Period parsePeriod(@NotNull final String s) { + // noinspection ConstantConditions + if (s == null) { + throw new DateTimeParseException("Cannot parse period (null): " + s); } - return ret; + try { + return Period.parse(s); + } catch (Exception ex) { + throw new DateTimeParseException("Cannot parse period: " + s, ex); + } } /** - * Converts a String time to nanoseconds from Epoch. The format for the String is: + * Parses the string argument as a period, which is a unit of time in terms of calendar time (days, weeks, months, + * years, etc.). *

    - * hh:mm:ss[.nnnnnnnnn]. - * - * @param s The String to be evaluated and converted. - * @return A long value representing an Epoch offset in nanoseconds. Throws {@link RuntimeException} if the String - * cannot be parsed. + * Period strings are formatted according to the ISO-8601 duration format as {@code PnYnMnD} and {@code PnW}, where + * the coefficients can be positive or negative. Zero coefficients can be omitted. Optionally, the string can begin + * with a negative sign. + *

    + * Examples: + * + *

    +     *   "P2Y"             -- Period.ofYears(2)
    +     *   "P3M"             -- Period.ofMonths(3)
    +     *   "P4W"             -- Period.ofWeeks(4)
    +     *   "P5D"             -- Period.ofDays(5)
    +     *   "P1Y2M3D"         -- Period.of(1, 2, 3)
    +     *   "P1Y2M3W4D"       -- Period.of(1, 2, 25)
    +     *   "P-1Y2M"          -- Period.of(-1, 2, 0)
    +     *   "-P1Y2M"          -- Period.of(-1, -2, 0)
    +     * 
    + * + * @param s period string + * @return the period, or {@code null} if the string can not be parsed + * @see Period#parse(CharSequence) */ - public static long convertTime(String s) { - long ret = convertTimeQuiet(s); - - if (ret == NULL_LONG) { - throw new RuntimeException("Cannot parse time : " + s); + @ScriptApi + @Nullable + public static Period parsePeriodQuiet(@Nullable final String s) { + if (s == null || s.length() <= 1) { + return null; } - return ret; + try { + return parsePeriod(s); + } catch (Exception e) { + return null; + } } /** - * Converts a String into a {@link Period} object. - * - * @param s The String to convert in the form of numbertype, e.g. 1W for one week, and Tnumbertype for times, e.g. - * T1M for one minute. - * @throws RuntimeException if the String cannot be parsed, otherwise a {@link Period} object. + * Parses the string argument as a duration, which is a unit of time in terms of clock time (24-hour days, hours, + * minutes, seconds, and nanoseconds). + *

    + * Duration strings are formatted according to the ISO-8601 duration format as {@code [-]PnDTnHnMn.nS}, where the + * coefficients can be positive or negative. Zero coefficients can be omitted. Optionally, the string can begin with + * a negative sign. + *

    + * Examples: + * + *

    +     *    "PT20.345S" -- parses as "20.345 seconds"
    +     *    "PT15M"     -- parses as "15 minutes" (where a minute is 60 seconds)
    +     *    "PT10H"     -- parses as "10 hours" (where an hour is 3600 seconds)
    +     *    "P2D"       -- parses as "2 days" (where a day is 24 hours or 86400 seconds)
    +     *    "P2DT3H4M"  -- parses as "2 days, 3 hours and 4 minutes"
    +     *    "PT-6H3M"    -- parses as "-6 hours and +3 minutes"
    +     *    "-PT6H3M"    -- parses as "-6 hours and -3 minutes"
    +     *    "-PT-6H+3M"  -- parses as "+6 hours and -3 minutes"
    +     * 
    + * + * @param s duration string + * @return the duration + * @throws DateTimeParseException if the string cannot be parsed + * @see Duration#parse(CharSequence) */ - @SuppressWarnings("WeakerAccess") - public static Period convertPeriod(String s) { - Period ret = convertPeriodQuiet(s); - - if (ret == null) { - throw new RuntimeException("Cannot parse period : " + s); + @ScriptApi + @NotNull + public static Duration parseDuration(@NotNull final String s) { + // noinspection ConstantConditions + if (s == null) { + throw new DateTimeParseException("Cannot parse duration (null): " + s); } - return ret; - } - - private static int extractTwoDigitNum(String s, int startIndex) { - return (s.charAt(startIndex) - '0') * 10 + (s.charAt(startIndex + 1) - '0'); - } - - private static int extractThreeDigitNum(String s, int startIndex) { - return (s.charAt(startIndex) - '0') * 100 + (s.charAt(startIndex + 1) - '0') * 10 - + (s.charAt(startIndex + 2) - '0'); + try { + return Duration.parse(s); + } catch (Exception ex) { + throw new DateTimeParseException("Cannot parse duration: " + s, ex); + } } - private static int extractFourDigitNum(String s, int startIndex) { - return (s.charAt(startIndex) - '0') * 1000 + (s.charAt(startIndex + 1) - '0') * 100 - + (s.charAt(startIndex + 2) - '0') * 10 + (s.charAt(startIndex + 3) - '0'); - } + /** + * Parses the string argument as a duration, which is a unit of time in terms of clock time (24-hour days, hours, + * minutes, seconds, and nanoseconds). + *

    + * Duration strings are formatted according to the ISO-8601 duration format as {@code [-]PnDTnHnMn.nS}, where the + * coefficients can be positive or negative. Zero coefficients can be omitted. Optionally, the string can begin with + * a negative sign. + *

    + * Examples: + * + *

    +     *    "PT20.345S" -- parses as "20.345 seconds"
    +     *    "PT15M"     -- parses as "15 minutes" (where a minute is 60 seconds)
    +     *    "PT10H"     -- parses as "10 hours" (where an hour is 3600 seconds)
    +     *    "P2D"       -- parses as "2 days" (where a day is 24 hours or 86400 seconds)
    +     *    "P2DT3H4M"  -- parses as "2 days, 3 hours and 4 minutes"
    +     *    "PT-6H3M"    -- parses as "-6 hours and +3 minutes"
    +     *    "-PT6H3M"    -- parses as "-6 hours and -3 minutes"
    +     *    "-PT-6H+3M"  -- parses as "+6 hours and -3 minutes"
    +     * 
    + * + * @param s duration string + * @return the duration, or {@code null} if the string can not be parsed + * @see Duration#parse(CharSequence) + */ + @ScriptApi + @Nullable + public static Duration parseDurationQuiet(@Nullable final String s) { + if (s == null || s.length() <= 1) { + return null; + } - private static int extractSixDigitNum(String s, int startIndex) { - int result = 0; - for (int i = startIndex; i < startIndex + 6; i++) { - result = result * 10 + s.charAt(i) - '0'; + try { + return parseDuration(s); + } catch (Exception e) { + return null; } - return result; } /** - * Converts a time String in the form hh:mm:ss[.nnnnnnnnn] to a {@link LocalTime}. + * Parses the string argument as nanoseconds since the Epoch. + *

    + * Date time strings are formatted according to the ISO 8601 date time format + * {@code yyyy-MM-ddThh:mm:ss[.SSSSSSSSS] TZ} and others. Additionally, date time strings can be integer values that + * are nanoseconds, milliseconds, or seconds from the Epoch. Expected date ranges are used to infer the units. * - * @param s The String to convert. - * @return null if the String cannot be parsed, otherwise a {@link LocalTime}. + * @param s date time string + * @return a long number of nanoseconds since the Epoch, matching the instant represented by the input string + * @throws DateTimeParseException if the string cannot be parsed + * @see #epochAutoToEpochNanos + * @see #parseInstant(String) + * @see DateTimeFormatter#ISO_INSTANT */ - public static LocalTime convertLocalTimeQuiet(String s) { + @ScriptApi + public static long parseEpochNanos(@NotNull final String s) { try { - // private static final Pattern LOCAL_TIME_PATTERN = - // Pattern.compile("([0-9][0-9]):?([0-9][0-9])?:?([0-9][0-9])?(\\.([0-9]{1,9}))?"); - final Matcher matcher = LOCAL_TIME_PATTERN.matcher(s); - if (matcher.matches()) { - final int hour = Integer.parseInt(matcher.group(1)); // hour is the only required field - final int minute = matcher.group(2) != null ? Integer.parseInt(matcher.group(2)) : 0; - final int second = matcher.group(3) != null ? Integer.parseInt(matcher.group(3)) : 0; - final int nanos; - if (matcher.group(4) != null) { - final String fractionStr = matcher.group(5); // group 5 excludes the decimal pt - nanos = Integer.parseInt(fractionStr) * (int) Math.pow(10, 9 - fractionStr.length()); - } else { - nanos = 0; - } - return LocalTime.of(hour, minute, second, nanos); + if (LONG_PATTERN.matcher(s).matches()) { + return epochAutoToEpochNanos(Long.parseLong(s)); } - } catch (Exception ex) { - return null; + + return epochNanos(parseZonedDateTime(s)); + } catch (Exception e) { + throw new DateTimeParseException("Cannot parse epoch nanos: " + s, e); } - return null; } /** - * Attempt to convert the given string to a LocalDate. This should not accept dates with times, as we want - * those to be interpreted as DateTime values. The ideal date format is YYYY-MM-DD since it's the least ambiguous. + * Parses the string argument as a nanoseconds since the Epoch. + *

    + * Date time strings are formatted according to the ISO 8601 date time format + * {@code yyyy-MM-ddThh:mm:ss[.SSSSSSSSS] TZ} and others. Additionally, date time strings can be integer values that + * are nanoseconds, milliseconds, or seconds from the Epoch. Expected date ranges are used to infer the units. * - * @param s the date string to convert - * @return the LocalDate formatted using the default date style. + * @param s date time string + * @return a long number of nanoseconds since the Epoch, matching the instant represented by the input string, or + * {@code null} if the string can not be parsed + * @see DateTimeFormatter#ISO_INSTANT */ - public static LocalDate convertDateQuiet(String s) { - return convertDateQuiet(s, DATE_STYLE); - } + @ScriptApi + public static long parseEpochNanosQuiet(@Nullable final String s) { + if (s == null || s.length() <= 1) { + return NULL_LONG; + } - private static LocalDate matchStdDate(Pattern pattern, String s) { - final Matcher matcher = pattern.matcher(s); - if (matcher.matches()) { - final int year = Integer.parseInt(matcher.group("year")); - final int month = Integer.parseInt(matcher.group("month")); - final int dayOfMonth = Integer.parseInt(matcher.group("day")); - return LocalDate.of(year, month, dayOfMonth); + try { + return parseEpochNanos(s); + } catch (Exception e) { + return NULL_LONG; } - return null; } /** - * Attempt to convert the given string to a LocalDate. This should not accept dates with times, as we want - * those to be interpreted as DateTime values. The ideal date format is YYYY-MM-DD since it's the least ambiguous. + * Parses the string argument as an {@link Instant}. + *

    + * Date time strings are formatted according to the ISO 8601 date time format + * {@code yyyy-MM-ddThh:mm:ss[.SSSSSSSSS] TZ} and others. Additionally, date time strings can be integer values that + * are nanoseconds, milliseconds, or seconds from the Epoch. Expected date ranges are used to infer the units. * - * @param s the date string - * @param dateStyle indicates how to interpret slash-delimited dates - * @return the LocalDate + * @param s date time string + * @return an {@link Instant} represented by the input string + * @throws DateTimeParseException if the string cannot be parsed + * @see DateTimeFormatter#ISO_INSTANT */ - public static LocalDate convertDateQuiet(String s, DateStyle dateStyle) { + @ScriptApi + @NotNull + public static Instant parseInstant(@NotNull final String s) { try { - LocalDate localDate = matchStdDate(STD_DATE_PATTERN, s); - if (localDate != null) { - return localDate; - } - localDate = matchStdDate(STD_DATE_PATTERN2, s); - if (localDate != null) { - return localDate; + if (LONG_PATTERN.matcher(s).matches()) { + final long nanos = epochAutoToEpochNanos(Long.parseLong(s)); + // noinspection ConstantConditions + return epochNanosToInstant(nanos); } - // see if we can match one of the slash-delimited styles, the interpretation of which requires knowing the - // system date style setting (for example Europeans often write dates as d/m/y). - final Matcher slashMatcher = SLASH_DATE_PATTERN.matcher(s); - if (slashMatcher.matches()) { - final String yearGroup, monthGroup, dayGroup, yearFinal2DigitsGroup; - // note we have nested groups which allow us to detect 2 vs 4 digit year - // (groups 2 and 5 are the optional last 2 digits) - switch (dateStyle) { - case MDY: - dayGroup = "part2"; - monthGroup = "part1"; - yearGroup = "part3"; - yearFinal2DigitsGroup = "part3sub2"; - break; - case DMY: - dayGroup = "part1"; - monthGroup = "part2"; - yearGroup = "part3"; - yearFinal2DigitsGroup = "part3sub2"; - break; - case YMD: - dayGroup = "part3"; - monthGroup = "part2"; - yearGroup = "part1"; - yearFinal2DigitsGroup = "part1sub2"; - break; - default: - throw new IllegalStateException("Unsupported DateStyle: " + DATE_STYLE); - } - final int year; - // for 2 digit years, lean on java's standard interpretation - if (slashMatcher.group(yearFinal2DigitsGroup) == null) { - year = Year.parse(slashMatcher.group(yearGroup), TWO_DIGIT_YR_FORMAT).getValue(); - } else { - year = Integer.parseInt(slashMatcher.group(yearGroup)); - } - final int month = Integer.parseInt(slashMatcher.group(monthGroup)); - final int dayOfMonth = Integer.parseInt(slashMatcher.group(dayGroup)); - return LocalDate.of(year, month, dayOfMonth); - } - } catch (Exception ex) { - return null; + return parseZonedDateTime(s).toInstant(); + } catch (Exception e) { + throw new DateTimeParseException("Cannot parse instant: " + s, e); } - return null; } /** - * Converts a {@link DateTime} String from a few specific zoned formats to a {@link DateTime}. - * + * Parses the string argument as an {@link Instant}. *

    - * Supports {@link DateTimeFormatter#ISO_INSTANT} format and others. + * Date time strings are formatted according to the ISO 8601 date time format + * {@code yyyy-MM-ddThh:mm:ss[.SSSSSSSSS] TZ} and others. Additionally, date time strings can be integer values that + * are nanoseconds, milliseconds, or seconds from the Epoch. Expected date ranges are used to infer the units. * - * @param s String to be converted, usually in the form yyyy-MM-ddThh:mm:ss and with optional sub-seconds after an - * optional decimal point, followed by a mandatory time zone character code - * @return A DateTime from the parsed String, or null if the format is not recognized or an exception occurs + * @param s date time string + * @return an {@link Instant} represented by the input string, or {@code null} if the string can not be parsed + * @see DateTimeFormatter#ISO_INSTANT */ - public static DateTime convertDateTimeQuiet(final String s) { - try { - return DateTime.of(Instant.parse(s)); - } catch (DateTimeParseException e) { - // ignore + @ScriptApi + @Nullable + public static Instant parseInstantQuiet(@Nullable final String s) { + if (s == null || s.length() <= 1) { + return null; } - try { - TimeZone timeZone = null; - String dateTimeString = null; - if (DATETIME_PATTERN.matcher(s).matches()) { - int spaceIndex = s.indexOf(' '); - if (spaceIndex == -1) { // no timezone - return null; - } - timeZone = TimeZone.valueOf("TZ_" + s.substring(spaceIndex + 1).trim().toUpperCase()); - dateTimeString = s.substring(0, spaceIndex); - } - if (timeZone == null) { - return null; - } - int decimalIndex = dateTimeString.indexOf('.'); - if (decimalIndex == -1) { - return new DateTime( - millisToNanos(new org.joda.time.DateTime(dateTimeString, timeZone.getTimeZone()).getMillis())); - } else { - final long subsecondNanos = parseNanos(dateTimeString.substring(decimalIndex + 1)); - - return new DateTime(millisToNanos(new org.joda.time.DateTime(dateTimeString.substring(0, decimalIndex), - timeZone.getTimeZone()).getMillis()) + subsecondNanos); - } + try { + return parseInstant(s); } catch (Exception e) { - // shouldn't get here too often, but somehow something snuck through. we'll just return null below... + return null; } - - return null; } /** - * Converts a String of digits of any length to a nanoseconds long value. Will ignore anything longer than 9 digits, - * and will throw a NumberFormatException if any non-numeric character is found. Strings shorter than 9 digits will - * be interpreted as sub-second values to the right of the decimal point. + * Parses the string argument as a {@link ZonedDateTime}. + *

    + * Date time strings are formatted according to the ISO 8601 date time format + * {@code yyyy-MM-ddThh:mm:ss[.SSSSSSSSS] TZ} and others. * - * @param input The String to convert - * @return long value in nanoseconds + * @param s date time string + * @return a {@link ZonedDateTime} represented by the input string + * @throws DateTimeParseException if the string cannot be parsed + * @see DateTimeFormatter#ISO_INSTANT */ - private static long parseNanos(@NotNull final String input) { - long result = 0; - for (int i = 0; i < 9; i++) { - result *= 10; - final int digit; - if (i >= input.length()) { - digit = 0; - } else { - digit = Character.digit(input.charAt(i), 10); - if (digit < 0) { - throw new NumberFormatException("Invalid character for nanoseconds conversion: " + input.charAt(i)); - } - } - result += digit; + @ScriptApi + @NotNull + public static ZonedDateTime parseZonedDateTime(@NotNull final String s) { + // noinspection ConstantConditions + if (s == null) { + throw new DateTimeParseException("Cannot parse datetime (null): " + s); } - return result; - } - /** - * Converts a time String in the form hh:mm:ss[.nnnnnnnnn] to a long nanoseconds offset from Epoch. - * - * @param s The String to convert. - * @return {@link QueryConstants#NULL_LONG} if the String cannot be parsed, otherwise long nanoseconds offset from - * Epoch. - */ - public static long convertTimeQuiet(String s) { try { - if (TIME_AND_DURATION_PATTERN.matcher(s).matches()) { - long multiplier = 1; - long dayNanos = 0; - long subsecondNanos = 0; - - if (s.charAt(0) == '-') { - multiplier = -1; - - s = s.substring(1); - } - - int tIndex = s.indexOf('T'); - - if (tIndex != -1) { - dayNanos = 86400000000000L * Integer.parseInt(s.substring(0, tIndex)); + return ZonedDateTime.parse(s); + } catch (java.time.format.DateTimeParseException e) { + // ignore + } - s = s.substring(tIndex + 1); + try { + final Matcher dtzMatcher = DATE_TZ_PATTERN.matcher(s); + if (dtzMatcher.matches()) { + final String dateString = dtzMatcher.group("date"); + final String timeZoneString = dtzMatcher.group("timezone"); + final ZoneId timeZone = parseTimeZoneQuiet(timeZoneString); + + if (timeZone == null) { + throw new RuntimeException("No matching time zone: '" + timeZoneString + "'"); } - int decimalIndex = s.indexOf('.'); - - if (decimalIndex != -1) { - subsecondNanos = parseNanos(s.substring(decimalIndex + 1)); + return LocalDate.parse(dateString, FORMATTER_ISO_LOCAL_DATE).atTime(LocalTime.of(0, 0)) + .atZone(timeZone); + } - s = s.substring(0, decimalIndex); - } + int spaceIndex = s.indexOf(' '); + if (spaceIndex == -1) { + throw new RuntimeException("No time zone provided"); + } - String[] tokens = s.split(":"); + final String dateTimeString = s.substring(0, spaceIndex); + final String timeZoneString = s.substring(spaceIndex + 1); + final ZoneId timeZone = parseTimeZoneQuiet(timeZoneString); - if (tokens.length == 2) { // hh:mm - return multiplier - * (1000000000L * (3600 * Integer.parseInt(tokens[0]) + 60 * Integer.parseInt(tokens[1])) - + dayNanos + subsecondNanos); - } else if (tokens.length == 3) { // hh:mm:ss - return multiplier - * (1000000000L * (3600 * Integer.parseInt(tokens[0]) + 60 * Integer.parseInt(tokens[1]) - + Integer.parseInt(tokens[2])) + dayNanos + subsecondNanos); - } + if (timeZone == null) { + throw new RuntimeException("No matching time zone: " + timeZoneString); } - } catch (Exception e) { - // shouldn't get here too often, but somehow something snuck through. we'll just return null below... - } - return NULL_LONG; + return LocalDateTime.parse(dateTimeString, FORMATTER_ISO_LOCAL_DATE_TIME).atZone(timeZone); + } catch (Exception ex) { + throw new DateTimeParseException("Cannot parse zoned date time: " + s, ex); + } } /** - * Converts a String into a {@link Period} object. + * Parses the string argument as a {@link ZonedDateTime}. + *

    + * Date time strings are formatted according to the ISO 8601 date time format + * {@code yyyy-MM-ddThh:mm:ss[.SSSSSSSSS] TZ} and others. * - * @param s The String to convert in the form of numbertype, e.g. 1W for one week, and Tnumbertype for times, e.g. - * T1M for one minute. - * @return null if the String cannot be parsed, otherwise a {@link Period} object. + * @param s date time string + * @return a {@link ZonedDateTime} represented by the input string, or {@code null} if the string can not be parsed + * @see DateTimeFormatter#ISO_INSTANT */ - public static Period convertPeriodQuiet(String s) { - if (s.length() <= 1) { + @ScriptApi + @Nullable + public static ZonedDateTime parseZonedDateTimeQuiet(@Nullable final String s) { + if (s == null || s.length() <= 1) { return null; } try { - if (PERIOD_PATTERN.matcher(s).matches()) { - return new Period(s); - } + return parseZonedDateTime(s); } catch (Exception e) { - // shouldn't get here too often, but somehow something snuck through. we'll just return null below... + return null; } - - return null; } - /** - * Returns a {@link ChronoField} indicating the level of precision in a String time value. - * - * @param timeDef The time String to evaluate. - * @return null if the time String cannot be parsed, otherwise a {@link ChronoField} for the finest units in the - * String (e.g. "10:00:00" would yield SecondOfMinute). - */ - public static ChronoField getFinestDefinedUnit(String timeDef) { - Matcher dtMatcher = CAPTURING_DATETIME_PATTERN.matcher(timeDef); - if (dtMatcher.matches()) { - DateGroupId[] parts = DateGroupId.values(); - for (int i = parts.length - 1; i >= 0; i--) { - String part = dtMatcher.group(parts[i].id); - if (part != null && !part.isEmpty()) { - return parts[i].field; - } - } - } + private enum DateGroupId { + // Date(1), + Year(2, ChronoField.YEAR), Month(3, ChronoField.MONTH_OF_YEAR), Day(4, ChronoField.DAY_OF_MONTH), + // Tod(5), + Hours(6, ChronoField.HOUR_OF_DAY), Minutes(7, ChronoField.MINUTE_OF_HOUR), Seconds(8, + ChronoField.SECOND_OF_MINUTE), Fraction(9, ChronoField.MILLI_OF_SECOND); + // TODO MICRO and NANOs are not supported! -- fix and unit test! + + final int id; + final ChronoField field; - return null; + DateGroupId(int id, @NotNull ChronoField field) { + this.id = id; + this.field = field; + } } /** - * A container object for the result of {@link #convertExpression(String)}, which includes the converted formula - * String, a String of instance variable declarations, and a map describing the names and types of these instance - * variables. + * Returns a {@link ChronoField} indicating the level of precision in a time, datetime, or period nanos string. + * + * @param s time string + * @return {@link ChronoField} for the finest units in the string (e.g. "10:00:00" would yield SecondOfMinute) + * @throws RuntimeException if the string cannot be parsed */ - public static class Result { - private final String convertedFormula; - private final String instanceVariablesString; - private final HashMap> newVariables; - - public Result(String convertedFormula, String instanceVariablesString, HashMap> newVariables) { - this.convertedFormula = convertedFormula; - this.instanceVariablesString = instanceVariablesString; - this.newVariables = newVariables; + @ScriptApi + @NotNull + public static ChronoField parseTimePrecision(@NotNull final String s) { + // noinspection ConstantConditions + if (s == null) { + throw new DateTimeParseException("Cannot parse time precision (null): " + s); } - public String getConvertedFormula() { - return convertedFormula; - } + try { + Matcher dtMatcher = CAPTURING_DATETIME_PATTERN.matcher(s); + if (dtMatcher.matches()) { + DateGroupId[] parts = DateGroupId.values(); + for (int i = parts.length - 1; i >= 0; i--) { + String part = dtMatcher.group(parts[i].id); + if (part != null && !part.isEmpty()) { + return parts[i].field; + } + } + } - public String getInstanceVariablesString() { - return instanceVariablesString; - } + if (TIME_DURATION_PATTERN.matcher(s).matches()) { + return parseTimePrecision(s.replace("PT", "")); + } - public HashMap> getNewVariables() { - return newVariables; + throw new RuntimeException("Time precision does not match expected pattern"); + } catch (Exception ex) { + throw new DateTimeParseException("Cannot parse time precision: " + s, ex); } } /** - * A type of RuntimeException thrown when operations resulting in {@link DateTime} values would exceed the range - * available by max or min long nanoseconds. + * Returns a {@link ChronoField} indicating the level of precision in a time or datetime string. + * + * @param s time string + * @return {@code null} if the time string cannot be parsed; otherwise, a {@link ChronoField} for the finest units + * in the string (e.g. "10:00:00" would yield SecondOfMinute) + * @throws RuntimeException if the string cannot be parsed */ - public static class DateTimeOverflowException extends RuntimeException { - private DateTimeOverflowException() { - super("Operation failed due to overflow"); - } - - private DateTimeOverflowException(String s) { - super(s); + @ScriptApi + @Nullable + public static ChronoField parseTimePrecisionQuiet(@Nullable final String s) { + if (s == null || s.length() <= 1) { + return null; } - private DateTimeOverflowException(String message, Throwable cause) { - super(message, cause); + try { + return parseTimePrecision(s); + } catch (Exception e) { + return null; } } /** - * Create a DateTimeFormatter formatter with the specified time zone name using the standard yyyy-MM-dd format. + * Parses the string argument as a local date, which is a date without a time or time zone. + *

    + * Date strings are formatted according to the ISO 8601 date time format as {@code YYYY-MM-DD}. * - * @param timeZoneName the time zone name - * @return a formatter set for the specified time zone + * @param s date string + * @return local date parsed according to the default date style + * @throws DateTimeParseException if the string cannot be parsed + * @see DateTimeFormatter#ISO_LOCAL_DATE */ - public static DateTimeFormatter createFormatter(final String timeZoneName) { - final ZoneId zoneId = ZoneId.of(timeZoneName); - return DateTimeFormatter.ofPattern(DATE_COLUMN_PARTITION_FORMAT_STRING).withZone(zoneId); - } + @ScriptApi + @NotNull + public static LocalDate parseLocalDate(@NotNull final String s) { + // noinspection ConstantConditions + if (s == null) { + throw new DateTimeParseException("Cannot parse datetime (null): " + s); + } - /** - * Given a DateTimeFormatter and a timestamp in millis, return the date as a String in standard column-partition - * format of yyyy-MM-dd. A timestamp of NULL_LONG means use the system current time. - * - * @param dateTimeFormatter the date formatter - * @param timestampMillis the timestamp in millis - * @return the formatted date - */ - public static String getPartitionFromTimestampMillis(@NotNull final DateTimeFormatter dateTimeFormatter, - final long timestampMillis) { - if (timestampMillis == NULL_LONG) { - return dateTimeFormatter.format(Instant.ofEpochMilli(System.currentTimeMillis())); + try { + return LocalDate.parse(s, FORMATTER_ISO_LOCAL_DATE); + } catch (java.time.format.DateTimeParseException e) { + throw new DateTimeParseException("Cannot parse local date: " + s, e); } - return dateTimeFormatter.format(Instant.ofEpochMilli(timestampMillis)); } /** - * Given a DateTimeFormatter and a timestamp in micros from epoch, return the date as a String in standard - * column-partition format of yyyy-MM-dd. A timestamp of NULL_LONG means use the system current time. + * Parses the string argument as a local date, which is a date without a time or time zone. + *

    + * Date strings are formatted according to the ISO 8601 date time format as {@code YYYY-MM-DD}. * - * @param dateTimeFormatter the date formatter - * @param timestampMicros the timestamp in micros - * @return the formatted date + * @param s date string + * @return local date parsed according to the default date style, or {@code null} if the string can not be parsed + * @see DateTimeFormatter#ISO_LOCAL_DATE */ - public static String getPartitionFromTimestampMicros(@NotNull final DateTimeFormatter dateTimeFormatter, - final long timestampMicros) { - if (timestampMicros == NULL_LONG) { - return dateTimeFormatter.format(Instant.ofEpochMilli(System.currentTimeMillis())); + @ScriptApi + @Nullable + public static LocalDate parseLocalDateQuiet(@Nullable final String s) { + if (s == null || s.length() <= 1) { + return null; + } + + try { + return parseLocalDate(s); + } catch (Exception e) { + return null; } - return dateTimeFormatter.format(Instant.ofEpochMilli(timestampMicros / 1_000)); } + /** - * Given a DateTimeFormatter and a timestamp in nanos from epoch, return the date as a String in standard - * column-partition format of yyyy-MM-dd. A timestamp of NULL_LONG means use the system current time. + * Parses the string argument as a local time, which is the time that would be read from a clock and does not have a + * date or timezone. + *

    + * Local time strings can be formatted as {@code hh:mm:ss[.nnnnnnnnn]}. * - * @param dateTimeFormatter the date formatter - * @param timestampNanos the timestamp in nanos - * @return the formatted date + * @param s string to be converted + * @return a {@link LocalTime} represented by the input string. + * @throws DateTimeParseException if the string cannot be converted, otherwise a {@link LocalTime} from the parsed + * string */ - public static String getPartitionFromTimestampNanos(@NotNull final DateTimeFormatter dateTimeFormatter, - final long timestampNanos) { - if (timestampNanos == NULL_LONG) { - return dateTimeFormatter.format(Instant.ofEpochMilli(System.currentTimeMillis())); + @ScriptApi + @NotNull + public static LocalTime parseLocalTime(@NotNull final String s) { + // noinspection ConstantConditions + if (s == null) { + throw new DateTimeParseException("Cannot parse local time (null): " + s); + } + + try { + return LocalTime.parse(s, FORMATTER_ISO_LOCAL_TIME); + } catch (java.time.format.DateTimeParseException e) { + throw new DateTimeParseException("Cannot parse local date: " + s, e); } - return dateTimeFormatter.format(Instant.ofEpochMilli(timestampNanos / 1_000_000)); } /** - * Given a DateTimeFormatter and a timestamp in seconds from epoch, return the date as a String in standard - * column-partition format of yyyy-MM-dd. A timestamp of NULL_LONG means use the system current time. + * Parses the string argument as a local time, which is the time that would be read from a clock and does not have a + * date or timezone. + *

    + * Local time strings can be formatted as {@code hh:mm:ss[.nnnnnnnnn]}. * - * @param dateTimeFormatter the date formatter - * @param timestampSeconds the timestamp in seconds - * @return the formatted date + * @param s string to be converted + * @return a {@link LocalTime} represented by the input string, or {@code null} if the string can not be parsed */ - public static String getPartitionFromTimestampSeconds(@NotNull final DateTimeFormatter dateTimeFormatter, - final long timestampSeconds) { - if (timestampSeconds == NULL_LONG) { - return dateTimeFormatter.format(Instant.ofEpochMilli(System.currentTimeMillis())); + @ScriptApi + @Nullable + public static LocalTime parseLocalTimeQuiet(@Nullable final String s) { + if (s == null || s.length() <= 1) { + return null; + } + + try { + return parseLocalTime(s); + } catch (Exception e) { + return null; } - return dateTimeFormatter.format(Instant.ofEpochMilli(timestampSeconds * 1_000)); } + + // endregion + } diff --git a/engine/time/src/main/java/io/deephaven/time/Period.java b/engine/time/src/main/java/io/deephaven/time/Period.java deleted file mode 100644 index 865d26d290e..00000000000 --- a/engine/time/src/main/java/io/deephaven/time/Period.java +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.time; - -import java.io.*; - -public class Period implements Comparable, Serializable { - - private String periodString; - - private transient org.joda.time.Period period = null; - - public Period() { - // for serialization... - } - - public Period(String periodString) { - char ret[] = periodString.toCharArray(); - - for (int i = 0; i < ret.length; i++) { - if (Character.toUpperCase(ret[i]) != 'T') { - ret[i] = Character.toLowerCase(ret[i]); - } else { - ret[i] = Character.toUpperCase(ret[i]); - } - } - - this.periodString = new String(ret).intern(); - - initPeriod(); - } - - private void initPeriod() { - period = new org.joda.time.Period("P" + (isPositive() ? periodString : periodString.substring(1))); - } - - public org.joda.time.Period getJodaPeriod() { - return period; - } - - public boolean isPositive() { - return periodString.charAt(0) != '-'; - } - - public boolean equals(Object period) { - return periodString.equals(((Period) period).periodString); - } - - public int hashCode() { - return periodString.hashCode(); - } - - public int compareTo(Period dateTime) { - return periodString.compareTo(dateTime.periodString); - } - - public String toString() { - return periodString; - } - - private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { - in.defaultReadObject(); - - initPeriod(); - } -} diff --git a/engine/time/src/main/java/io/deephaven/time/TimeLiteralReplacedExpression.java b/engine/time/src/main/java/io/deephaven/time/TimeLiteralReplacedExpression.java new file mode 100644 index 00000000000..5d2706b9450 --- /dev/null +++ b/engine/time/src/main/java/io/deephaven/time/TimeLiteralReplacedExpression.java @@ -0,0 +1,153 @@ +/** + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.time; + +import java.time.*; +import java.util.HashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static io.deephaven.util.QueryConstants.NULL_LONG; + +// TODO: Move? + +/** + * TimeLiteralReplacedExpression is a query expression with time, period, and datetime literals replaced by instance + * variables. This contains the converted formula, instance variable declarations, and a map of types of the instance + * variables. + */ +public class TimeLiteralReplacedExpression { + private final String convertedFormula; + private final String instanceVariablesString; + private final HashMap> newVariables; + + private TimeLiteralReplacedExpression( + String convertedFormula, String instanceVariablesString, HashMap> newVariables) { + this.convertedFormula = convertedFormula; + this.instanceVariablesString = instanceVariablesString; + this.newVariables = newVariables; + } + + /** + * Gets the formula after replacing time, period, and datetime literals with variables. + * + * @return formula after replacing time, period, and datetime literals with variables. + */ + public String getConvertedFormula() { + return convertedFormula; + } + + /** + * An expression that declares new instance variables. + * + * @return expression that declares new instance variables. + */ + public String getInstanceVariablesString() { + return instanceVariablesString; + } + + /** + * Gets a map of names and types of new instance variables. + * + * @return a map of names and types of new instance variables. + */ + public HashMap> getNewVariables() { + return newVariables; + } + + /** + * Converts a query expression to a {@link TimeLiteralReplacedExpression}, where the time, period, and datetime + * literals are replaced by instance variables. + * + * @param expression query expression to convert. + * @return a {@link TimeLiteralReplacedExpression} where time, period, and datetime literals have been replaced by + * instance variables. + * @throws Exception If any error occurs or a literal value cannot be parsed. + */ + // TODO: This should probably be handled in LanguageParser.accept(CharLiteralExpr, StringBuilder). + public static TimeLiteralReplacedExpression convertExpression(String expression) throws Exception { + final StringBuilder instanceVariablesString = new StringBuilder(); + final HashMap> newVariables = new HashMap<>(); + + final StringBuilder convertedFormula = new StringBuilder(); + + int localDateIndex = 0; + int dateTimeIndex = 0; + int nanosIndex = 0; + int periodIndex = 0; + int durationIndex = 0; + + final Matcher matcher = Pattern.compile("'[^']*'").matcher(expression); + + while (matcher.find()) { + String s = expression.substring(matcher.start() + 1, matcher.end() - 1); + + if (s.length() <= 1) { + // leave chars and also bad empty ones alone + continue; + } + + if (DateTimeUtils.parseInstantQuiet(s) != null) { + matcher.appendReplacement(convertedFormula, "_instant" + dateTimeIndex); + instanceVariablesString.append(" private Instant _instant").append(dateTimeIndex) + .append("=DateTimeUtils.parseInstant(\"") + .append(expression, matcher.start() + 1, matcher.end() - 1).append("\");\n"); + newVariables.put("_instant" + dateTimeIndex, Instant.class); + + dateTimeIndex++; + } else if (DateTimeUtils.parsePeriodQuiet(s) != null) { + matcher.appendReplacement(convertedFormula, "_period" + periodIndex); + instanceVariablesString.append(" private java.time.Period _period").append(periodIndex) + .append("=DateTimeUtils.parsePeriod(\"") + .append(expression, matcher.start() + 1, matcher.end() - 1) + .append("\");\n"); + newVariables.put("_period" + periodIndex, Period.class); + + periodIndex++; + } else if (DateTimeUtils.parseDurationQuiet(s) != null) { + matcher.appendReplacement(convertedFormula, "_duration" + durationIndex); + instanceVariablesString.append(" private java.time.Duration _duration").append(durationIndex) + .append("=DateTimeUtils.parseDuration(\"") + .append(expression, matcher.start() + 1, matcher.end() - 1) + .append("\");\n"); + newVariables.put("_duration" + durationIndex, Duration.class); + + durationIndex++; + } else if (DateTimeUtils.parseDurationNanosQuiet(s) != NULL_LONG) { + matcher.appendReplacement(convertedFormula, "_nanos" + nanosIndex); + instanceVariablesString + .append(" private long _nanos").append(nanosIndex) + .append("=DateTimeUtils.parseDurationNanos(\"") + .append(expression, matcher.start() + 1, matcher.end() - 1) + .append("\");\n"); + newVariables.put("_nanos" + nanosIndex, long.class); + + nanosIndex++; + } else if (DateTimeUtils.parseLocalDateQuiet(s) != null) { + matcher.appendReplacement(convertedFormula, "_localDate" + localDateIndex); + instanceVariablesString.append(" private java.time.LocalDate _localDate").append(localDateIndex) + .append("=DateTimeUtils.parseLocalDate(\"") + .append(expression, matcher.start() + 1, matcher.end() - 1) + .append("\");\n"); + newVariables.put("_localDate" + localDateIndex, LocalDate.class); + localDateIndex++; + } else if (DateTimeUtils.parseLocalTimeQuiet(s) != null) { + matcher.appendReplacement(convertedFormula, "_localTime" + nanosIndex); + instanceVariablesString.append(" private java.time.LocalTime _localTime").append(nanosIndex) + .append("=DateTimeUtils.parseLocalTime(\"") + .append(expression, matcher.start() + 1, matcher.end() - 1).append("\");\n"); + newVariables.put("_localTime" + nanosIndex, LocalTime.class); + nanosIndex++; + } else { + throw new Exception("Cannot parse datetime/time/period : " + s); + } + } + + matcher.appendTail(convertedFormula); + + return new TimeLiteralReplacedExpression( + convertedFormula.toString(), instanceVariablesString.toString(), newVariables); + } + +} diff --git a/engine/time/src/main/java/io/deephaven/time/TimeZone.java b/engine/time/src/main/java/io/deephaven/time/TimeZone.java deleted file mode 100644 index af09f201ba0..00000000000 --- a/engine/time/src/main/java/io/deephaven/time/TimeZone.java +++ /dev/null @@ -1,215 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.time; - -import org.jetbrains.annotations.NotNull; -import org.joda.time.DateTimeZone; - -import java.time.ZoneId; -import java.util.Arrays; -import java.util.List; - -/** - * Defines Deephaven-supported timezones, which may be used for PQ-scheduling and display purposes - */ -public enum TimeZone { - /** - * America/New_York - */ - TZ_NY("America/New_York"), - /** - * America/New_York - */ - TZ_ET("America/New_York"), - /** - * America/Chicago - */ - TZ_MN("America/Chicago"), - /** - * America/Chicago - */ - TZ_CT("America/Chicago"), - /** - * America/Denver - */ - TZ_MT("America/Denver"), - /** - * America/Los_Angeles - */ - TZ_PT("America/Los_Angeles"), - /** - * Pacific/Honolulu - */ - TZ_HI("Pacific/Honolulu"), - /** - * America/Sao_Paulo - */ - TZ_BT("America/Sao_Paulo"), - /** - * Asia/Seoul - */ - TZ_KR("Asia/Seoul"), - /** - * Asia/Hong_Kong - */ - TZ_HK("Asia/Hong_Kong"), - /** - * Asia/Tokyo - */ - TZ_JP("Asia/Tokyo"), - /** - * Canada/Atlantic - */ - TZ_AT("Canada/Atlantic"), - /** - * Canada/Newfoundland - */ - TZ_NF("Canada/Newfoundland"), - /** - * America/Anchorage - */ - TZ_AL("America/Anchorage"), - /** - * Asia/Kolkata - */ - TZ_IN("Asia/Kolkata"), - /** - * Europe/Berlin - */ - TZ_CE("Europe/Berlin"), - /** - * Asia/Singapore - */ - TZ_SG("Asia/Singapore"), - /** - * Europe/London - */ - TZ_LON("Europe/London"), - /** - * Europe/Moscow - */ - TZ_MOS("Europe/Moscow"), - /** - * Asia/Shanghai - */ - TZ_SHG("Asia/Shanghai"), - /** - * Europe/Zurich - */ - TZ_CH("Europe/Zurich"), - /** - * Europe/Amsterdam - */ - TZ_NL("Europe/Amsterdam"), - /** - * Asia/Taipei - */ - TZ_TW("Asia/Taipei"), - /** - * Australia/Sydney - */ - TZ_SYD("Australia/Sydney"), - /** - * UTC - */ - TZ_UTC("UTC"); - - /** - * The default time zone for display purposes. - */ - public static TimeZone TZ_DEFAULT = TZ_NY; - - private final DateTimeZone timeZone; - private final ZoneId zoneId; - - TimeZone(final @NotNull String timeZone) { - this.timeZone = DateTimeZone.forID(timeZone); - this.zoneId = ZoneId.of(timeZone); - } - - /** - * Returns the underlying Joda time zone for this TimeZone. - * - * @return the underlying Joda time zone. - */ - public DateTimeZone getTimeZone() { - return timeZone; - } - - /** - * Returns the Java ZoneID for this DBTimeZone; - * - * @return the ZoneId - */ - public ZoneId getZoneId() { - return zoneId; - } - - /** - * Find the corresponding TimeZone for a given Joda DateTimeZone. - * - * @param dateTimeZone the time zone to search for - * - * @return the corresponding TimeZone, or null if none was found - */ - public static TimeZone lookup(DateTimeZone dateTimeZone) { - for (TimeZone zone : values()) { - if (zone.getTimeZone().equals(dateTimeZone)) { - return zone; - } - } - return lookupByOffset(dateTimeZone); - } - - private static TimeZone lookupByOffset(DateTimeZone dateTimeZone) { - for (TimeZone zone : values()) { - if (zone.getTimeZone().getOffset(System.currentTimeMillis()) == dateTimeZone - .getOffset(System.currentTimeMillis())) { - return zone; - } - } - return null; - } - - /** - * This method returns the same contents as {@link TimeZone#values()}, but ordered by geographic location / UTC - * offset. If two elements exist within the same timezone, they are second-order-sorted by name - * - * @return An array of TimeZones ordered by UTC-offset - */ - public static TimeZone[] valuesByOffset() { - final List allZones = Arrays.asList(values()); - final long now = System.currentTimeMillis(); - - allZones.sort((t1, t2) -> { - int ret = t2.getTimeZone().getOffset(now) - t1.getTimeZone().getOffset(now); - if (ret != 0) { - return ret; - } else { - ret = t1.getTimeZone().getID().compareTo(t2.getTimeZone().getID()); - return ret != 0 ? ret : t1.name().compareTo(t2.name()); - } - }); - - return allZones.toArray(new TimeZone[0]); - } - - /** - * Get the default time zone. - * - * @return the default {@link TimeZone} - */ - public static TimeZone getTzDefault() { - return TZ_DEFAULT; - } - - /** - * Set the default time zone. - * - * @param tzDefault the {@link TimeZone} to be used as the default. - */ - public static void setTzDefault(TimeZone tzDefault) { - TZ_DEFAULT = tzDefault; - } -} diff --git a/engine/time/src/main/java/io/deephaven/time/TimeZoneAliases.java b/engine/time/src/main/java/io/deephaven/time/TimeZoneAliases.java new file mode 100644 index 00000000000..0accb7a1c2f --- /dev/null +++ b/engine/time/src/main/java/io/deephaven/time/TimeZoneAliases.java @@ -0,0 +1,256 @@ +package io.deephaven.time; + +import io.deephaven.base.verify.Require; +import io.deephaven.configuration.Configuration; +import io.deephaven.internal.log.LoggerFactory; +import io.deephaven.io.logger.Logger; +import org.jetbrains.annotations.NotNull; + +import java.io.*; +import java.time.ZoneId; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +/** + * TimeZoneAliases provides a service to look up time zones based on alias names and to format time zones to their + * aliased names. + */ +public class TimeZoneAliases { + + private static final Logger logger = LoggerFactory.getLogger(TimeZoneAliases.class); + private static final TimeZoneAliases.Cache INSTANCE = load("timezone.aliases"); + + /** + * Creates a new time zone alias cache. + */ + private static class Cache { + final Map aliasMap = new HashMap<>(); + final Map reverseAliasMap = new HashMap<>(); + final Map allZones = new HashMap<>(); + + /** + * Creates a new time zone alias cache initialized with all of the available time zones and no aliases. + */ + private Cache() { + for (String tz : ZoneId.getAvailableZoneIds()) { + allZones.put(tz, ZoneId.of(tz)); + } + } + + /** + * Adds a new time zone alias. + * + * @param alias alias name + * @param zoneId time zone id name + * @throws IllegalArgumentException if the alias already exists or the time zone is invalid + */ + public void addAlias(@NotNull final String alias, @NotNull final String zoneId) { + Require.neqNull(alias, "alias"); + Require.neqNull(zoneId, "zoneId"); + + if (allZones.containsKey(alias)) { + throw new IllegalArgumentException("Time zone already exists with the alias name: alias=" + alias); + } + + if (reverseAliasMap.containsKey(zoneId)) { + throw new IllegalArgumentException("Alias for time zone is already present: time_zone=" + zoneId); + } + + final ZoneId tz; + + try { + tz = ZoneId.of(zoneId); + } catch (Exception ex) { + throw new IllegalArgumentException("Invalid time zone id: " + zoneId, ex); + } + + aliasMap.put(alias, zoneId); + reverseAliasMap.put(zoneId, alias); + allZones.put(alias, tz); + } + + /** + * Removes a time zone alias. + * + * @param alias alias name. + * @return true if the alias was present; false if the alias was not present. + * @throws IllegalArgumentException if the alias already exists or the time zone is invalid + */ + public boolean rmAlias(@NotNull final String alias) { + Require.neqNull(alias, "alias"); + + final ZoneId zid = allZones.remove(alias); + + if (zid == null) { + return false; + } + + final String zidStr = aliasMap.remove(alias); + reverseAliasMap.remove(zidStr); + + return true; + } + + /** + * Gets the time zone id for a time zone name. + * + * @param timeZone time zone name. + * @return time zone. + */ + @NotNull + public ZoneId zoneId(@NotNull final String timeZone) { + Require.neqNull(timeZone, "timeZone"); + return ZoneId.of(timeZone, aliasMap); + } + + /** + * Gets the name for a time zone. If an alias is present, the alias is returned. If not, the zone id name is + * returned. + * + * @param timeZone time zone. + * @return name for the time zone. If an alias is present, the alias is returned. If not, the zone id name is + * returned. + */ + @NotNull + public String zoneName(@NotNull final ZoneId timeZone) { + Require.neqNull(timeZone, "timeZone"); + return reverseAliasMap.getOrDefault(timeZone.getId(), timeZone.getId()); + } + + /** + * Gets a map of all time zone names to their respective time zones. + * + * @return map of all time zone names to their respective time zones. + */ + @NotNull + public Map getAllZones() { + return allZones; + } + } + + /** + * Gets a reader from a property. If the property points to a file, a reader to that file is returned; otherwise, a + * reader to a resource in the JAR is returned. + * + * @param property property. + * @return If the property points to a file, a reader to that file is returned; otherwise, a reader to a resource in + * the JAR is returned. + * @throws RuntimeException if no reader can be returned. + */ + private static Reader propertyToReader(final String property) { + Require.neqNull(property, "property"); + final String location = Configuration.getInstance().getProperty(property); + + try { + return new FileReader(location); + } catch (FileNotFoundException ignored) { + } + + final InputStream stream = TimeZoneAliases.class.getResourceAsStream(location); + + if (stream != null) { + return new InputStreamReader(stream); + } + + logger.error("Unable to open time zone alias property file: property=" + property + " location=" + location); + throw new RuntimeException( + "Unable to open time zone alias property file: property=" + property + " location=" + location); + } + + /** + * Loads a TimeZoneAlias#Cache from a property. + * + * @param property property specifying where the cache configuration is located. + * @return cache + * @throws RuntimeException if the cache can not be created. + */ + @SuppressWarnings("SameParameterValue") + private static Cache load(final String property) { + final Cache cache = new Cache(); + final String location = Configuration.getInstance().getStringWithDefault(property, null); + + try { + try (final BufferedReader br = new BufferedReader(propertyToReader(property))) { + String line; + while ((line = br.readLine()) != null) { + if (line.startsWith("#") || line.startsWith("//") || line.isBlank()) { + continue; + } + + String[] values = line.split(","); + if (values.length == 2) { + cache.addAlias(values[0], values[1]); + } else if (values.length == 1) { + throw new IllegalArgumentException("Line contains too few values: property=" + property + + " location=" + location + " line=" + line + " values=" + Arrays.toString(values)); + } else if (values.length > 2) { + throw new IllegalArgumentException("Line contains too many values: property=" + property + + " location=" + location + " line=" + line + " values=" + Arrays.toString(values)); + } + } + } + } catch (Exception e) { + throw new RuntimeException( + "Unable to load time zone aliases: property=" + property + " location=" + location, e); + } + + return cache; + } + + /** + * Gets the time zone id for a time zone name. + * + * @param timeZone time zone name. + * @return time zone. + */ + @NotNull + public static ZoneId zoneId(@NotNull final String timeZone) { + return INSTANCE.zoneId(timeZone); + } + + /** + * Gets the name for a time zone. If an alias is present, the alias is returned. If not, the zone id name is + * returned. + * + * @param timeZone time zone. + * @return name for the time zone. If an alias is present, the alias is returned. If not, the zone id name is + * returned. + */ + @NotNull + public static String zoneName(@NotNull final ZoneId timeZone) { + return INSTANCE.zoneName(timeZone); + } + + /** + * Gets a map of all time zone names to their respective time zones. + * + * @return map of all time zone names to their respective time zones. + */ + @NotNull + public static Map getAllZones() { + return INSTANCE.getAllZones(); + } + + /** + * Adds a new time zone alias. + * + * @param alias alias name + * @param zoneId time zone id name + * @throws IllegalArgumentException if the alias already exists or the time zone is invalid + */ + public static void addAlias(@NotNull final String alias, @NotNull final String zoneId) { + INSTANCE.addAlias(alias, zoneId); + } + + /** + * Removes a time zone alias. + * + * @param alias alias name. + * @return true if the alias was present; false if the alias was not present. + * @throws IllegalArgumentException if the alias already exists or the time zone is invalid + */ + public static boolean rmAlias(@NotNull final String alias) { + return INSTANCE.rmAlias(alias); + } +} diff --git a/engine/time/src/main/java/io/deephaven/time/calendar/AbstractBusinessCalendar.java b/engine/time/src/main/java/io/deephaven/time/calendar/AbstractBusinessCalendar.java index fbfb80fb5e2..0c4b14d9281 100644 --- a/engine/time/src/main/java/io/deephaven/time/calendar/AbstractBusinessCalendar.java +++ b/engine/time/src/main/java/io/deephaven/time/calendar/AbstractBusinessCalendar.java @@ -3,17 +3,17 @@ */ package io.deephaven.time.calendar; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; +import java.time.Instant; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; public abstract class AbstractBusinessCalendar extends AbstractCalendar implements BusinessCalendar { - public boolean isBusinessDay(final DateTime time) { + public boolean isBusinessDay(final Instant time) { return fractionOfStandardBusinessDay(time) > 0.0; } @@ -25,16 +25,16 @@ public boolean isBusinessDay(final LocalDate date) { return date != null && getBusinessSchedule(date).isBusinessDay(); } - public boolean isBusinessTime(final DateTime time) { + public boolean isBusinessTime(final Instant time) { return time != null && getBusinessSchedule(time).isBusinessTime(time); } - public String previousBusinessDay(final DateTime time) { + public String previousBusinessDay(final Instant time) { if (time == null) { return null; } - LocalDate t = DateTimeUtils.getZonedDateTime(time, timeZone()).toLocalDate().minusDays(1); + LocalDate t = DateTimeUtils.toZonedDateTime(time, timeZone()).toLocalDate().minusDays(1); while (!isBusinessDay(t)) { t = t.minusDays(1); } @@ -42,7 +42,7 @@ public String previousBusinessDay(final DateTime time) { return DateStringUtils.format(t); } - public String previousBusinessDay(final DateTime time, int days) { + public String previousBusinessDay(final Instant time, int days) { if (time == null) { return null; } @@ -52,7 +52,7 @@ public String previousBusinessDay(final DateTime time, int days) { } else if (days == 0 && !isBusinessDay(time)) { return null; } else if (days == 0) { - return time.toDateString(timeZone()); + return DateTimeUtils.formatDate(time, timeZone()); } String date = null; @@ -103,11 +103,11 @@ public String previousBusinessDay(String date, int days) { return date; } - public BusinessSchedule previousBusinessSchedule(final DateTime time) { + public BusinessSchedule previousBusinessSchedule(final Instant time) { return getBusinessSchedule(previousDay(time)); } - public BusinessSchedule previousBusinessSchedule(final DateTime time, int days) { + public BusinessSchedule previousBusinessSchedule(final Instant time, int days) { return getBusinessSchedule(previousDay(time, days)); } @@ -119,12 +119,12 @@ public BusinessSchedule previousBusinessSchedule(String date, int days) { return getBusinessSchedule(previousDay(date, days)); } - public String previousNonBusinessDay(final DateTime time) { + public String previousNonBusinessDay(final Instant time) { if (time == null) { return null; } - LocalDate t = DateTimeUtils.getZonedDateTime(time, timeZone()).toLocalDate().minusDays(1); + LocalDate t = DateTimeUtils.toZonedDateTime(time, timeZone()).toLocalDate().minusDays(1); while (isBusinessDay(t)) { t = t.minusDays(1); } @@ -132,7 +132,7 @@ public String previousNonBusinessDay(final DateTime time) { return DateStringUtils.format(t); } - public String previousNonBusinessDay(final DateTime time, int days) { + public String previousNonBusinessDay(final Instant time, int days) { if (time == null) { return null; } @@ -142,7 +142,7 @@ public String previousNonBusinessDay(final DateTime time, int days) { } else if (days == 0 && isBusinessDay(time)) { return null; } else if (days == 0) { - return time.toDateString(timeZone()); + return DateTimeUtils.formatDate(time, timeZone()); } String date = null; @@ -193,12 +193,12 @@ public String previousNonBusinessDay(String date, int days) { return date; } - public String nextBusinessDay(final DateTime time) { + public String nextBusinessDay(final Instant time) { if (time == null) { return null; } - LocalDate t = DateTimeUtils.getZonedDateTime(time, timeZone()).toLocalDate().plusDays(1); + LocalDate t = DateTimeUtils.toZonedDateTime(time, timeZone()).toLocalDate().plusDays(1); while (!isBusinessDay(t)) { t = t.plusDays(1); } @@ -206,7 +206,7 @@ public String nextBusinessDay(final DateTime time) { return DateStringUtils.format(t); } - public String nextBusinessDay(final DateTime time, int days) { + public String nextBusinessDay(final Instant time, int days) { if (time == null) { return null; } @@ -216,7 +216,7 @@ public String nextBusinessDay(final DateTime time, int days) { } else if (days == 0 && !isBusinessDay(time)) { return null; } else if (days == 0) { - return time.toDateString(timeZone()); + return DateTimeUtils.formatDate(time, timeZone()); } String date = null; @@ -268,11 +268,11 @@ public String nextBusinessDay(String date, int days) { } - public BusinessSchedule nextBusinessSchedule(final DateTime time) { + public BusinessSchedule nextBusinessSchedule(final Instant time) { return getBusinessSchedule(nextDay(time)); } - public BusinessSchedule nextBusinessSchedule(final DateTime time, int days) { + public BusinessSchedule nextBusinessSchedule(final Instant time, int days) { return getBusinessSchedule(nextDay(time, days)); } @@ -284,12 +284,12 @@ public BusinessSchedule nextBusinessSchedule(String date, int days) { return getBusinessSchedule(nextDay(date, days)); } - public String nextNonBusinessDay(final DateTime time) { + public String nextNonBusinessDay(final Instant time) { if (time == null) { return null; } - LocalDate t = DateTimeUtils.getZonedDateTime(time, timeZone()).toLocalDate().plusDays(1); + LocalDate t = DateTimeUtils.toZonedDateTime(time, timeZone()).toLocalDate().plusDays(1); while (isBusinessDay(t)) { t = t.plusDays(1); } @@ -297,7 +297,7 @@ public String nextNonBusinessDay(final DateTime time) { return DateStringUtils.format(t); } - public String nextNonBusinessDay(final DateTime time, int days) { + public String nextNonBusinessDay(final Instant time, int days) { if (time == null) { return null; } @@ -307,7 +307,7 @@ public String nextNonBusinessDay(final DateTime time, int days) { } else if (days == 0 && isBusinessDay(time)) { return null; } else if (days == 0) { - return time.toDateString(timeZone()); + return DateTimeUtils.formatDate(time, timeZone()); } String date = null; @@ -358,12 +358,12 @@ public String nextNonBusinessDay(String date, int days) { return date; } - public String[] businessDaysInRange(final DateTime start, final DateTime end) { + public String[] businessDaysInRange(final Instant start, final Instant end) { if (start == null || end == null) { return new String[0]; } - LocalDate day = DateTimeUtils.getZonedDateTime(start, timeZone()).toLocalDate(); - LocalDate day2 = DateTimeUtils.getZonedDateTime(end, timeZone()).toLocalDate(); + LocalDate day = DateTimeUtils.toZonedDateTime(start, timeZone()).toLocalDate(); + LocalDate day2 = DateTimeUtils.toZonedDateTime(end, timeZone()).toLocalDate(); List dateList = new ArrayList<>(); while (!day.isAfter(day2)) { @@ -402,12 +402,12 @@ public String[] businessDaysInRange(String start, String end) { return dateList.toArray(new String[dateList.size()]); } - public String[] nonBusinessDaysInRange(final DateTime start, final DateTime end) { + public String[] nonBusinessDaysInRange(final Instant start, final Instant end) { if (start == null || end == null) { return new String[0]; } - LocalDate day = DateTimeUtils.getZonedDateTime(start, timeZone()).toLocalDate(); - LocalDate day2 = DateTimeUtils.getZonedDateTime(end, timeZone()).toLocalDate(); + LocalDate day = DateTimeUtils.toZonedDateTime(start, timeZone()).toLocalDate(); + LocalDate day2 = DateTimeUtils.toZonedDateTime(end, timeZone()).toLocalDate(); List dateList = new ArrayList<>(); while (!day.isAfter(day2)) { @@ -444,7 +444,7 @@ public String[] nonBusinessDaysInRange(String start, String end) { return dateList.toArray(new String[dateList.size()]); } - public long diffNonBusinessNanos(final DateTime start, final DateTime end) { + public long diffNonBusinessNanos(final Instant start, final Instant end) { if (start == null || end == null) { return QueryConstants.NULL_LONG; } @@ -456,7 +456,7 @@ public long diffNonBusinessNanos(final DateTime start, final DateTime end) { return DateTimeUtils.minus(end, start) - diffBusinessNanos(start, end); } - public double diffBusinessDay(final DateTime start, final DateTime end) { + public double diffBusinessDay(final Instant start, final Instant end) { if (start == null || end == null) { return QueryConstants.NULL_DOUBLE; } @@ -464,7 +464,7 @@ public double diffBusinessDay(final DateTime start, final DateTime end) { return (double) diffBusinessNanos(start, end) / (double) standardBusinessDayLengthNanos(); } - public double diffNonBusinessDay(final DateTime start, final DateTime end) { + public double diffNonBusinessDay(final Instant start, final Instant end) { if (start == null || end == null) { return QueryConstants.NULL_DOUBLE; } @@ -472,13 +472,15 @@ public double diffNonBusinessDay(final DateTime start, final DateTime end) { return (double) diffNonBusinessNanos(start, end) / (double) standardBusinessDayLengthNanos(); } - public int numberOfBusinessDays(DateTime start, DateTime end) { + public int numberOfBusinessDays(Instant start, Instant end) { return numberOfBusinessDays(start, end, false); } - public int numberOfBusinessDays(DateTime start, DateTime end, final boolean endInclusive) { - return numberOfBusinessDays(start == null ? null : start.toDateString(timeZone()), - end == null ? null : end.toDateString(timeZone()), endInclusive); + public int numberOfBusinessDays(Instant start, Instant end, final boolean endInclusive) { + return numberOfBusinessDays( + start == null ? null : DateTimeUtils.formatDate(start, timeZone()), + end == null ? null : DateTimeUtils.formatDate(end, timeZone()), + endInclusive); } public int numberOfBusinessDays(String start, String end) { @@ -508,13 +510,15 @@ public int numberOfBusinessDays(String start, String end, final boolean endInclu return days + (endInclusive && isBusinessDay(end) ? 1 : 0); } - public int numberOfNonBusinessDays(DateTime start, DateTime end) { + public int numberOfNonBusinessDays(Instant start, Instant end) { return numberOfNonBusinessDays(start, end, false); } - public int numberOfNonBusinessDays(DateTime start, DateTime end, final boolean endInclusive) { - return numberOfNonBusinessDays(start == null ? null : start.toDateString(timeZone()), - end == null ? null : end.toDateString(timeZone()), endInclusive); + public int numberOfNonBusinessDays(Instant start, Instant end, final boolean endInclusive) { + return numberOfNonBusinessDays( + start == null ? null : DateTimeUtils.formatDate(start, timeZone()), + end == null ? null : DateTimeUtils.formatDate(end, timeZone()), + endInclusive); } public int numberOfNonBusinessDays(final String start, final String end) { @@ -529,7 +533,7 @@ public int numberOfNonBusinessDays(final String start, final String end, final b return numberOfDays(start, end, endInclusive) - numberOfBusinessDays(start, end, endInclusive); } - public double fractionOfStandardBusinessDay(final DateTime time) { + public double fractionOfStandardBusinessDay(final Instant time) { final BusinessSchedule businessDate = getBusinessSchedule(time); return businessDate == null ? 0.0 : (double) businessDate.getLOBD() / (double) standardBusinessDayLengthNanos(); } @@ -539,7 +543,7 @@ public double fractionOfStandardBusinessDay(final String date) { return businessDate == null ? 0.0 : (double) businessDate.getLOBD() / (double) standardBusinessDayLengthNanos(); } - public double fractionOfBusinessDayRemaining(final DateTime time) { + public double fractionOfBusinessDayRemaining(final Instant time) { final BusinessSchedule businessDate = getBusinessSchedule(time); if (businessDate == null) { return QueryConstants.NULL_DOUBLE; @@ -553,7 +557,7 @@ public double fractionOfBusinessDayRemaining(final DateTime time) { return (double) (businessDate.getLOBD() - businessDaySoFar) / (double) businessDate.getLOBD(); } - public double fractionOfBusinessDayComplete(final DateTime time) { + public double fractionOfBusinessDayComplete(final Instant time) { if (time == null) { return QueryConstants.NULL_DOUBLE; } @@ -561,8 +565,8 @@ public double fractionOfBusinessDayComplete(final DateTime time) { return 1.0 - fractionOfBusinessDayRemaining(time); } - public boolean isLastBusinessDayOfMonth(final DateTime time) { - return isBusinessDay(time) && isLastBusinessDayOfMonth(time.toDateString(timeZone())); + public boolean isLastBusinessDayOfMonth(final Instant time) { + return isBusinessDay(time) && isLastBusinessDayOfMonth(DateTimeUtils.formatDate(time, timeZone())); } public boolean isLastBusinessDayOfMonth(final String date) { @@ -576,8 +580,8 @@ public boolean isLastBusinessDayOfMonth(final String date) { return (DateStringUtils.monthOfYear(date) - DateStringUtils.monthOfYear(nextBusAfterDate)) != 0; } - public boolean isLastBusinessDayOfWeek(final DateTime time) { - return isBusinessDay(time) && isLastBusinessDayOfWeek(time.toDateString(timeZone())); + public boolean isLastBusinessDayOfWeek(final Instant time) { + return isBusinessDay(time) && isLastBusinessDayOfWeek(DateTimeUtils.formatDate(time, timeZone())); } public boolean isLastBusinessDayOfWeek(final String date) { diff --git a/engine/time/src/main/java/io/deephaven/time/calendar/AbstractCalendar.java b/engine/time/src/main/java/io/deephaven/time/calendar/AbstractCalendar.java index 508d776434d..47ff7915cdc 100644 --- a/engine/time/src/main/java/io/deephaven/time/calendar/AbstractCalendar.java +++ b/engine/time/src/main/java/io/deephaven/time/calendar/AbstractCalendar.java @@ -3,11 +3,11 @@ */ package io.deephaven.time.calendar; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import java.time.DayOfWeek; +import java.time.Instant; import java.time.LocalDate; import java.time.temporal.ChronoUnit; import java.util.ArrayList; @@ -15,16 +15,16 @@ public abstract class AbstractCalendar implements Calendar { - public String previousDay(final DateTime time) { + public String previousDay(final Instant time) { return previousDay(time, 1); } - public String previousDay(final DateTime time, final int days) { + public String previousDay(final Instant time, final int days) { if (time == null) { return null; } - final LocalDate t = DateTimeUtils.getZonedDateTime(time, timeZone()).toLocalDate().minusDays(days); + final LocalDate t = DateTimeUtils.toZonedDateTime(time, timeZone()).toLocalDate().minusDays(days); return DateStringUtils.format(t); } @@ -42,16 +42,16 @@ public String previousDay(final String date, final int days) { return DateStringUtils.format(t); } - public String nextDay(final DateTime time) { + public String nextDay(final Instant time) { return nextDay(time, 1); } - public String nextDay(final DateTime time, final int days) { + public String nextDay(final Instant time, final int days) { if (time == null) { return null; } - final LocalDate t = DateTimeUtils.getZonedDateTime(time, timeZone()).toLocalDate().plusDays(days); + final LocalDate t = DateTimeUtils.toZonedDateTime(time, timeZone()).toLocalDate().plusDays(days); return DateStringUtils.format(t); } @@ -69,12 +69,12 @@ public String nextDay(final String date, final int days) { return DateStringUtils.format(t); } - public String[] daysInRange(DateTime start, DateTime end) { + public String[] daysInRange(Instant start, Instant end) { if (start == null || end == null) { return new String[0]; } - LocalDate day = DateTimeUtils.getZonedDateTime(start, timeZone()).toLocalDate(); - final LocalDate day2 = DateTimeUtils.getZonedDateTime(end, timeZone()).toLocalDate(); + LocalDate day = DateTimeUtils.toZonedDateTime(start, timeZone()).toLocalDate(); + final LocalDate day2 = DateTimeUtils.toZonedDateTime(end, timeZone()).toLocalDate(); List dateList = new ArrayList<>(); while (!day.isAfter(day2)) { @@ -103,13 +103,15 @@ public String[] daysInRange(final String start, final String end) { return dateList.toArray(new String[dateList.size()]); } - public int numberOfDays(final DateTime start, final DateTime end) { + public int numberOfDays(final Instant start, final Instant end) { return numberOfDays(start, end, false); } - public int numberOfDays(final DateTime start, final DateTime end, final boolean endInclusive) { - return numberOfDays(start == null ? null : start.toDateString(timeZone()), - end == null ? null : end.toDateString(timeZone()), endInclusive); + public int numberOfDays(final Instant start, final Instant end, final boolean endInclusive) { + return numberOfDays( + start == null ? null : DateTimeUtils.formatDate(start, timeZone()), + end == null ? null : DateTimeUtils.formatDate(end, timeZone()), + endInclusive); } public int numberOfDays(final String start, final String end) { @@ -133,11 +135,11 @@ public int numberOfDays(final String start, final String end, final boolean endI return days; } - public long diffNanos(final DateTime start, final DateTime end) { + public long diffNanos(final Instant start, final Instant end) { return DateTimeUtils.minus(end, start); } - public double diffDay(final DateTime start, final DateTime end) { + public double diffDay(final Instant start, final Instant end) { if (start == null || end == null) { return QueryConstants.NULL_DOUBLE; } @@ -145,15 +147,23 @@ public double diffDay(final DateTime start, final DateTime end) { return (double) diffNanos(start, end) / (double) DateTimeUtils.DAY; } - public double diffYear(DateTime start, DateTime end) { + public double diffYear365(Instant start, Instant end) { if (start == null || end == null) { return QueryConstants.NULL_DOUBLE; } - return (double) diffNanos(start, end) / (double) DateTimeUtils.YEAR; + return (double) diffNanos(start, end) / (double) DateTimeUtils.YEAR_365; } - public DayOfWeek dayOfWeek(final DateTime time) { + public double diffYearAvg(Instant start, Instant end) { + if (start == null || end == null) { + return QueryConstants.NULL_DOUBLE; + } + + return (double) diffNanos(start, end) / (double) DateTimeUtils.YEAR_AVG; + } + + public DayOfWeek dayOfWeek(final Instant time) { if (time == null) { return null; } diff --git a/engine/time/src/main/java/io/deephaven/time/calendar/BusinessCalendar.java b/engine/time/src/main/java/io/deephaven/time/calendar/BusinessCalendar.java index 3cc01ccb9be..7bbcf5a61e9 100644 --- a/engine/time/src/main/java/io/deephaven/time/calendar/BusinessCalendar.java +++ b/engine/time/src/main/java/io/deephaven/time/calendar/BusinessCalendar.java @@ -3,9 +3,8 @@ */ package io.deephaven.time.calendar; -import io.deephaven.time.DateTime; - import java.time.DayOfWeek; +import java.time.Instant; import java.time.LocalDate; import java.util.List; import java.util.Map; @@ -65,7 +64,7 @@ default boolean isBusinessDay() { * @param time time * @return true if the date is a business day; false otherwise. */ - boolean isBusinessDay(final DateTime time); + boolean isBusinessDay(final Instant time); /** * Is the date a business day? @@ -90,7 +89,7 @@ default boolean isBusinessDay() { * @param time time * @return true if the specified time is a business time; otherwise, false. */ - boolean isBusinessTime(final DateTime time); + boolean isBusinessTime(final Instant time); /** * Gets the previous business day. @@ -118,7 +117,7 @@ default String previousBusinessDay(int days) { * @param time time; if null, return null * @return the most recent business day before {@code time} */ - String previousBusinessDay(final DateTime time); + String previousBusinessDay(final Instant time); /** * Gets the business date {@code days} business days before input {@code time}. If {@code days} is zero and the day @@ -128,7 +127,7 @@ default String previousBusinessDay(int days) { * @param days number of days * @return the business date {@code days} business days before input {@code time} */ - String previousBusinessDay(final DateTime time, int days); + String previousBusinessDay(final Instant time, int days); /** * Gets the previous business day. @@ -178,7 +177,7 @@ default BusinessSchedule previousBusinessSchedule(int days) { * @param time time; if null, return null * @return the most recent business schedule before {@code time} */ - BusinessSchedule previousBusinessSchedule(final DateTime time); + BusinessSchedule previousBusinessSchedule(final Instant time); /** * Gets the business schedule {@code days} days before input {@code time}. @@ -188,7 +187,7 @@ default BusinessSchedule previousBusinessSchedule(int days) { * @param time time; if null, return null * @param days number of days */ - BusinessSchedule previousBusinessSchedule(final DateTime time, int days); + BusinessSchedule previousBusinessSchedule(final Instant time, int days); /** * Gets the business schedule before input {@code date}. @@ -237,7 +236,7 @@ default String previousNonBusinessDay(int days) { * @param time time; if null, return null * @return the most recent non-business day before {@code time} */ - String previousNonBusinessDay(final DateTime time); + String previousNonBusinessDay(final Instant time); /** * Gets the non-business date {@code days} non-business days before input {@code time}. If {@code days} is zero and @@ -247,7 +246,7 @@ default String previousNonBusinessDay(int days) { * @param days number of days * @return the non-business date {@code days} non-business days before input {@code time} */ - String previousNonBusinessDay(final DateTime time, int days); + String previousNonBusinessDay(final Instant time, int days); /** * Gets the previous non-business day. @@ -293,7 +292,7 @@ default String nextBusinessDay(int days) { * @param time time; if null, return null * @return the next business day after {@code time} */ - String nextBusinessDay(final DateTime time); + String nextBusinessDay(final Instant time); /** * Gets the business date {@code days} business days after input {@code time}. If {@code days} is zero and the day @@ -303,7 +302,7 @@ default String nextBusinessDay(int days) { * @param days number of days * @return the next business day after {@code time} */ - String nextBusinessDay(final DateTime time, int days); + String nextBusinessDay(final Instant time, int days); /** * Gets the next business day. @@ -350,7 +349,7 @@ default BusinessSchedule nextBusinessSchedule(int days) { * @param time time; if null, return null * @return the next closest business schedule after {@code time} */ - BusinessSchedule nextBusinessSchedule(final DateTime time); + BusinessSchedule nextBusinessSchedule(final Instant time); /** * Gets the business schedule {@code days} days after input {@code time}. @@ -361,7 +360,7 @@ default BusinessSchedule nextBusinessSchedule(int days) { * @param days number of days * @return the business schedule {@code days} after {@code time} */ - BusinessSchedule nextBusinessSchedule(final DateTime time, int days); + BusinessSchedule nextBusinessSchedule(final Instant time, int days); /** * Gets the next business schedule after input {@code date}. @@ -410,7 +409,7 @@ default String nextNonBusinessDay(int days) { * @param time time; if null, return null * @return the next non-business day after {@code time} */ - String nextNonBusinessDay(final DateTime time); + String nextNonBusinessDay(final Instant time); /** * Gets the non-business date {@code days} non-business days after input {@code time}. If {@code days} is zero and @@ -420,7 +419,7 @@ default String nextNonBusinessDay(int days) { * @param days number of days * @return the non-business date {@code days} non-business days after input {@code time} */ - String nextNonBusinessDay(final DateTime time, int days); + String nextNonBusinessDay(final Instant time, int days); /** * Gets the next non-business day. @@ -450,7 +449,7 @@ default String nextNonBusinessDay(int days) { * @param end end time; if null, return empty array * @return inclusive business days between {@code start} and {@code end} */ - String[] businessDaysInRange(final DateTime start, final DateTime end); + String[] businessDaysInRange(final Instant start, final Instant end); /** * Returns the business days between {@code start} and {@code end}, inclusive. @@ -474,7 +473,7 @@ default String nextNonBusinessDay(int days) { * @param end end time; if null, return empty array * @return inclusive non-business days between {@code start} and {@code end} */ - String[] nonBusinessDaysInRange(final DateTime start, final DateTime end); + String[] nonBusinessDaysInRange(final Instant start, final Instant end); /** * Returns the non-business days between {@code start} and {@code end}, inclusive. @@ -502,7 +501,7 @@ default String nextNonBusinessDay(int days) { * @param end end time; if null, return NULL_LONG * @return the amount of business time in nanoseconds between the {@code start} and {@code end} */ - long diffBusinessNanos(DateTime start, DateTime end); + long diffBusinessNanos(Instant start, Instant end); /** * Returns the amount of non-business time in nanoseconds between {@code start} and {@code end}. @@ -511,7 +510,7 @@ default String nextNonBusinessDay(int days) { * @param end end time; if null, return NULL_LONG * @return the amount of non-business time in nanoseconds between the {@code start} and {@code end} */ - long diffNonBusinessNanos(final DateTime start, final DateTime end); + long diffNonBusinessNanos(final Instant start, final Instant end); /** * Returns the amount of business time in standard business days between {@code start} and {@code end}. @@ -520,7 +519,7 @@ default String nextNonBusinessDay(int days) { * @param end end time; if null, return NULL_LONG * @return the amount of business time in standard business days between the {@code start} and {@code end} */ - double diffBusinessDay(final DateTime start, final DateTime end); + double diffBusinessDay(final Instant start, final Instant end); /** * Returns the amount of non-business time in standard business days between {@code start} and {@code end}. @@ -529,7 +528,7 @@ default String nextNonBusinessDay(int days) { * @param end end time; if null, return NULL_LONG * @return the amount of non-business time in standard business days between the {@code start} and {@code end} */ - double diffNonBusinessDay(final DateTime start, final DateTime end); + double diffNonBusinessDay(final Instant start, final Instant end); /** * Returns the number of business years between {@code start} and {@code end}. @@ -538,7 +537,7 @@ default String nextNonBusinessDay(int days) { * @param end end; if null, return null * @return the amount of business time in business years between the {@code start} and {@code end} */ - double diffBusinessYear(DateTime start, DateTime end); + double diffBusinessYear(Instant start, Instant end); /** * Returns the number of business days between {@code start} and {@code end}. @@ -547,7 +546,7 @@ default String nextNonBusinessDay(int days) { * @param end end time; if null, return NULL_INT * @return number of business days between the {@code start} and {@code end}, inclusive and exclusive respectively. */ - int numberOfBusinessDays(DateTime start, DateTime end); + int numberOfBusinessDays(Instant start, Instant end); /** * Returns the number of business days between {@code start} and {@code end}. @@ -558,7 +557,7 @@ default String nextNonBusinessDay(int days) { * @return number of business days between the {@code start} and {@code end}, inclusive and {@code endInclusive} * respectively. */ - int numberOfBusinessDays(DateTime start, DateTime end, final boolean endInclusive); + int numberOfBusinessDays(Instant start, Instant end, final boolean endInclusive); /** * Returns the number of business days between {@code start} and {@code end}. @@ -587,7 +586,7 @@ default String nextNonBusinessDay(int days) { * @param end end time; if null, return NULL_INT * @return number of business days between the {@code start} and {@code end}, inclusive and exclusive respectively. */ - int numberOfNonBusinessDays(DateTime start, DateTime end); + int numberOfNonBusinessDays(Instant start, Instant end); /** * Returns the number of non-business days between {@code start} and {@code end}. @@ -598,7 +597,7 @@ default String nextNonBusinessDay(int days) { * @return number of business days between the {@code start} and {@code end}, inclusive and {@code endInclusive} * respectively. */ - int numberOfNonBusinessDays(DateTime start, DateTime end, final boolean endInclusive); + int numberOfNonBusinessDays(Instant start, Instant end, final boolean endInclusive); /** * Returns the number of non-business days between {@code start} and {@code end}. @@ -625,7 +624,7 @@ default String nextNonBusinessDay(int days) { * holiday has zero business time and will therefore return 0.0. A normal business day will be of the standard * length and will therefore return 1.0. A half day holiday will return 0.5. * - * @see BusinessCalendar#fractionOfBusinessDayRemaining(DateTime) + * @see BusinessCalendar#fractionOfBusinessDayRemaining(Instant) * @return ratio of the business day length and the standard business day length for the current day */ default double fractionOfStandardBusinessDay() { @@ -637,18 +636,18 @@ default double fractionOfStandardBusinessDay() { * example, a holiday has zero business time and will therefore return 0.0. A normal business day will be of the * standard length and will therefore return 1.0. A half day holiday will return 0.5. * - * @see BusinessCalendar#fractionOfBusinessDayRemaining(DateTime) + * @see BusinessCalendar#fractionOfBusinessDayRemaining(Instant) * @param time time; if null, return 0 * @return ratio of the business day length and the standard business day length for the date */ - double fractionOfStandardBusinessDay(final DateTime time); + double fractionOfStandardBusinessDay(final Instant time); /** * For the given date, returns the ratio of the business day length and the standard business day length. For * example, a holiday has zero business time and will therefore return 0.0. A normal business day will be of the * standard length and will therefore return 1.0. A half day holiday will return 0.5. * - * @see BusinessCalendar#fractionOfBusinessDayRemaining(DateTime) + * @see BusinessCalendar#fractionOfBusinessDayRemaining(Instant) * @param date date; if null, return 0 * @return ratio of the business day length and the standard business day length for the date */ @@ -660,7 +659,7 @@ default double fractionOfStandardBusinessDay() { * @param time time * @return the fraction of the day left after {@code time}; NULL_DOUBLE if time is null */ - double fractionOfBusinessDayRemaining(final DateTime time); + double fractionOfBusinessDayRemaining(final Instant time); /** * Returns the fraction of the business day complete by the given time. @@ -668,7 +667,7 @@ default double fractionOfStandardBusinessDay() { * @param time time * @return the fraction of the day complete by {@code time}; NULL_DOUBLE if time is null */ - double fractionOfBusinessDayComplete(final DateTime time); + double fractionOfBusinessDayComplete(final Instant time); /** * Is the time on the last business day of the month with business time remaining? @@ -677,7 +676,7 @@ default double fractionOfStandardBusinessDay() { * @return true if {@code time} is on the last business day of the month with business time remaining; false * otherwise. */ - boolean isLastBusinessDayOfMonth(final DateTime time); + boolean isLastBusinessDayOfMonth(final Instant time); /** * Is the current day the last business day of the month? @@ -712,7 +711,7 @@ default boolean isLastBusinessDayOfWeek() { * @return true if {@code time} is on the last business day of the week with business time remaining; false * otherwise. */ - boolean isLastBusinessDayOfWeek(final DateTime time); + boolean isLastBusinessDayOfWeek(final Instant time); /** * Is the date the last business day of the week? @@ -729,7 +728,7 @@ default boolean isLastBusinessDayOfWeek() { * @return the corresponding BusinessSchedule of {@code time}; null if time is null */ @Deprecated - BusinessSchedule getBusinessDay(final DateTime time); + BusinessSchedule getBusinessDay(final Instant time); /** * Gets the indicated business day. @@ -755,7 +754,7 @@ default boolean isLastBusinessDayOfWeek() { * @param time time * @return the corresponding BusinessSchedule of {@code time}; null if time is null */ - BusinessSchedule getBusinessSchedule(final DateTime time); + BusinessSchedule getBusinessSchedule(final Instant time); /** * Gets the indicated business day's schedule. {@code getBusinessSchedule(null)} returns {@code null}. diff --git a/engine/time/src/main/java/io/deephaven/time/calendar/BusinessPeriod.java b/engine/time/src/main/java/io/deephaven/time/calendar/BusinessPeriod.java index fa7aebd2d95..b4cd9bfcd5d 100644 --- a/engine/time/src/main/java/io/deephaven/time/calendar/BusinessPeriod.java +++ b/engine/time/src/main/java/io/deephaven/time/calendar/BusinessPeriod.java @@ -3,21 +3,21 @@ */ package io.deephaven.time.calendar; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import java.io.Serializable; +import java.time.Instant; /** * A period of business time during a business day. */ public class BusinessPeriod implements Serializable { private static final long serialVersionUID = 8196837269495115196L; - private final DateTime startTime; - private final DateTime endTime; + private final Instant startTime; + private final Instant endTime; @SuppressWarnings("ConstantConditions") - BusinessPeriod(final DateTime startTime, final DateTime endTime) { + BusinessPeriod(final Instant startTime, final Instant endTime) { this.startTime = startTime; this.endTime = endTime; @@ -25,7 +25,7 @@ public class BusinessPeriod implements Serializable { throw new IllegalArgumentException("Null argument: startTime=" + startTime + " endTime=" + endTime); } - if (startTime.getNanos() > endTime.getNanos()) { + if (DateTimeUtils.epochNanos(startTime) > DateTimeUtils.epochNanos(endTime)) { throw new IllegalArgumentException("Start is after end: startTime=" + startTime + " endTime=" + endTime); } } @@ -35,7 +35,7 @@ public class BusinessPeriod implements Serializable { * * @return the start of the period */ - public DateTime getStartTime() { + public Instant getStartTime() { return startTime; } @@ -44,7 +44,7 @@ public DateTime getStartTime() { * * @return the end of the period */ - public DateTime getEndTime() { + public Instant getEndTime() { return endTime; } @@ -63,7 +63,9 @@ public long getLength() { * @param time time. * @return true if the time is in this period; otherwise, false. */ - public boolean contains(final DateTime time) { - return time != null && (startTime.getNanos() <= time.getNanos() && time.getNanos() <= endTime.getNanos()); + public boolean contains(final Instant time) { + return time != null + && DateTimeUtils.epochNanos(startTime) <= DateTimeUtils.epochNanos(time) + && DateTimeUtils.epochNanos(time) <= DateTimeUtils.epochNanos(endTime); } } diff --git a/engine/time/src/main/java/io/deephaven/time/calendar/BusinessSchedule.java b/engine/time/src/main/java/io/deephaven/time/calendar/BusinessSchedule.java index 10d85f0a910..abe3460c598 100644 --- a/engine/time/src/main/java/io/deephaven/time/calendar/BusinessSchedule.java +++ b/engine/time/src/main/java/io/deephaven/time/calendar/BusinessSchedule.java @@ -3,11 +3,11 @@ */ package io.deephaven.time.calendar; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; import java.io.Serializable; +import java.time.Instant; import java.util.Arrays; /** @@ -17,8 +17,8 @@ public class BusinessSchedule implements Serializable { private static final long serialVersionUID = 1118129010491637735L; private final BusinessPeriod[] openPeriods; - private final DateTime startOfDay; - private final DateTime endOfDay; + private final Instant startOfDay; + private final Instant endOfDay; private final long lengthOfDay; /** @@ -32,7 +32,8 @@ public class BusinessSchedule implements Serializable { // make sure the periods are in order Arrays.sort(this.openPeriods, (o1, o2) -> { - final long compared = o2.getStartTime().getNanos() - o1.getStartTime().getNanos(); + final long compared = + DateTimeUtils.epochNanos(o2.getStartTime()) - DateTimeUtils.epochNanos(o1.getStartTime()); if (compared > 0) { return -1; } else if (compared == 0) { @@ -68,7 +69,7 @@ public class BusinessSchedule implements Serializable { final BusinessPeriod p0 = this.openPeriods[i - 1]; final BusinessPeriod p1 = this.openPeriods[i]; - if (p1.getStartTime().getNanos() < p0.getEndTime().getNanos()) { + if (DateTimeUtils.epochNanos(p1.getStartTime()) < DateTimeUtils.epochNanos(p0.getEndTime())) { throw new IllegalArgumentException("Periods overlap."); } } @@ -88,7 +89,7 @@ public BusinessPeriod[] getBusinessPeriods() { * * @return start of the business day */ - public DateTime getSOBD() { + public Instant getSOBD() { return startOfDay; } @@ -97,7 +98,7 @@ public DateTime getSOBD() { * * @return start of the business day */ - public DateTime getStartOfBusinessDay() { + public Instant getStartOfBusinessDay() { return getSOBD(); } @@ -106,7 +107,7 @@ public DateTime getStartOfBusinessDay() { * * @return end of the business day */ - public DateTime getEOBD() { + public Instant getEOBD() { return endOfDay; } @@ -115,7 +116,7 @@ public DateTime getEOBD() { * * @return end of the business day */ - public DateTime getEndOfBusinessDay() { + public Instant getEndOfBusinessDay() { return getEOBD(); } @@ -154,7 +155,7 @@ public boolean isBusinessDay() { * @param time time. * @return true if the time is a business time for the day; otherwise, false. */ - public boolean isBusinessTime(final DateTime time) { + public boolean isBusinessTime(final Instant time) { for (BusinessPeriod p : openPeriods) { if (p.contains(time)) { return true; @@ -170,7 +171,7 @@ public boolean isBusinessTime(final DateTime time) { * @param time time * @return business time in nanoseconds that has elapsed on the given day by the specified time */ - public long businessTimeElapsed(final DateTime time) { + public long businessTimeElapsed(final Instant time) { long elapsed = 0; for (BusinessPeriod businessPeriod : openPeriods) { diff --git a/engine/time/src/main/java/io/deephaven/time/calendar/Calendar.java b/engine/time/src/main/java/io/deephaven/time/calendar/Calendar.java index 23ee288552d..e9e3edfc0af 100644 --- a/engine/time/src/main/java/io/deephaven/time/calendar/Calendar.java +++ b/engine/time/src/main/java/io/deephaven/time/calendar/Calendar.java @@ -3,11 +3,11 @@ */ package io.deephaven.time.calendar; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.TimeZone; import java.time.DayOfWeek; +import java.time.Instant; +import java.time.ZoneId; /** * A calendar. @@ -16,7 +16,7 @@ * To comply with the ISO-8601 standard for Dates, Strings should be of the form "yyyy-MM-dd", * * - * Methods on DateTime may not be precisely defined enough to return a DateTime, e.g nextDay(). In these cases, the + * Methods on Instant may not be precisely defined enough to return an Instant, e.g nextDay(). In these cases, the * method will return a String as discussed above. * * @@ -24,9 +24,9 @@ * a different time zone is considered a different calendar. * * - * Frequently, the default implementation for methods on DateTimes is to call the corresponding method on a String with - * {@code DateTime.toDateString}. This can be slower than methods written explicitly for DateTimes. If performance is an - * issue, consider overriding these methods with other behavior. + * Frequently, the default implementation for methods on Instants is to call the corresponding method on a String with + * {@code DateTimeUtils.formatDate}. This can be slower than methods written explicitly for DateTimes. If performance is + * an issue, consider overriding these methods with other behavior. */ public interface Calendar { @@ -43,7 +43,7 @@ public interface Calendar { * @return the current day */ default String currentDay() { - return DateTimeUtils.currentDate(timeZone()); + return DateTimeUtils.today(timeZone()); } /** @@ -71,7 +71,7 @@ default String previousDay(final int days) { * @param time time; if null, return null * @return the day before {@code time} */ - String previousDay(final DateTime time); + String previousDay(final Instant time); /** * Gets the date the specified number of days prior to the input date. @@ -80,7 +80,7 @@ default String previousDay(final int days) { * @param days number of days; * @return the date {@code days} before {@code date} */ - String previousDay(final DateTime time, final int days); + String previousDay(final Instant time, final int days); /** * Gets the previous date. @@ -124,7 +124,7 @@ default String nextDay(final int days) { * @param time time; if null, return null * @return the day after {@code time} */ - String nextDay(final DateTime time); + String nextDay(final Instant time); /** * Gets the date {@code days} after the input {@code time}. @@ -133,7 +133,7 @@ default String nextDay(final int days) { * @param days number of days; * @return the day after {@code time} */ - String nextDay(final DateTime time, final int days); + String nextDay(final Instant time, final int days); /** * Gets the next date. @@ -159,7 +159,7 @@ default String nextDay(final int days) { * @param end end of a time range; if null, return empty array * @return the inclusive days between {@code start} and {@code end} */ - String[] daysInRange(DateTime start, DateTime end); + String[] daysInRange(Instant start, Instant end); /** * Gets the days in a given range. @@ -177,7 +177,7 @@ default String nextDay(final int days) { * @param end end of a time range; if null, return {@code NULL_INT} * @return the number days between {@code start} and {@code end}, inclusive and exclusive respectively. */ - int numberOfDays(final DateTime start, final DateTime end); + int numberOfDays(final Instant start, final Instant end); /** * Gets the number of days in a given range. @@ -188,7 +188,7 @@ default String nextDay(final int days) { * @return the number of days between {@code start} and {@code end}, inclusive and {@code endInclusive} * respectively. */ - int numberOfDays(final DateTime start, final DateTime end, final boolean endInclusive); + int numberOfDays(final Instant start, final Instant end, final boolean endInclusive); /** * Gets the number of days in a given range, end date exclusive. @@ -217,7 +217,7 @@ default String nextDay(final int days) { * @param end end time; if null, return NULL_LONG * @return the amount of time in nanoseconds between the {@code start} and {@code end} */ - long diffNanos(final DateTime start, final DateTime end); + long diffNanos(final Instant start, final Instant end); /** * Returns the amount of time in days between {@code start} and {@code end}. @@ -226,16 +226,25 @@ default String nextDay(final int days) { * @param end end time; if null, return NULL_LONG * @return the amount of time in days between the {@code start} and {@code end} */ - double diffDay(final DateTime start, final DateTime end); + double diffDay(final Instant start, final Instant end); /** - * Returns the number of years between {@code start} and {@code end}. + * Returns the number of 365 day years between {@code start} and {@code end}. * * @param start start; if null, return null * @param end end; if null, return null * @return the amount of time in years between the {@code start} and {@code end} */ - double diffYear(DateTime start, DateTime end); + double diffYear365(Instant start, Instant end); + + /** + * Returns the number of average (365.2425 day) years between {@code start} and {@code end}. + * + * @param start start; if null, return null + * @param end end; if null, return null + * @return the amount of time in years between the {@code start} and {@code end} + */ + double diffYearAvg(Instant start, Instant end); /** * Gets the day of the week for the current day. @@ -252,7 +261,7 @@ default DayOfWeek dayOfWeek() { * @param time time; if null, return null * @return the day of the week of {@code time} */ - DayOfWeek dayOfWeek(final DateTime time); + DayOfWeek dayOfWeek(final Instant time); /** * Gets the day of the week for a time. @@ -267,5 +276,5 @@ default DayOfWeek dayOfWeek() { * * @return the time zone of the calendar */ - TimeZone timeZone(); + ZoneId timeZone(); } diff --git a/engine/time/src/main/java/io/deephaven/time/calendar/DefaultBusinessCalendar.java b/engine/time/src/main/java/io/deephaven/time/calendar/DefaultBusinessCalendar.java index 6562799396b..02080e1c06e 100644 --- a/engine/time/src/main/java/io/deephaven/time/calendar/DefaultBusinessCalendar.java +++ b/engine/time/src/main/java/io/deephaven/time/calendar/DefaultBusinessCalendar.java @@ -4,9 +4,8 @@ package io.deephaven.time.calendar; import io.deephaven.base.Pair; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.TimeZone; +import io.deephaven.time.TimeZoneAliases; import io.deephaven.util.QueryConstants; import io.deephaven.util.annotations.VisibleForTesting; import org.jdom2.Document; @@ -19,7 +18,9 @@ import java.io.IOException; import java.io.Serializable; import java.time.DayOfWeek; +import java.time.Instant; import java.time.LocalDate; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.Calendar; @@ -43,7 +44,7 @@ public class DefaultBusinessCalendar extends AbstractBusinessCalendar implements // each calendar has a name, timezone, and date string format private final String calendarName; - private final TimeZone timeZone; + private final ZoneId timeZone; // length, in nanos, that a default day is open private final long lengthOfDefaultDayNanos; @@ -63,7 +64,7 @@ public class DefaultBusinessCalendar extends AbstractBusinessCalendar implements calendarElements.holidays); } - private DefaultBusinessCalendar(final String calendarName, final TimeZone timeZone, + private DefaultBusinessCalendar(final String calendarName, final ZoneId timeZone, final long lengthOfDefaultDayNanos, final List defaultBusinessPeriodStrings, final Set weekendDays, final Map dates, final Map holidays) { @@ -225,9 +226,9 @@ private static String getCalendarName(@NotNull final Element root, final String return getText(element); } - private static TimeZone getTimeZone(@NotNull final Element root, final String filePath) { + private static ZoneId getTimeZone(@NotNull final Element root, final String filePath) { final Element element = getRequiredChild(root, "timeZone", filePath); - return TimeZone.valueOf(getText(element)); + return TimeZoneAliases.zoneId(getText(element)); } // throws an error if the child is missing @@ -281,7 +282,7 @@ private static long parseStandardBusinessDayLengthNanos(final List defau return lengthOfDefaultDayNanos; } - private static BusinessPeriod[] parseBusinessPeriods(final TimeZone timeZone, final LocalDate date, + private static BusinessPeriod[] parseBusinessPeriods(final ZoneId timeZone, final LocalDate date, final List businessPeriodStrings) { final BusinessPeriod[] businessPeriods = new BusinessPeriod[businessPeriodStrings.size()]; final Pattern hhmm = Pattern.compile("\\d{2}[:]\\d{2}"); @@ -292,7 +293,7 @@ private static BusinessPeriod[] parseBusinessPeriods(final TimeZone timeZone, fi final String open = openClose[0]; String close = openClose[1]; if (hhmm.matcher(open).matches() && hhmm.matcher(close).matches()) { - final String tz = timeZone.name().substring(timeZone.name().indexOf("_")).replace("_", " "); + final String tz = TimeZoneAliases.zoneName(timeZone); final LocalDate closeDate; if (close.equals("24:00")) { // midnight closing time @@ -306,11 +307,11 @@ private static BusinessPeriod[] parseBusinessPeriods(final TimeZone timeZone, fi closeDate = date; } - final String openDateStr = date.toString() + "T" + open + tz; - final String closeDateStr = closeDate.toString() + "T" + close + tz; + final String openDateStr = date.toString() + "T" + open + " " + tz; + final String closeDateStr = closeDate.toString() + "T" + close + " " + tz; - businessPeriods[i++] = new BusinessPeriod(DateTimeUtils.convertDateTime(openDateStr), - DateTimeUtils.convertDateTime(closeDateStr)); + businessPeriods[i++] = new BusinessPeriod(DateTimeUtils.parseInstant(openDateStr), + DateTimeUtils.parseInstant(closeDateStr)); } } } @@ -339,7 +340,7 @@ public String name() { } @Override - public TimeZone timeZone() { + public ZoneId timeZone() { return timeZone; } @@ -350,7 +351,7 @@ public long standardBusinessDayLengthNanos() { @Override @Deprecated - public BusinessSchedule getBusinessDay(final DateTime time) { + public BusinessSchedule getBusinessDay(final Instant time) { if (time == null) { return null; } @@ -378,7 +379,7 @@ public BusinessSchedule getBusinessDay(final LocalDate date) { } @Override - public BusinessSchedule getBusinessSchedule(final DateTime time) { + public BusinessSchedule getBusinessSchedule(final Instant time) { if (time == null) { return null; } @@ -412,7 +413,7 @@ private BusinessSchedule newBusinessDay(final LocalDate date) { } private static BusinessSchedule newBusinessDay(final LocalDate date, final Set weekendDays, - final TimeZone timeZone, final List businessPeriodStrings) { + final ZoneId timeZone, final List businessPeriodStrings) { if (date == null) { return null; } @@ -426,7 +427,7 @@ private static BusinessSchedule newBusinessDay(final LocalDate date, final Set defaultBusinessPeriodStrings; private Set weekendDays; @@ -573,12 +574,12 @@ public BusinessPeriod[] getBusinessPeriods() { } @Override - public DateTime getSOBD() { + public Instant getSOBD() { throw new UnsupportedOperationException("This is a holiday"); } @Override - public DateTime getEOBD() { + public Instant getEOBD() { throw new UnsupportedOperationException("This is a holiday"); } diff --git a/engine/time/src/main/java/io/deephaven/time/calendar/DefaultNoHolidayBusinessCalendar.java b/engine/time/src/main/java/io/deephaven/time/calendar/DefaultNoHolidayBusinessCalendar.java index 11bfa437ac1..d062e020562 100644 --- a/engine/time/src/main/java/io/deephaven/time/calendar/DefaultNoHolidayBusinessCalendar.java +++ b/engine/time/src/main/java/io/deephaven/time/calendar/DefaultNoHolidayBusinessCalendar.java @@ -3,11 +3,10 @@ */ package io.deephaven.time.calendar; -import io.deephaven.time.DateTime; -import io.deephaven.time.TimeZone; - import java.time.DayOfWeek; +import java.time.Instant; import java.time.LocalDate; +import java.time.ZoneId; import java.util.List; import java.util.Map; @@ -49,7 +48,7 @@ public String name() { } @Override - public TimeZone timeZone() { + public ZoneId timeZone() { return calendar.timeZone(); } @@ -60,7 +59,7 @@ public long standardBusinessDayLengthNanos() { @Override @Deprecated - public BusinessSchedule getBusinessDay(final DateTime time) { + public BusinessSchedule getBusinessDay(final Instant time) { return calendar.getBusinessDay(time); } @@ -77,7 +76,7 @@ public BusinessSchedule getBusinessDay(final LocalDate date) { } @Override - public BusinessSchedule getBusinessSchedule(final DateTime time) { + public BusinessSchedule getBusinessSchedule(final Instant time) { return calendar.getBusinessSchedule(time); } @@ -92,12 +91,12 @@ public BusinessSchedule getBusinessSchedule(final LocalDate date) { } @Override - public long diffBusinessNanos(final DateTime start, final DateTime end) { + public long diffBusinessNanos(final Instant start, final Instant end) { return calendar.diffBusinessNanos(start, end); } @Override - public double diffBusinessYear(final DateTime startTime, final DateTime endTime) { + public double diffBusinessYear(final Instant startTime, final Instant endTime) { return calendar.diffBusinessYear(startTime, endTime); } @@ -128,12 +127,12 @@ public String previousNonBusinessDay(int days) { } @Override - public String previousNonBusinessDay(DateTime time) { + public String previousNonBusinessDay(Instant time) { throw new UnsupportedOperationException("Calendar has no non-business days."); } @Override - public String previousNonBusinessDay(DateTime time, int days) { + public String previousNonBusinessDay(Instant time, int days) { throw new UnsupportedOperationException("Calendar has no non-business days."); } @@ -158,12 +157,12 @@ public String nextNonBusinessDay(int days) { } @Override - public String nextNonBusinessDay(DateTime time) { + public String nextNonBusinessDay(Instant time) { throw new UnsupportedOperationException("Calendar has no non-business days."); } @Override - public String nextNonBusinessDay(DateTime time, int days) { + public String nextNonBusinessDay(Instant time, int days) { throw new UnsupportedOperationException("Calendar has no non-business days."); } @@ -178,7 +177,7 @@ public String nextNonBusinessDay(String date, int days) { } @Override - public String[] nonBusinessDaysInRange(DateTime start, DateTime end) { + public String[] nonBusinessDaysInRange(Instant start, Instant end) { return new String[0]; } @@ -188,22 +187,22 @@ public String[] nonBusinessDaysInRange(String start, String end) { } @Override - public long diffNonBusinessNanos(DateTime start, DateTime end) { + public long diffNonBusinessNanos(Instant start, Instant end) { return 0; } @Override - public double diffNonBusinessDay(DateTime start, DateTime end) { + public double diffNonBusinessDay(Instant start, Instant end) { return 0; } @Override - public int numberOfNonBusinessDays(DateTime start, DateTime end) { + public int numberOfNonBusinessDays(Instant start, Instant end) { return 0; } @Override - public int numberOfNonBusinessDays(DateTime start, DateTime end, boolean endInclusive) { + public int numberOfNonBusinessDays(Instant start, Instant end, boolean endInclusive) { return 0; } diff --git a/engine/time/src/main/java/io/deephaven/time/calendar/StaticCalendarMethods.java b/engine/time/src/main/java/io/deephaven/time/calendar/StaticCalendarMethods.java index cea4d88e40f..c446c5080a7 100644 --- a/engine/time/src/main/java/io/deephaven/time/calendar/StaticCalendarMethods.java +++ b/engine/time/src/main/java/io/deephaven/time/calendar/StaticCalendarMethods.java @@ -3,11 +3,10 @@ */ package io.deephaven.time.calendar; -import io.deephaven.time.DateTime; -import io.deephaven.time.TimeZone; - import java.time.DayOfWeek; +import java.time.Instant; import java.time.LocalDate; +import java.time.ZoneId; /** * Convenience methods for {@link BusinessCalendar} and {@link Calendar}. @@ -17,9 +16,9 @@ public class StaticCalendarMethods { // These methods are imported from DateTimeUtils, so are not included here - // public static long diffNanos(final DateTime start, final DateTime end) { - // public static long diffDay(final DateTime start, final DateTime end) { - // public static long diffYear(final DateTime start, final DateTime end) { + // public static long diffNanos(final Instant start, final Instant end) { + // public static long diffDay(final Instant start, final Instant end) { + // public static long diffYear(final Instant start, final Instant end) { private StaticCalendarMethods() { @@ -41,11 +40,11 @@ public static String previousDay(int days) { return Calendars.calendar().previousDay(days); } - public static String previousDay(final DateTime time) { + public static String previousDay(final Instant time) { return Calendars.calendar().previousDay(time); } - public static String previousDay(final DateTime time, final int days) { + public static String previousDay(final Instant time, final int days) { return Calendars.calendar().previousDay(time, days); } @@ -65,11 +64,11 @@ public static String nextDay(int days) { return Calendars.calendar().nextDay(days); } - public static String nextDay(final DateTime time) { + public static String nextDay(final Instant time) { return Calendars.calendar().nextDay(time); } - public static String nextDay(final DateTime time, final int days) { + public static String nextDay(final Instant time, final int days) { return Calendars.calendar().nextDay(time, days); } @@ -81,7 +80,7 @@ public static String nextDay(final String date, final int days) { return Calendars.calendar().nextDay(date, days); } - public static String[] daysInRange(DateTime start, DateTime end) { + public static String[] daysInRange(Instant start, Instant end) { return Calendars.calendar().daysInRange(start, end); } @@ -89,11 +88,11 @@ public static String[] daysInRange(final String start, final String end) { return Calendars.calendar().daysInRange(start, end); } - public static int numberOfDays(final DateTime start, final DateTime end) { + public static int numberOfDays(final Instant start, final Instant end) { return Calendars.calendar().numberOfDays(start, end); } - public static int numberOfDays(final DateTime start, final DateTime end, final boolean endInclusive) { + public static int numberOfDays(final Instant start, final Instant end, final boolean endInclusive) { return Calendars.calendar().numberOfDays(start, end, endInclusive); } @@ -109,7 +108,7 @@ public static DayOfWeek dayOfWeek() { return Calendars.calendar().dayOfWeek(); } - public static DayOfWeek dayOfWeek(final DateTime time) { + public static DayOfWeek dayOfWeek(final Instant time) { return Calendars.calendar().dayOfWeek(time); } @@ -117,7 +116,7 @@ public static DayOfWeek dayOfWeek(final String date) { return Calendars.calendar().dayOfWeek(date); } - public static TimeZone timeZone() { + public static ZoneId calendarTimeZone() { return Calendars.calendar().timeZone(); } @@ -125,7 +124,7 @@ public static boolean isBusinessDay() { return Calendars.calendar().isBusinessDay(); } - public static boolean isBusinessDay(DateTime time) { + public static boolean isBusinessDay(Instant time) { return Calendars.calendar().isBusinessDay(time); } @@ -137,7 +136,7 @@ public static boolean isBusinessDay(LocalDate date) { return Calendars.calendar().isBusinessDay(date); } - public static boolean isBusinessTime(DateTime time) { + public static boolean isBusinessTime(Instant time) { return Calendars.calendar().isBusinessTime(time); } @@ -149,11 +148,11 @@ public static String previousBusinessDay(int days) { return Calendars.calendar().previousBusinessDay(days); } - public static String previousBusinessDay(DateTime time) { + public static String previousBusinessDay(Instant time) { return Calendars.calendar().previousBusinessDay(time); } - public static String previousBusinessDay(DateTime time, int days) { + public static String previousBusinessDay(Instant time, int days) { return Calendars.calendar().previousBusinessDay(time, days); } @@ -173,11 +172,11 @@ public static BusinessSchedule previousBusinessSchedule(int days) { return Calendars.calendar().previousBusinessSchedule(days); } - public static BusinessSchedule previousBusinessSchedule(DateTime time) { + public static BusinessSchedule previousBusinessSchedule(Instant time) { return Calendars.calendar().previousBusinessSchedule(time); } - public static BusinessSchedule previousBusinessSchedule(DateTime time, int days) { + public static BusinessSchedule previousBusinessSchedule(Instant time, int days) { return Calendars.calendar().previousBusinessSchedule(time, days); } @@ -197,11 +196,11 @@ public static String previousNonBusinessDay(int days) { return Calendars.calendar().previousNonBusinessDay(days); } - public static String previousNonBusinessDay(DateTime time) { + public static String previousNonBusinessDay(Instant time) { return Calendars.calendar().previousNonBusinessDay(time); } - public static String previousNonBusinessDay(DateTime time, int days) { + public static String previousNonBusinessDay(Instant time, int days) { return Calendars.calendar().previousNonBusinessDay(time, days); } @@ -221,11 +220,11 @@ public static String nextBusinessDay(int days) { return Calendars.calendar().nextBusinessDay(days); } - public static String nextBusinessDay(DateTime time) { + public static String nextBusinessDay(Instant time) { return Calendars.calendar().nextBusinessDay(time); } - public static String nextBusinessDay(DateTime time, int days) { + public static String nextBusinessDay(Instant time, int days) { return Calendars.calendar().nextBusinessDay(time, days); } @@ -245,11 +244,11 @@ public static BusinessSchedule nextBusinessSchedule(int days) { return Calendars.calendar().nextBusinessSchedule(days); } - public static BusinessSchedule nextBusinessSchedule(DateTime time) { + public static BusinessSchedule nextBusinessSchedule(Instant time) { return Calendars.calendar().nextBusinessSchedule(time); } - public static BusinessSchedule nextBusinessSchedule(DateTime time, int days) { + public static BusinessSchedule nextBusinessSchedule(Instant time, int days) { return Calendars.calendar().nextBusinessSchedule(time, days); } @@ -269,11 +268,11 @@ public static String nextNonBusinessDay(int days) { return Calendars.calendar().nextNonBusinessDay(days); } - public static String nextNonBusinessDay(DateTime time) { + public static String nextNonBusinessDay(Instant time) { return Calendars.calendar().nextNonBusinessDay(time); } - public static String nextNonBusinessDay(DateTime time, int days) { + public static String nextNonBusinessDay(Instant time, int days) { return Calendars.calendar().nextNonBusinessDay(time, days); } @@ -285,7 +284,7 @@ public static String nextNonBusinessDay(String date, int days) { return Calendars.calendar().nextNonBusinessDay(date, days); } - public static String[] businessDaysInRange(DateTime start, DateTime end) { + public static String[] businessDaysInRange(Instant start, Instant end) { return Calendars.calendar().businessDaysInRange(start, end); } @@ -293,7 +292,7 @@ public static String[] businessDaysInRange(String start, String end) { return Calendars.calendar().businessDaysInRange(start, end); } - public static String[] nonBusinessDaysInRange(DateTime start, DateTime end) { + public static String[] nonBusinessDaysInRange(Instant start, Instant end) { return Calendars.calendar().nonBusinessDaysInRange(start, end); } @@ -305,31 +304,31 @@ public static long standardBusinessDayLengthNanos() { return Calendars.calendar().standardBusinessDayLengthNanos(); } - public static long diffBusinessNanos(DateTime start, DateTime end) { + public static long diffBusinessNanos(Instant start, Instant end) { return Calendars.calendar().diffBusinessNanos(start, end); } - public static long diffNonBusinessNanos(DateTime start, DateTime end) { + public static long diffNonBusinessNanos(Instant start, Instant end) { return Calendars.calendar().diffNonBusinessNanos(start, end); } - public static double diffBusinessDay(DateTime start, DateTime end) { + public static double diffBusinessDay(Instant start, Instant end) { return Calendars.calendar().diffBusinessDay(start, end); } - public static double diffNonBusinessDay(DateTime start, DateTime end) { + public static double diffNonBusinessDay(Instant start, Instant end) { return Calendars.calendar().diffNonBusinessDay(start, end); } - public static double diffBusinessYear(DateTime start, DateTime end) { + public static double diffBusinessYear(Instant start, Instant end) { return Calendars.calendar().diffBusinessYear(start, end); } - public static int numberOfBusinessDays(DateTime start, DateTime end) { + public static int numberOfBusinessDays(Instant start, Instant end) { return Calendars.calendar().numberOfBusinessDays(start, end); } - public static int numberOfBusinessDays(DateTime start, DateTime end, boolean endInclusive) { + public static int numberOfBusinessDays(Instant start, Instant end, boolean endInclusive) { return Calendars.calendar().numberOfBusinessDays(start, end, endInclusive); } @@ -341,11 +340,11 @@ public static int numberOfBusinessDays(String start, String end, boolean endIncl return Calendars.calendar().numberOfBusinessDays(start, end, endInclusive); } - public static int numberOfNonBusinessDays(DateTime start, DateTime end) { + public static int numberOfNonBusinessDays(Instant start, Instant end) { return Calendars.calendar().numberOfNonBusinessDays(start, end); } - public static int numberOfNonBusinessDays(DateTime start, DateTime end, boolean endInclusive) { + public static int numberOfNonBusinessDays(Instant start, Instant end, boolean endInclusive) { return Calendars.calendar().numberOfNonBusinessDays(start, end, endInclusive); } @@ -361,7 +360,7 @@ public static double fractionOfStandardBusinessDay() { return Calendars.calendar().fractionOfStandardBusinessDay(); } - public static double fractionOfStandardBusinessDay(DateTime time) { + public static double fractionOfStandardBusinessDay(Instant time) { return Calendars.calendar().fractionOfStandardBusinessDay(time); } @@ -369,11 +368,11 @@ public static double fractionOfStandardBusinessDay(String date) { return Calendars.calendar().fractionOfStandardBusinessDay(date); } - public static double fractionOfBusinessDayRemaining(DateTime time) { + public static double fractionOfBusinessDayRemaining(Instant time) { return Calendars.calendar().fractionOfBusinessDayRemaining(time); } - public static double fractionOfBusinessDayComplete(DateTime time) { + public static double fractionOfBusinessDayComplete(Instant time) { return Calendars.calendar().fractionOfBusinessDayComplete(time); } @@ -381,7 +380,7 @@ public static boolean isLastBusinessDayOfMonth() { return Calendars.calendar().isLastBusinessDayOfMonth(); } - public static boolean isLastBusinessDayOfMonth(DateTime time) { + public static boolean isLastBusinessDayOfMonth(Instant time) { return Calendars.calendar().isLastBusinessDayOfMonth(time); } @@ -393,7 +392,7 @@ public static boolean isLastBusinessDayOfWeek() { return Calendars.calendar().isLastBusinessDayOfWeek(); } - public static boolean isLastBusinessDayOfWeek(DateTime time) { + public static boolean isLastBusinessDayOfWeek(Instant time) { return Calendars.calendar().isLastBusinessDayOfWeek(time); } @@ -401,7 +400,7 @@ public static boolean isLastBusinessDayOfWeek(String date) { return Calendars.calendar().isLastBusinessDayOfWeek(date); } - public static BusinessSchedule getBusinessSchedule(DateTime time) { + public static BusinessSchedule getBusinessSchedule(Instant time) { return Calendars.calendar().getBusinessSchedule(time); } diff --git a/engine/time/src/test/java/io/deephaven/time/TestDateTime.java b/engine/time/src/test/java/io/deephaven/time/TestDateTime.java deleted file mode 100644 index 38eefb8657c..00000000000 --- a/engine/time/src/test/java/io/deephaven/time/TestDateTime.java +++ /dev/null @@ -1,119 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.time; - -import io.deephaven.base.testing.BaseArrayTestCase; -import junit.framework.TestCase; -import org.joda.time.DateTimeZone; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.ZoneId; -import java.time.zone.ZoneRulesException; -import java.util.Date; - -import static io.deephaven.time.DateTimeUtils.convertDateTime; - -public class TestDateTime extends BaseArrayTestCase { - - public void testAll() throws Exception { - org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); - - long nanos = jodaDateTime.getMillis() * 1000000 + 123456; - - DateTime dateTime = new DateTime(nanos); - - TestCase.assertEquals(nanos, dateTime.getNanos()); - - TestCase.assertEquals(jodaDateTime.getMillis(), dateTime.getMillis()); - - TestCase.assertEquals(123456, dateTime.getNanosPartial()); - - TestCase.assertEquals(new Date(jodaDateTime.getMillis()), dateTime.getDate()); - - TestCase.assertEquals(jodaDateTime, dateTime.getJodaDateTime()); - - TestCase.assertEquals(TimeZone.TZ_NY.getTimeZone(), dateTime.getJodaDateTime(TimeZone.TZ_NY).getZone()); - - TestCase.assertTrue(new DateTime(123456).equals(new DateTime(123456))); - - TestCase.assertEquals(-1, new DateTime(123456).compareTo(new DateTime(123457))); - TestCase.assertEquals(0, new DateTime(123456).compareTo(new DateTime(123456))); - TestCase.assertEquals(1, new DateTime(123456).compareTo(new DateTime(123455))); - } - - public void testInstant() { - org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime("2010-01-11T12:13:14.999"); - DateTime dateTime1 = new DateTime(jodaDateTime.getMillis() * 1000000); - long nanos = jodaDateTime.getMillis() * 1000000 + 123456; - DateTime dateTime2 = new DateTime(nanos); - - java.time.Instant target1 = java.time.Instant.ofEpochMilli(jodaDateTime.getMillis()); - TestCase.assertEquals(target1, dateTime1.getInstant()); - - java.time.Instant target2 = java.time.Instant.ofEpochSecond(jodaDateTime.getMillis() / 1000, 999123456); - TestCase.assertEquals(target2, dateTime2.getInstant()); - } - - private long getMillisFromDateStr(SimpleDateFormat format, String dateStr) { - try { - Date date = format.parse(dateStr); - return date.getTime(); - } catch (ParseException e) { - return 0; - } - } - - public void testToDateString() { - DateTime dateTime = convertDateTime("2016-11-06T04:00 UTC"); // 11/6 is the last day of DST - - { // America/New_York - String zoneId = "America/New_York"; - TestCase.assertEquals("2016-11-06", dateTime.toDateString(TimeZone.TZ_NY)); - TestCase.assertEquals("2016-11-06", dateTime.toDateString(DateTimeZone.forID(zoneId))); - TestCase.assertEquals("2016-11-06", dateTime.toDateString(zoneId)); - TestCase.assertEquals("2016-11-06", dateTime.toDateString(ZoneId.of(zoneId))); - } - - { // EST - supported by joda; not java.time - String zoneId = "EST"; - TestCase.assertEquals("2016-11-05", dateTime.toDateString(DateTimeZone.forID(zoneId))); - - try { - TestCase.assertEquals("2016-11-05", dateTime.toDateString(zoneId)); - TestCase.fail("Should have thrown an exception for invalid zone"); - } catch (ZoneRulesException ignored) { - } - } - - { // UTC - String zoneId = "UTC"; - TestCase.assertEquals("2016-11-06", dateTime.toDateString(TimeZone.TZ_UTC)); - TestCase.assertEquals("2016-11-06", dateTime.toDateString(DateTimeZone.forID(zoneId))); - TestCase.assertEquals("2016-11-06", dateTime.toDateString(zoneId)); - TestCase.assertEquals("2016-11-06", dateTime.toDateString(ZoneId.of(zoneId))); - } - - { // Etc/GMT+2 - 2 hours *EAST* - String zoneId = "Etc/GMT+2"; - TestCase.assertEquals("2016-11-06", dateTime.toDateString(DateTimeZone.forID(zoneId))); - TestCase.assertEquals("2016-11-06", dateTime.toDateString(zoneId)); - TestCase.assertEquals("2016-11-06", dateTime.toDateString(ZoneId.of(zoneId))); - } - - { // Etc/GMT+4 -- 4 hours *WEST* - String zoneId = "Etc/GMT+4"; - TestCase.assertEquals("2016-11-06", dateTime.toDateString(DateTimeZone.forID(zoneId))); - TestCase.assertEquals("2016-11-06", dateTime.toDateString(zoneId)); - TestCase.assertEquals("2016-11-06", dateTime.toDateString(ZoneId.of(zoneId))); - } - - { // Etc/GMT+2 -- 5 hours *WEST* - String zoneId = "Etc/GMT+5"; - TestCase.assertEquals("2016-11-05", dateTime.toDateString(DateTimeZone.forID(zoneId))); - TestCase.assertEquals("2016-11-05", dateTime.toDateString(zoneId)); - TestCase.assertEquals("2016-11-05", dateTime.toDateString(ZoneId.of(zoneId))); - } - } -} diff --git a/engine/time/src/test/java/io/deephaven/time/TestDateTimeFormatter.java b/engine/time/src/test/java/io/deephaven/time/TestDateTimeFormatter.java index 9e86dba6891..22ae1e7e64d 100644 --- a/engine/time/src/test/java/io/deephaven/time/TestDateTimeFormatter.java +++ b/engine/time/src/test/java/io/deephaven/time/TestDateTimeFormatter.java @@ -6,14 +6,19 @@ import io.deephaven.base.testing.BaseArrayTestCase; import junit.framework.TestCase; +import java.time.Instant; +import java.time.ZoneId; + public class TestDateTimeFormatter extends BaseArrayTestCase { - private DateTime t; + private static final ZoneId TZ_MN = ZoneId.of("America/Chicago"); + + private Instant t; @Override public void setUp() throws Exception { super.setUp(); - t = DateTimeUtils.convertDateTime("2015-06-13T13:12:11.123456789 MT"); + t = DateTimeUtils.parseInstant("2015-06-13T13:12:11.123456789 MT"); } public void test1() { @@ -24,8 +29,10 @@ public void test1() { final boolean hasTZ = true; DateTimeFormatter dtf = new DateTimeFormatter(isISO, hasDate, hasTime, subsecondDigits, hasTZ); + TestCase.assertEquals(dtf.toString(), "DateTimeFormatter{pattern='" + dtf.getPattern() + "'}"); TestCase.assertEquals("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS %t", dtf.getPattern()); - TestCase.assertEquals("2015-06-13T14:12:11.123456789 MN", dtf.format(t, TimeZone.TZ_MN)); + TestCase.assertEquals("2015-06-13T14:12:11.123456789 MN", dtf.format(t, TZ_MN)); + TestCase.assertEquals(dtf.format(t, DateTimeUtils.timeZone()), dtf.format(t)); } public void test2() { @@ -36,8 +43,10 @@ public void test2() { final boolean hasTZ = true; DateTimeFormatter dtf = new DateTimeFormatter(isISO, hasDate, hasTime, subsecondDigits, hasTZ); + TestCase.assertEquals(dtf.toString(), "DateTimeFormatter{pattern='" + dtf.getPattern() + "'}"); TestCase.assertEquals("yyyy-MM-dd HH:mm:ss.SSSSSSSSS %t", dtf.getPattern()); - TestCase.assertEquals("2015-06-13 14:12:11.123456789 MN", dtf.format(t, TimeZone.TZ_MN)); + TestCase.assertEquals("2015-06-13 14:12:11.123456789 MN", dtf.format(t, TZ_MN)); + TestCase.assertEquals(dtf.format(t, DateTimeUtils.timeZone()), dtf.format(t)); } public void test3() { @@ -48,8 +57,10 @@ public void test3() { final boolean hasTZ = true; DateTimeFormatter dtf = new DateTimeFormatter(isISO, hasDate, hasTime, subsecondDigits, hasTZ); + TestCase.assertEquals(dtf.toString(), "DateTimeFormatter{pattern='" + dtf.getPattern() + "'}"); TestCase.assertEquals("HH:mm:ss.SSSSSSSSS %t", dtf.getPattern()); - TestCase.assertEquals("14:12:11.123456789 MN", dtf.format(t, TimeZone.TZ_MN)); + TestCase.assertEquals("14:12:11.123456789 MN", dtf.format(t, TZ_MN)); + TestCase.assertEquals(dtf.format(t, DateTimeUtils.timeZone()), dtf.format(t)); } public void test4() { @@ -60,8 +71,10 @@ public void test4() { final boolean hasTZ = true; DateTimeFormatter dtf = new DateTimeFormatter(isISO, hasDate, hasTime, subsecondDigits, hasTZ); + TestCase.assertEquals(dtf.toString(), "DateTimeFormatter{pattern='" + dtf.getPattern() + "'}"); TestCase.assertEquals("yyyy-MM-dd %t", dtf.getPattern()); - TestCase.assertEquals("2015-06-13 MN", dtf.format(t, TimeZone.TZ_MN)); + TestCase.assertEquals("2015-06-13 MN", dtf.format(t, TZ_MN)); + TestCase.assertEquals(dtf.format(t, DateTimeUtils.timeZone()), dtf.format(t)); } public void test5() { @@ -72,8 +85,10 @@ public void test5() { final boolean hasTZ = true; DateTimeFormatter dtf = new DateTimeFormatter(isISO, hasDate, hasTime, subsecondDigits, hasTZ); + TestCase.assertEquals(dtf.toString(), "DateTimeFormatter{pattern='" + dtf.getPattern() + "'}"); TestCase.assertEquals("yyyy-MM-dd'T'HH:mm:ss.SSSS %t", dtf.getPattern()); - TestCase.assertEquals("2015-06-13T14:12:11.1234 MN", dtf.format(t, TimeZone.TZ_MN)); + TestCase.assertEquals("2015-06-13T14:12:11.1234 MN", dtf.format(t, TZ_MN)); + TestCase.assertEquals(dtf.format(t, DateTimeUtils.timeZone()), dtf.format(t)); } public void test6() { @@ -84,8 +99,10 @@ public void test6() { final boolean hasTZ = true; DateTimeFormatter dtf = new DateTimeFormatter(isISO, hasDate, hasTime, subsecondDigits, hasTZ); + TestCase.assertEquals(dtf.toString(), "DateTimeFormatter{pattern='" + dtf.getPattern() + "'}"); TestCase.assertEquals("yyyy-MM-dd'T'HH:mm:ss.SS %t", dtf.getPattern()); - TestCase.assertEquals("2015-06-13T14:12:11.12 MN", dtf.format(t, TimeZone.TZ_MN)); + TestCase.assertEquals("2015-06-13T14:12:11.12 MN", dtf.format(t, TZ_MN)); + TestCase.assertEquals(dtf.format(t, DateTimeUtils.timeZone()), dtf.format(t)); } public void test7() { @@ -96,7 +113,9 @@ public void test7() { final boolean hasTZ = false; DateTimeFormatter dtf = new DateTimeFormatter(isISO, hasDate, hasTime, subsecondDigits, hasTZ); + TestCase.assertEquals(dtf.toString(), "DateTimeFormatter{pattern='" + dtf.getPattern() + "'}"); TestCase.assertEquals("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS", dtf.getPattern()); - TestCase.assertEquals("2015-06-13T14:12:11.123456789", dtf.format(t, TimeZone.TZ_MN)); + TestCase.assertEquals("2015-06-13T14:12:11.123456789", dtf.format(t, TZ_MN)); + TestCase.assertEquals(dtf.format(t, DateTimeUtils.timeZone()), dtf.format(t)); } } diff --git a/engine/time/src/test/java/io/deephaven/time/TestDateTimeFormatters.java b/engine/time/src/test/java/io/deephaven/time/TestDateTimeFormatters.java new file mode 100644 index 00000000000..2e633a29b50 --- /dev/null +++ b/engine/time/src/test/java/io/deephaven/time/TestDateTimeFormatters.java @@ -0,0 +1,23 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.time; + +import io.deephaven.base.testing.BaseArrayTestCase; +import junit.framework.TestCase; + +public class TestDateTimeFormatters extends BaseArrayTestCase { + + public void testAll() { + final boolean isISO = true; + final boolean hasDate = true; + final boolean hasTime = true; + final int subsecondDigits = 9; + final boolean hasTZ = true; + final DateTimeFormatter dtf1 = new DateTimeFormatter(isISO, hasDate, hasTime, subsecondDigits, hasTZ); + final DateTimeFormatters dtf2 = DateTimeFormatters.ISO9TZ; + + TestCase.assertEquals(dtf1.getPattern(), dtf2.getFormatter().getPattern()); + TestCase.assertEquals(dtf1.toString(), dtf2.toString()); + } +} diff --git a/engine/time/src/test/java/io/deephaven/time/TestDateTimeUtils.java b/engine/time/src/test/java/io/deephaven/time/TestDateTimeUtils.java index c93f944ade8..771195184ba 100644 --- a/engine/time/src/test/java/io/deephaven/time/TestDateTimeUtils.java +++ b/engine/time/src/test/java/io/deephaven/time/TestDateTimeUtils.java @@ -4,706 +4,2752 @@ package io.deephaven.time; import io.deephaven.base.CompareUtils; -import io.deephaven.base.clock.TimeZones; +import io.deephaven.base.clock.Clock; import io.deephaven.base.testing.BaseArrayTestCase; -import io.deephaven.util.DateUtil; -import io.deephaven.util.QueryConstants; import junit.framework.TestCase; -import org.joda.time.DateTimeZone; -import org.joda.time.LocalTime; +import org.jetbrains.annotations.NotNull; -import java.time.Instant; -import java.time.LocalDate; -import java.time.ZonedDateTime; +import java.time.*; +import java.time.temporal.ChronoField; +import java.util.Date; +import static io.deephaven.util.QueryConstants.*; + +@SuppressWarnings({"deprecation", "ConstantConditions"}) public class TestDateTimeUtils extends BaseArrayTestCase { + private static final ZoneId TZ_NY = ZoneId.of("America/New_York"); + private static final ZoneId TZ_JP = ZoneId.of("Asia/Tokyo"); + private static final ZoneId TZ_AL = ZoneId.of("America/Anchorage"); + private static final ZoneId TZ_CT = ZoneId.of("America/Chicago"); + private static final ZoneId TZ_MN = ZoneId.of("America/Chicago"); + + public void testConstants() { + TestCase.assertEquals(0, DateTimeUtils.ZERO_LENGTH_INSTANT_ARRAY.length); + + TestCase.assertEquals(1_000L, DateTimeUtils.MICRO); + TestCase.assertEquals(1_000_000L, DateTimeUtils.MILLI); + TestCase.assertEquals(1_000_000_000L, DateTimeUtils.SECOND); + TestCase.assertEquals(60_000_000_000L, DateTimeUtils.MINUTE); + TestCase.assertEquals(60 * 60_000_000_000L, DateTimeUtils.HOUR); + TestCase.assertEquals(24 * 60 * 60_000_000_000L, DateTimeUtils.DAY); + TestCase.assertEquals(7 * 24 * 60 * 60_000_000_000L, DateTimeUtils.WEEK); + TestCase.assertEquals(365 * 24 * 60 * 60_000_000_000L, DateTimeUtils.YEAR_365); + TestCase.assertEquals(31556952000000000L, DateTimeUtils.YEAR_AVG); + + TestCase.assertEquals(1.0, DateTimeUtils.SECONDS_PER_NANO * DateTimeUtils.SECOND); + TestCase.assertEquals(1.0, DateTimeUtils.MINUTES_PER_NANO * DateTimeUtils.MINUTE); + TestCase.assertEquals(1.0, DateTimeUtils.HOURS_PER_NANO * DateTimeUtils.HOUR); + TestCase.assertEquals(1.0, DateTimeUtils.DAYS_PER_NANO * DateTimeUtils.DAY); + assertEquals(1.0, DateTimeUtils.YEARS_PER_NANO_365 * DateTimeUtils.YEAR_365, 1e-10); + assertEquals(1.0, DateTimeUtils.YEARS_PER_NANO_AVG * DateTimeUtils.YEAR_AVG, 1e-10); + } - public void testMillis() throws Exception { - org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); + public void testParseLocalDate() { + assertEquals(LocalDate.of(2010, 1, 2), DateTimeUtils.parseLocalDate("2010-01-02")); + assertEquals(LocalDate.of(2010, 1, 2), DateTimeUtils.parseLocalDate("2010-1-02")); + assertEquals(LocalDate.of(2010, 1, 2), DateTimeUtils.parseLocalDate("2010-01-2")); + assertEquals(LocalDate.of(2010, 1, 2), DateTimeUtils.parseLocalDate("2010-1-2")); + + try { + DateTimeUtils.parseLocalDate("JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } - DateTime dateTime = new DateTime(jodaDateTime.getMillis() * 1000000 + 123456); + try { + // noinspection ConstantConditions + DateTimeUtils.parseLocalDate(null); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } + } - TestCase.assertEquals(jodaDateTime.getMillis(), DateTimeUtils.millis(dateTime)); + public void testParseLocalDateQuiet() { + assertEquals(LocalDate.of(2010, 1, 2), DateTimeUtils.parseLocalDateQuiet("2010-01-02")); + assertEquals(LocalDate.of(2010, 1, 2), DateTimeUtils.parseLocalDateQuiet("2010-1-02")); + assertEquals(LocalDate.of(2010, 1, 2), DateTimeUtils.parseLocalDateQuiet("2010-01-2")); + assertEquals(LocalDate.of(2010, 1, 2), DateTimeUtils.parseLocalDateQuiet("2010-1-2")); - TestCase.assertEquals(io.deephaven.util.QueryConstants.NULL_LONG, DateTimeUtils.millis(null)); + assertNull(DateTimeUtils.parseLocalDateQuiet("JUNK")); + assertNull(DateTimeUtils.parseLocalDateQuiet(null)); } - public void testNanos() throws Exception { - org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); + public void testParseLocalTime() { + TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59), + DateTimeUtils.parseLocalTime("12:59:59")); + TestCase.assertEquals(java.time.LocalTime.of(0, 0, 0), + DateTimeUtils.parseLocalTime("00:00:00")); + TestCase.assertEquals(java.time.LocalTime.of(23, 59, 59), + DateTimeUtils.parseLocalTime("23:59:59")); - DateTime dateTime = new DateTime(jodaDateTime.getMillis() * 1000000 + 123456); + TestCase.assertEquals(java.time.LocalTime.of(12, 59, 0), + DateTimeUtils.parseLocalTime("12:59")); + TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_000_000), + DateTimeUtils.parseLocalTime("12:59:59.123")); + TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_456_000), + DateTimeUtils.parseLocalTime("12:59:59.123456")); + TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_456_789), + DateTimeUtils.parseLocalTime("12:59:59.123456789")); + + TestCase.assertEquals(java.time.LocalTime.of(3, 4, 5), + DateTimeUtils.parseLocalTime("3:4:5")); - TestCase.assertEquals(jodaDateTime.getMillis() * 1000000 + 123456, DateTimeUtils.nanos(dateTime)); + try { + DateTimeUtils.parseLocalTime("JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } - TestCase.assertEquals(io.deephaven.util.QueryConstants.NULL_LONG, DateTimeUtils.nanos((DateTime) null)); + try { + // noinspection ConstantConditions + DateTimeUtils.parseLocalTime(null); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } } - public void testMidnightConversion() throws Exception { - org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); - org.joda.time.DateTime jodaMidnight = new org.joda.time.DateTime("2010-01-01T00:00:00.000-05"); + public void testParseLocalTimeQuiet() { + TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59), + DateTimeUtils.parseLocalTimeQuiet("12:59:59")); + TestCase.assertEquals(java.time.LocalTime.of(0, 0, 0), + DateTimeUtils.parseLocalTimeQuiet("00:00:00")); + TestCase.assertEquals(java.time.LocalTime.of(23, 59, 59), + DateTimeUtils.parseLocalTimeQuiet("23:59:59")); - DateTime dateTime = new DateTime(jodaDateTime.getMillis() * 1000000 + 123456); - DateTime midnight = DateTimeUtils.dateAtMidnight(dateTime, TimeZone.TZ_NY); + TestCase.assertEquals(java.time.LocalTime.of(12, 59, 0), + DateTimeUtils.parseLocalTimeQuiet("12:59")); + TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_000_000), + DateTimeUtils.parseLocalTimeQuiet("12:59:59.123")); + TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_456_000), + DateTimeUtils.parseLocalTimeQuiet("12:59:59.123456")); + TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_456_789), + DateTimeUtils.parseLocalTimeQuiet("12:59:59.123456789")); - TestCase.assertEquals(jodaMidnight.getMillis(), DateTimeUtils.millis(midnight)); - TestCase.assertEquals(jodaMidnight.getMillis(), - DateTimeUtils.millisToDateAtMidnight(dateTime.getMillis(), TimeZone.TZ_NY).getMillis()); + TestCase.assertEquals(java.time.LocalTime.of(3, 4, 5), + DateTimeUtils.parseLocalTimeQuiet("3:4:5")); - TestCase.assertNull(DateTimeUtils.millisToDateAtMidnight(io.deephaven.util.QueryConstants.NULL_LONG, - TimeZone.TZ_NY)); + TestCase.assertNull(DateTimeUtils.parseLocalTimeQuiet("JUNK")); + TestCase.assertNull(DateTimeUtils.parseLocalTimeQuiet(null)); } - public void testIsBefore() throws Exception { - org.joda.time.DateTime jodaDateTime1 = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); - org.joda.time.DateTime jodaDateTime2 = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); + public void testParseTimeZoneId() { + TestCase.assertEquals(ZoneId.of("America/Denver"), DateTimeUtils.parseTimeZone("America/Denver")); + TestCase.assertEquals(ZoneId.of("America/New_York"), DateTimeUtils.parseTimeZone("NY")); + TestCase.assertEquals(ZoneId.of("Asia/Yerevan"), DateTimeUtils.parseTimeZone("Asia/Yerevan")); + TestCase.assertEquals(ZoneId.of("GMT+2"), DateTimeUtils.parseTimeZone("GMT+2")); + TestCase.assertEquals(ZoneId.of("UTC+01:00"), DateTimeUtils.parseTimeZone("UTC+01:00")); + + try { + DateTimeUtils.parseTimeZone("JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } + + try { + // noinspection ConstantConditions + DateTimeUtils.parseTimeZone(null); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } + } - DateTime dateTime1 = new DateTime(jodaDateTime1.getMillis() * 1000000 + 123456); - DateTime dateTime2 = new DateTime(jodaDateTime2.getMillis() * 1000000 + 123457); + public void testParseTimeZoneIdQuiet() { + TestCase.assertEquals(ZoneId.of("America/Denver"), DateTimeUtils.parseTimeZoneQuiet("America/Denver")); + TestCase.assertEquals(ZoneId.of("America/New_York"), DateTimeUtils.parseTimeZoneQuiet("NY")); + TestCase.assertEquals(ZoneId.of("Asia/Yerevan"), DateTimeUtils.parseTimeZoneQuiet("Asia/Yerevan")); + TestCase.assertEquals(ZoneId.of("GMT+2"), DateTimeUtils.parseTimeZoneQuiet("GMT+2")); + TestCase.assertEquals(ZoneId.of("UTC+01:00"), DateTimeUtils.parseTimeZoneQuiet("UTC+01:00")); - TestCase.assertTrue(DateTimeUtils.isBefore(dateTime1, dateTime2)); - TestCase.assertFalse(DateTimeUtils.isBefore(dateTime2, dateTime1)); - TestCase.assertFalse(DateTimeUtils.isBefore(null, dateTime2)); - TestCase.assertFalse(DateTimeUtils.isBefore(null, null)); - TestCase.assertFalse(DateTimeUtils.isBefore(dateTime1, null)); + TestCase.assertNull(DateTimeUtils.parseTimeZoneQuiet("JUNK")); + TestCase.assertNull(DateTimeUtils.parseTimeZoneQuiet(null)); } - public void testIsAfter() throws Exception { - org.joda.time.DateTime jodaDateTime1 = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); - org.joda.time.DateTime jodaDateTime2 = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); + public void testParseEpochNanos() { + final String[] tzs = { + "NY", + "JP", + "GMT", + "America/New_York", + "America/Chicago", + }; + + final String[] roots = { + "2010-01-01T12:11", + "2010-01-01T12:00:02", + "2010-01-01T12:00:00.1", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123456789", + }; + + for (String tz : tzs) { + for (String root : roots) { + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = LocalDateTime.parse(root).atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", DateTimeUtils.epochNanos(zdt.toInstant()), + DateTimeUtils.parseEpochNanos(s)); + } + } + + final String[] uglyRoots = { + "2023-04-30", + "2023-04-30T", + "2023-04-30t", + "2023-04-30T9:30:00", + "2023-4-3T9:3:6", + "2023-4-3T9:3", + "2023-4-3T9:3:6.1", + "2023-4-3T9:3:6.123", + "2023-4-3T9:3:6.123456789", + }; + + final LocalDateTime[] uglyLDTs = { + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 9, 30, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6), + LocalDateTime.of(2023, 4, 3, 9, 3, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 100_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123456789), + }; + + for (String tz : tzs) { + for (int i = 0; i < uglyRoots.length; i++) { + final String root = uglyRoots[i]; + final LocalDateTime ldt = uglyLDTs[i]; + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = ldt.atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", DateTimeUtils.epochNanos(zdt), + DateTimeUtils.parseEpochNanos(s)); + } + } + + try { + DateTimeUtils.parseEpochNanos("JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } + + try { + DateTimeUtils.parseEpochNanos("2010-01-01T12:11"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } + + try { + DateTimeUtils.parseEpochNanos("2010-01-01T12:11 JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } - DateTime dateTime1 = new DateTime(jodaDateTime1.getMillis() * 1000000 + 123456); - DateTime dateTime2 = new DateTime(jodaDateTime2.getMillis() * 1000000 + 123457); + try { + // noinspection ConstantConditions + DateTimeUtils.parseEpochNanos(null); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } - TestCase.assertFalse(DateTimeUtils.isAfter(dateTime1, dateTime2)); - TestCase.assertTrue(DateTimeUtils.isAfter(dateTime2, dateTime1)); - TestCase.assertFalse(DateTimeUtils.isAfter(null, dateTime2)); - TestCase.assertFalse(DateTimeUtils.isAfter(null, null)); - TestCase.assertFalse(DateTimeUtils.isAfter(dateTime1, null)); + final String iso8601 = "2022-04-26T00:30:31.087360Z"; + assertEquals(DateTimeUtils.epochNanos(Instant.parse(iso8601)), DateTimeUtils.parseEpochNanos(iso8601)); + + final Instant dt1 = DateTimeUtils.parseInstant("2023-02-02T12:13:14.1345 NY"); + final long nanos = DateTimeUtils.epochNanos(dt1); + final long micros = DateTimeUtils.epochMicros(dt1); + final long millis = DateTimeUtils.epochMillis(dt1); + final long seconds = DateTimeUtils.epochSeconds(dt1); + TestCase.assertEquals(nanos, DateTimeUtils.parseEpochNanos(Long.toString(nanos))); + TestCase.assertEquals(micros * 1_000L, DateTimeUtils.parseEpochNanos(Long.toString(micros))); + TestCase.assertEquals(millis * 1_000_000L, DateTimeUtils.parseEpochNanos(Long.toString(millis))); + TestCase.assertEquals(seconds * 1_000_000_000L, DateTimeUtils.parseEpochNanos(Long.toString(seconds))); } - public void testPlus() throws Exception { - org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); + public void testParseEpochNanosQuiet() { + final String[] tzs = { + "NY", + "JP", + "GMT", + "America/New_York", + "America/Chicago", + }; + + final String[] roots = { + "2010-01-01T12:11", + "2010-01-01T12:00:02", + "2010-01-01T12:00:00.1", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123456789", + }; + + for (String tz : tzs) { + for (String root : roots) { + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = LocalDateTime.parse(root).atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", DateTimeUtils.epochNanos(zdt.toInstant()), + DateTimeUtils.parseEpochNanosQuiet(s)); + } + } + + final String[] uglyRoots = { + "2023-04-30", + "2023-04-30T", + "2023-04-30t", + "2023-04-30T9:30:00", + "2023-4-3T9:3:6", + "2023-4-3T9:3", + "2023-4-3T9:3:6.1", + "2023-4-3T9:3:6.123", + "2023-4-3T9:3:6.123456789", + }; + + final LocalDateTime[] uglyLDTs = { + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 9, 30, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6), + LocalDateTime.of(2023, 4, 3, 9, 3, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 100_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123456789), + }; + + for (String tz : tzs) { + for (int i = 0; i < uglyRoots.length; i++) { + final String root = uglyRoots[i]; + final LocalDateTime ldt = uglyLDTs[i]; + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = ldt.atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", DateTimeUtils.epochNanos(zdt), + DateTimeUtils.parseEpochNanosQuiet(s)); + } + } - DateTime dateTime = new DateTime(jodaDateTime.getMillis() * 1000000 + 123456); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.parseEpochNanosQuiet("JUNK")); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.parseEpochNanosQuiet("2010-01-01T12:11")); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.parseEpochNanosQuiet("2010-01-01T12:11 JUNK")); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.parseEpochNanosQuiet(null)); - Period period = new Period("T1h"); + final String iso8601 = "2022-04-26T00:30:31.087360Z"; + assertEquals(DateTimeUtils.epochNanos(Instant.parse(iso8601)), DateTimeUtils.parseEpochNanosQuiet(iso8601)); + + final Instant dt1 = DateTimeUtils.parseInstant("2023-02-02T12:13:14.1345 NY"); + final long nanos = DateTimeUtils.epochNanos(dt1); + final long micros = DateTimeUtils.epochMicros(dt1); + final long millis = DateTimeUtils.epochMillis(dt1); + final long seconds = DateTimeUtils.epochSeconds(dt1); + final Instant dt1u = DateTimeUtils.epochMicrosToInstant(micros); + final Instant dt1m = DateTimeUtils.epochMillisToInstant(millis); + final Instant dt1s = DateTimeUtils.epochSecondsToInstant(seconds); + TestCase.assertEquals(nanos, DateTimeUtils.parseEpochNanosQuiet(Long.toString(nanos))); + TestCase.assertEquals(micros * 1_000L, DateTimeUtils.parseEpochNanosQuiet(Long.toString(micros))); + TestCase.assertEquals(millis * 1_000_000L, DateTimeUtils.parseEpochNanosQuiet(Long.toString(millis))); + TestCase.assertEquals(seconds * 1_000_000_000L, DateTimeUtils.parseEpochNanosQuiet(Long.toString(seconds))); + } - TestCase.assertEquals(dateTime.getNanos() + 3600000000000L, DateTimeUtils.plus(dateTime, period).getNanos()); + public void testParseInstant() { + final String[] tzs = { + "NY", + "JP", + "GMT", + "America/New_York", + "America/Chicago", + }; + + final String[] roots = { + "2010-01-01T12:11", + "2010-01-01T12:00:02", + "2010-01-01T12:00:00.1", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123456789", + }; + + for (String tz : tzs) { + for (String root : roots) { + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = LocalDateTime.parse(root).atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", zdt.toInstant(), DateTimeUtils.parseInstant(s)); + } + } - period = new Period("-T1h"); + final String[] uglyRoots = { + "2023-04-30", + "2023-04-30T", + "2023-04-30t", + "2023-04-30T9:30:00", + "2023-4-3T9:3:6", + "2023-4-3T9:3", + "2023-4-3T9:3:6.1", + "2023-4-3T9:3:6.123", + "2023-4-3T9:3:6.123456789", + }; + + final LocalDateTime[] uglyLDTs = { + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 9, 30, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6), + LocalDateTime.of(2023, 4, 3, 9, 3, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 100_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123456789), + }; + + for (String tz : tzs) { + for (int i = 0; i < uglyRoots.length; i++) { + final String root = uglyRoots[i]; + final LocalDateTime ldt = uglyLDTs[i]; + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = ldt.atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", zdt.toInstant(), DateTimeUtils.parseInstant(s)); + } + } - TestCase.assertEquals(dateTime.getNanos() - 3600000000000L, DateTimeUtils.plus(dateTime, period).getNanos()); + try { + DateTimeUtils.parseInstant("JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } + try { + DateTimeUtils.parseInstant("2010-01-01T12:11"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } - // overflow plus - DateTimeUtils.plus(new DateTime(Long.MAX_VALUE - 10), 10); // edge at max try { - DateTimeUtils.plus(new DateTime(Long.MAX_VALUE), 1); - TestCase.fail("This should have overflowed"); - } catch (DateTimeUtils.DateTimeOverflowException e) { - // ok + DateTimeUtils.parseInstant("2010-01-01T12:11 JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass } - DateTimeUtils.plus(new DateTime(Long.MIN_VALUE + 10), -10); // edge at min try { - DateTimeUtils.plus(new DateTime(Long.MIN_VALUE), -1); - TestCase.fail("This should have overflowed"); - } catch (DateTimeUtils.DateTimeOverflowException e) { - // ok + // noinspection ConstantConditions + DateTimeUtils.parseInstant(null); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass } - } - public void testMinus() throws Exception { - org.joda.time.DateTime jodaDateTime1 = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); - org.joda.time.DateTime jodaDateTime2 = new org.joda.time.DateTime("2010-01-01T13:13:14.999"); + final String iso8601 = "2022-04-26T00:30:31.087360Z"; + assertEquals(Instant.parse(iso8601), DateTimeUtils.parseInstant(iso8601)); + + final String isoOffset = "2022-04-26T00:30:31.087360+01:00"; + assertEquals(ZonedDateTime.parse(isoOffset).toInstant(), DateTimeUtils.parseInstant(isoOffset)); + + final String isoOffset2 = "2022-11-06T02:59:49.999999999-04:00"; + assertEquals(ZonedDateTime.parse(isoOffset2).toInstant(), DateTimeUtils.parseInstant(isoOffset2)); + + final Instant dt1 = DateTimeUtils.parseInstant("2023-02-02T12:13:14.1345 NY"); + final long nanos = DateTimeUtils.epochNanos(dt1); + final long micros = DateTimeUtils.epochMicros(dt1); + final long millis = DateTimeUtils.epochMillis(dt1); + final long seconds = DateTimeUtils.epochSeconds(dt1); + final Instant dt1u = DateTimeUtils.epochMicrosToInstant(micros); + final Instant dt1m = DateTimeUtils.epochMillisToInstant(millis); + final Instant dt1s = DateTimeUtils.epochSecondsToInstant(seconds); + TestCase.assertEquals(dt1, DateTimeUtils.parseInstant(Long.toString(nanos))); + TestCase.assertEquals(dt1u, DateTimeUtils.parseInstant(Long.toString(micros))); + TestCase.assertEquals(dt1m, DateTimeUtils.parseInstant(Long.toString(millis))); + TestCase.assertEquals(dt1s, DateTimeUtils.parseInstant(Long.toString(seconds))); + } - DateTime dateTime1 = new DateTime(jodaDateTime1.getMillis() * 1000000 + 123456); - DateTime dateTime2 = new DateTime(jodaDateTime2.getMillis() * 1000000 + 123456); + public void testParseInstantQuiet() { + final String[] tzs = { + "NY", + "JP", + "GMT", + "America/New_York", + "America/Chicago", + }; + + final String[] roots = { + "2010-01-01T12:11", + "2010-01-01T12:00:02", + "2010-01-01T12:00:00.1", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123456789", + }; + + for (String tz : tzs) { + for (String root : roots) { + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = LocalDateTime.parse(root).atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", zdt.toInstant(), + DateTimeUtils.parseInstantQuiet(s)); + } + } - TestCase.assertEquals(-3600000000000L, DateTimeUtils.minus(dateTime1, dateTime2)); - TestCase.assertEquals(3600000000000L, DateTimeUtils.minus(dateTime2, dateTime1)); + final String[] uglyRoots = { + "2023-04-30", + "2023-04-30T", + "2023-04-30t", + "2023-04-30T9:30:00", + "2023-4-3T9:3:6", + "2023-4-3T9:3", + "2023-4-3T9:3:6.1", + "2023-4-3T9:3:6.123", + "2023-4-3T9:3:6.123456789", + }; + + final LocalDateTime[] uglyLDTs = { + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 9, 30, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6), + LocalDateTime.of(2023, 4, 3, 9, 3, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 100_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123456789), + }; + + for (String tz : tzs) { + for (int i = 0; i < uglyRoots.length; i++) { + final String root = uglyRoots[i]; + final LocalDateTime ldt = uglyLDTs[i]; + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = ldt.atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", zdt.toInstant(), + DateTimeUtils.parseInstantQuiet(s)); + } + } - Period period = new Period("T1h"); + TestCase.assertNull(DateTimeUtils.parseInstantQuiet("JUNK")); + TestCase.assertNull(DateTimeUtils.parseInstantQuiet("2010-01-01T12:11")); + TestCase.assertNull(DateTimeUtils.parseInstantQuiet("2010-01-01T12:11 JUNK")); + TestCase.assertNull(DateTimeUtils.parseInstantQuiet(null)); - TestCase.assertEquals(dateTime1.getNanos() - 3600000000000L, DateTimeUtils.minus(dateTime1, period).getNanos()); + final String iso8601 = "2022-04-26T00:30:31.087360Z"; + assertEquals(Instant.parse(iso8601), DateTimeUtils.parseInstantQuiet(iso8601)); + + final String isoOffset = "2022-04-26T00:30:31.087360+01:00"; + assertEquals(ZonedDateTime.parse(isoOffset).toInstant(), DateTimeUtils.parseInstantQuiet(isoOffset)); + + final String isoOffset2 = "2022-11-06T02:59:49.999999999-04:00"; + assertEquals(ZonedDateTime.parse(isoOffset2).toInstant(), DateTimeUtils.parseInstantQuiet(isoOffset2)); + + final Instant dt1 = DateTimeUtils.parseInstant("2023-02-02T12:13:14.1345 NY"); + final long nanos = DateTimeUtils.epochNanos(dt1); + final long micros = DateTimeUtils.epochMicros(dt1); + final long millis = DateTimeUtils.epochMillis(dt1); + final long seconds = DateTimeUtils.epochSeconds(dt1); + final Instant dt1u = DateTimeUtils.epochMicrosToInstant(micros); + final Instant dt1m = DateTimeUtils.epochMillisToInstant(millis); + final Instant dt1s = DateTimeUtils.epochSecondsToInstant(seconds); + TestCase.assertEquals(dt1, DateTimeUtils.parseInstantQuiet(Long.toString(nanos))); + TestCase.assertEquals(dt1u, DateTimeUtils.parseInstantQuiet(Long.toString(micros))); + TestCase.assertEquals(dt1m, DateTimeUtils.parseInstantQuiet(Long.toString(millis))); + TestCase.assertEquals(dt1s, DateTimeUtils.parseInstantQuiet(Long.toString(seconds))); + } - period = new Period("-T1h"); + public void testParseZonedDateTime() { + final String[] tzs = { + "NY", + "JP", + "GMT", + "America/New_York", + "America/Chicago", + }; + + final String[] roots = { + "2010-01-01T12:11", + "2010-01-01T12:00:02", + "2010-01-01T12:00:00.1", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123456789", + }; + + for (String tz : tzs) { + for (String root : roots) { + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = LocalDateTime.parse(root).atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", zdt, DateTimeUtils.parseZonedDateTime(s)); + } + } - TestCase.assertEquals(dateTime1.getNanos() + 3600000000000L, DateTimeUtils.minus(dateTime1, period).getNanos()); + final String[] uglyRoots = { + "2023-04-30", + "2023-04-30T", + "2023-04-30t", + "2023-04-30T9:30:00", + "2023-4-3T9:3:6", + "2023-4-3T9:3", + "2023-4-3T9:3:6.1", + "2023-4-3T9:3:6.123", + "2023-4-3T9:3:6.123456789", + }; + + final LocalDateTime[] uglyLDTs = { + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 9, 30, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6), + LocalDateTime.of(2023, 4, 3, 9, 3, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 100_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123456789), + }; + + for (String tz : tzs) { + for (int i = 0; i < uglyRoots.length; i++) { + final String root = uglyRoots[i]; + final LocalDateTime ldt = uglyLDTs[i]; + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = ldt.atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", zdt, DateTimeUtils.parseZonedDateTime(s)); + } + } + try { + DateTimeUtils.parseZonedDateTime("JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } + try { + DateTimeUtils.parseZonedDateTime("2010-01-01T12:11"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } - // overflow minus - DateTimeUtils.minus(new DateTime(Long.MAX_VALUE - 10), -10); // edge at max try { - DateTimeUtils.minus(new DateTime(Long.MAX_VALUE), -1); - TestCase.fail("This should have overflowed"); - } catch (DateTimeUtils.DateTimeOverflowException e) { - // ok + DateTimeUtils.parseZonedDateTime("2010-01-01T12:11 JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass } - DateTimeUtils.minus(new DateTime(Long.MIN_VALUE + 10), 10); // edge at min try { - DateTimeUtils.minus(new DateTime(Long.MIN_VALUE), 1); - TestCase.fail("This should have overflowed"); - } catch (DateTimeUtils.DateTimeOverflowException e) { - // ok + // noinspection ConstantConditions + DateTimeUtils.parseZonedDateTime(null); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } + + final String iso8601 = "2022-04-26T00:30:31.087360Z"; + assertEquals(ZonedDateTime.parse(iso8601), DateTimeUtils.parseZonedDateTime(iso8601)); + + final String isoOffset = "2022-04-26T00:30:31.087360+01:00"; + assertEquals(ZonedDateTime.parse(isoOffset), DateTimeUtils.parseZonedDateTime(isoOffset)); + + final String isoOffset2 = "2022-11-06T02:59:49.999999999-04:00"; + assertEquals(ZonedDateTime.parse(isoOffset2), DateTimeUtils.parseZonedDateTime(isoOffset2)); + } + + public void testParseZonedDateTimeQuiet() { + final String[] tzs = { + "NY", + "JP", + "GMT", + "America/New_York", + "America/Chicago", + }; + + final String[] roots = { + "2010-01-01T12:11", + "2010-01-01T12:00:02", + "2010-01-01T12:00:00.1", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123", + "2010-01-01T12:00:00.123456789", + }; + + for (String tz : tzs) { + for (String root : roots) { + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = LocalDateTime.parse(root).atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", zdt, DateTimeUtils.parseZonedDateTimeQuiet(s)); + } + } + + final String[] uglyRoots = { + "2023-04-30", + "2023-04-30T", + "2023-04-30t", + "2023-04-30T9:30:00", + "2023-4-3T9:3:6", + "2023-4-3T9:3", + "2023-4-3T9:3:6.1", + "2023-4-3T9:3:6.123", + "2023-4-3T9:3:6.123456789", + }; + + final LocalDateTime[] uglyLDTs = { + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 0, 0), + LocalDateTime.of(2023, 4, 30, 9, 30, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6), + LocalDateTime.of(2023, 4, 3, 9, 3, 0), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 100_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123_000_000), + LocalDateTime.of(2023, 4, 3, 9, 3, 6, 123456789), + }; + + for (String tz : tzs) { + for (int i = 0; i < uglyRoots.length; i++) { + final String root = uglyRoots[i]; + final LocalDateTime ldt = uglyLDTs[i]; + final String s = root + " " + tz; + final ZoneId zid = DateTimeUtils.parseTimeZone(tz); + final ZonedDateTime zdt = ldt.atZone(zid); + TestCase.assertEquals("DateTime string: " + s + "'", zdt, DateTimeUtils.parseZonedDateTimeQuiet(s)); + } } + + TestCase.assertNull(DateTimeUtils.parseZonedDateTimeQuiet("JUNK")); + TestCase.assertNull(DateTimeUtils.parseZonedDateTimeQuiet("2010-01-01T12:11")); + TestCase.assertNull(DateTimeUtils.parseZonedDateTimeQuiet("2010-01-01T12:11 JUNK")); + TestCase.assertNull(DateTimeUtils.parseZonedDateTimeQuiet(null)); + + final String iso8601 = "2022-04-26T00:30:31.087360Z"; + assertEquals(ZonedDateTime.parse(iso8601), DateTimeUtils.parseZonedDateTimeQuiet(iso8601)); + + final String isoOffset = "2022-04-26T00:30:31.087360+01:00"; + assertEquals(ZonedDateTime.parse(isoOffset), DateTimeUtils.parseZonedDateTimeQuiet(isoOffset)); + + final String isoOffset2 = "2022-11-06T02:59:49.999999999-04:00"; + assertEquals(ZonedDateTime.parse(isoOffset2), DateTimeUtils.parseZonedDateTimeQuiet(isoOffset2)); } - public void testDiff() throws Exception { - org.joda.time.DateTime jodaDateTime1 = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); - org.joda.time.DateTime jodaDateTime2 = new org.joda.time.DateTime("2010-01-01T13:13:14.999"); + public void testParseDurationNanos() { + final String[] times = { + "12:00", + "12:00:00", + "12:00:00.123", + "12:00:00.1234", + "12:00:00.123456789", + "2:00", + "2:00:00", + "2:00:00", + "2:00:00.123", + "2:00:00.1234", + "2:00:00.123456789", + "15:25:49.064106107", + }; + + for (boolean isNegOuter : new boolean[] {false, true}) { + for (boolean isNegInner : new boolean[] {false, true}) { + for (String t : times) { + long offset = 0; + String lts = t; + + if (lts.indexOf(":") == 1) { + lts = "0" + lts; + } + + t = (isNegOuter ? "-" : "") + "PT" + (isNegInner ? "-" : "") + t; + + final long sign = (isNegOuter ? -1 : 1) * (isNegInner ? -1 : 1); + TestCase.assertEquals(sign * (LocalTime.parse(lts).toNanoOfDay() + offset), + DateTimeUtils.parseDurationNanos(t)); + } + } + } + + TestCase.assertEquals(LocalTime.of(3, 4, 5).toNanoOfDay(), DateTimeUtils.parseDurationNanos("PT3:4:5")); + TestCase.assertEquals(530000 * DateTimeUtils.HOUR + 59 * DateTimeUtils.MINUTE + 39 * DateTimeUtils.SECOND, + DateTimeUtils.parseDurationNanos("PT530000:59:39")); + + final String[] durations = { + "PT1h43s", + "-PT1h43s", + "PT2H", + "PT2H3M", + "PT3M4S", + "P2DT3M4S", + "P2DT3M4.23456789S", + "-P-2DT-3M-4.23456789S", + }; + + for (String d : durations) { + final Duration dd = DateTimeUtils.parseDuration(d); + TestCase.assertEquals(dd.toNanos(), DateTimeUtils.parseDurationNanos(d)); + } - DateTime dateTime1 = new DateTime(jodaDateTime1.getMillis() * 1000000 + 123456); - DateTime dateTime2 = new DateTime(jodaDateTime2.getMillis() * 1000000 + 123456); + try { + DateTimeUtils.parseDurationNanos("JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } - TestCase.assertEquals(3600000000000L, DateTimeUtils.diff(dateTime1, dateTime2)); - TestCase.assertEquals(-3600000000000L, DateTimeUtils.diff(dateTime2, dateTime1)); + try { + // noinspection ConstantConditions + DateTimeUtils.parseDurationNanos(null); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } - TestCase.assertEquals(3600000000000L, DateTimeUtils.diffNanos(dateTime1, dateTime2)); - TestCase.assertEquals(-3600000000000L, DateTimeUtils.diffNanos(dateTime2, dateTime1)); } - public void testYearDiff() throws Exception { - org.joda.time.DateTime jt1 = new org.joda.time.DateTime("2010-01-01T12:13:14.999"); - org.joda.time.DateTime jt2 = new org.joda.time.DateTime("2011-01-01T13:13:14.999"); - org.joda.time.DateTime jt3 = new org.joda.time.DateTime("2010-06-30T13:13:14.999"); + public void testParseDurationNanosQuiet() { + final String[] times = { + "12:00", + "12:00:00", + "12:00:00.123", + "12:00:00.1234", + "12:00:00.123456789", + "2:00", + "2:00:00", + "2:00:00", + "2:00:00.123", + "2:00:00.1234", + "2:00:00.123456789", + "15:25:49.064106107", + }; + + for (boolean isNegOuter : new boolean[] {false, true}) { + for (boolean isNegInner : new boolean[] {false, true}) { + for (String t : times) { + long offset = 0; + String lts = t; + + if (lts.indexOf(":") == 1) { + lts = "0" + lts; + } + + t = (isNegOuter ? "-" : "") + "PT" + (isNegInner ? "-" : "") + t; + + final long sign = (isNegOuter ? -1 : 1) * (isNegInner ? -1 : 1); + TestCase.assertEquals(sign * (LocalTime.parse(lts).toNanoOfDay() + offset), + DateTimeUtils.parseDurationNanosQuiet(t)); + } + } + } - DateTime t1 = new DateTime(jt1.getMillis() * 1000000 + 123456); - DateTime t2 = new DateTime(jt2.getMillis() * 1000000 + 123456); - DateTime t3 = new DateTime(jt3.getMillis() * 1000000 + 123456); + TestCase.assertEquals(LocalTime.of(3, 4, 5).toNanoOfDay(), DateTimeUtils.parseDurationNanosQuiet("PT3:4:5")); + TestCase.assertEquals(530000 * DateTimeUtils.HOUR + 59 * DateTimeUtils.MINUTE + 39 * DateTimeUtils.SECOND, + DateTimeUtils.parseDurationNanosQuiet("PT530000:59:39")); + final String[] durations = { + "PT1h43s", + "-PT1h43s", + }; - TestCase.assertEquals(1.0, DateTimeUtils.yearDiff(t1, t2), 0.01); - TestCase.assertEquals(0.5, DateTimeUtils.yearDiff(t1, t3), 0.01); - TestCase.assertEquals(io.deephaven.util.QueryConstants.NULL_DOUBLE, DateTimeUtils.yearDiff(null, t1)); - TestCase.assertEquals(io.deephaven.util.QueryConstants.NULL_DOUBLE, DateTimeUtils.yearDiff(t1, null)); + for (String d : durations) { + final Duration dd = DateTimeUtils.parseDuration(d); + TestCase.assertEquals(dd.toNanos(), DateTimeUtils.parseDurationNanos(d)); + } - TestCase.assertEquals(1.0, DateTimeUtils.diffYear(t1, t2), 0.01); - TestCase.assertEquals(0.5, DateTimeUtils.diffYear(t1, t3), 0.01); - TestCase.assertEquals(io.deephaven.util.QueryConstants.NULL_DOUBLE, DateTimeUtils.diffYear(null, t1)); - TestCase.assertEquals(io.deephaven.util.QueryConstants.NULL_DOUBLE, DateTimeUtils.diffYear(t1, null)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.parseDurationNanosQuiet("JUNK")); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.parseDurationNanosQuiet(null)); } - public void testMillisToNanos() throws Exception { - TestCase.assertEquals(1000000, DateTimeUtils.millisToNanos(1)); + public void testParsePeriod() { + final String[] periods = { + "P2Y", + "P3M", + "P4W", + "P5D", + "P1Y2M3D", + "P1Y2M3W4D", + "P-1Y2M", + "-P1Y2M", + "P2Y5D", + }; + + for (String p : periods) { + TestCase.assertEquals(Period.parse(p), DateTimeUtils.parsePeriod(p)); + } + + try { + // noinspection ConstantConditions + DateTimeUtils.parsePeriod("JUNK"); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } - // The next two tests will fail if DateTimeUtils.ENABLE_MICROTIME_HACK is true try { - DateTimeUtils.millisToNanos(Long.MAX_VALUE / 1_000_000 + 1); - TestCase.fail("Should have thrown a DateTimeUtils.DateTimeOverflowException"); - } catch (DateTimeUtils.DateTimeOverflowException ignored) { - /* Exception is expected. */ + // noinspection ConstantConditions + DateTimeUtils.parsePeriod(null); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass + } + } + + public void testParsePeriodQuiet() { + final String[] periods = { + "P2Y", + "P3M", + "P4W", + "P5D", + "P1Y2M3D", + "P1Y2M3W4D", + "P-1Y2M", + "-P1Y2M", + "P2Y5D", + }; + + for (String p : periods) { + TestCase.assertEquals(Period.parse(p), DateTimeUtils.parsePeriodQuiet(p)); + } + + TestCase.assertNull(DateTimeUtils.parsePeriodQuiet("JUNK")); + TestCase.assertNull(DateTimeUtils.parsePeriodQuiet(null)); + } + + public void testParseDuration() { + final String[] periods = { + "PT20.345S", + "PT15M", + "PT10H", + "P2D", + "P2DT3H4M", + "PT-6H3M", + "-PT6H3M", + "-PT-6H+3M", + "PT1S", + "PT4H1S", + "P4DT1S", + }; + + for (String p : periods) { + TestCase.assertEquals(Duration.parse(p), DateTimeUtils.parseDuration(p)); } try { - DateTimeUtils.millisToNanos(-Long.MAX_VALUE / 1_000_000 - 1); - TestCase.fail("Should have thrown a DateTimeUtils.DateTimeOverflowException"); - } catch (DateTimeUtils.DateTimeOverflowException ignored) { - /* Exception is expected. */ + // noinspection ConstantConditions + DateTimeUtils.parseDuration(null); + TestCase.fail("Should throw an exception"); + } catch (Exception ex) { + // pass } } - /* - * public void testMillisToNanosWithHack() throws Exception { // For this to pass, ENABLE_MICROTIME_HACK in - * DateTimeUtils must be true (i.e. you have // to run the tests with -DDateTimeUtil.enableMicrotimeHack=true) - * assertEquals(1_000_000, DateTimeUtils.millisToNanos(1)); assertEquals(1_000_000_000, - * DateTimeUtils.millisToNanos(1_000)); assertEquals(1531315655_000_000_000L, - * DateTimeUtils.millisToNanos(1531315655_000L)); assertEquals(1531315655_000_000_000L, - * DateTimeUtils.millisToNanos(1531315655_000_000L)); } - */ + public void testParseDurationQuiet() { + final String[] periods = { + "PT20.345S", + "PT15M", + "PT10H", + "P2D", + "P2DT3H4M", + "PT-6H3M", + "-PT6H3M", + "-PT-6H+3M", + "PT1S", + "PT4H1S", + "P4DT1S", + }; + + for (String p : periods) { + TestCase.assertEquals(Duration.parse(p), DateTimeUtils.parseDurationQuiet(p)); + } - public void testNanosToMillis() throws Exception { - TestCase.assertEquals(1, DateTimeUtils.nanosToMillis(1000000)); + TestCase.assertNull(DateTimeUtils.parseDurationQuiet(null)); + TestCase.assertNull(DateTimeUtils.parseDurationQuiet("JUNK")); } - public void testMicroToNanos() throws Exception { - TestCase.assertEquals(1000, DateTimeUtils.microsToNanos(1)); + public void testParseTimePrecision() { + TestCase.assertEquals(ChronoField.DAY_OF_MONTH, DateTimeUtils.parseTimePrecision("2021-02-03")); + TestCase.assertEquals(ChronoField.HOUR_OF_DAY, DateTimeUtils.parseTimePrecision("2021-02-03T11")); + TestCase.assertEquals(ChronoField.MINUTE_OF_HOUR, DateTimeUtils.parseTimePrecision("2021-02-03T11:14")); + TestCase.assertEquals(ChronoField.SECOND_OF_MINUTE, DateTimeUtils.parseTimePrecision("2021-02-03T11:14:32")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("2021-02-03T11:14:32.1")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("2021-02-03T11:14:32.12")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("2021-02-03T11:14:32.123")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, + DateTimeUtils.parseTimePrecision("2021-02-03T11:14:32.1234")); + + TestCase.assertEquals(ChronoField.MINUTE_OF_HOUR, DateTimeUtils.parseTimePrecision("11:14")); + TestCase.assertEquals(ChronoField.SECOND_OF_MINUTE, DateTimeUtils.parseTimePrecision("11:14:32")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("11:14:32.1")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("11:14:32.12")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("11:14:32.123")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("11:14:32.1234")); + + TestCase.assertEquals(ChronoField.MINUTE_OF_HOUR, DateTimeUtils.parseTimePrecision("PT11:14")); + TestCase.assertEquals(ChronoField.SECOND_OF_MINUTE, DateTimeUtils.parseTimePrecision("PT11:14:32")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("PT11:14:32.1")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("PT11:14:32.12")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("PT11:14:32.123")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecision("PT11:14:32.1234")); try { - DateTimeUtils.microsToNanos(Long.MAX_VALUE / 1_000 + 1); - TestCase.fail("Should have thrown a DateTimeUtils.DateTimeOverflowException"); - } catch (DateTimeUtils.DateTimeOverflowException ignored) { - /* Exception is expected. */ + DateTimeUtils.parseTimePrecision("JUNK"); + TestCase.fail("Should have thrown an exception"); + } catch (Exception ex) { + // pass } try { - DateTimeUtils.microsToNanos(-Long.MAX_VALUE / 1_000 - 1); - TestCase.fail("Should have thrown a DateTimeUtils.DateTimeOverflowException"); - } catch (DateTimeUtils.DateTimeOverflowException ignored) { - /* Exception is expected. */ + // noinspection ConstantConditions + DateTimeUtils.parseTimePrecision(null); + TestCase.fail("Should have thrown an exception"); + } catch (Exception ex) { + // pass } } - public void testNanosToMicros() throws Exception { - TestCase.assertEquals(1, DateTimeUtils.nanosToMicros(1000)); + public void testParseTimePrecisionQuiet() { + TestCase.assertEquals(ChronoField.DAY_OF_MONTH, DateTimeUtils.parseTimePrecisionQuiet("2021-02-03")); + TestCase.assertEquals(ChronoField.HOUR_OF_DAY, DateTimeUtils.parseTimePrecisionQuiet("2021-02-03T11")); + TestCase.assertEquals(ChronoField.MINUTE_OF_HOUR, DateTimeUtils.parseTimePrecisionQuiet("2021-02-03T11:14")); + TestCase.assertEquals(ChronoField.SECOND_OF_MINUTE, + DateTimeUtils.parseTimePrecisionQuiet("2021-02-03T11:14:32")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, + DateTimeUtils.parseTimePrecisionQuiet("2021-02-03T11:14:32.1")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, + DateTimeUtils.parseTimePrecisionQuiet("2021-02-03T11:14:32.12")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, + DateTimeUtils.parseTimePrecisionQuiet("2021-02-03T11:14:32.123")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, + DateTimeUtils.parseTimePrecisionQuiet("2021-02-03T11:14:32.1234")); + + TestCase.assertEquals(ChronoField.MINUTE_OF_HOUR, DateTimeUtils.parseTimePrecisionQuiet("11:14")); + TestCase.assertEquals(ChronoField.SECOND_OF_MINUTE, DateTimeUtils.parseTimePrecisionQuiet("11:14:32")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecisionQuiet("11:14:32.1")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecisionQuiet("11:14:32.12")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecisionQuiet("11:14:32.123")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecisionQuiet("11:14:32.1234")); + + + TestCase.assertEquals(ChronoField.MINUTE_OF_HOUR, DateTimeUtils.parseTimePrecisionQuiet("PT11:14")); + TestCase.assertEquals(ChronoField.SECOND_OF_MINUTE, DateTimeUtils.parseTimePrecisionQuiet("PT11:14:32")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecisionQuiet("PT11:14:32.1")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecisionQuiet("PT11:14:32.12")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecisionQuiet("PT11:14:32.123")); + TestCase.assertEquals(ChronoField.MILLI_OF_SECOND, DateTimeUtils.parseTimePrecisionQuiet("PT11:14:32.1234")); + + TestCase.assertNull(DateTimeUtils.parseTimePrecisionQuiet("JUNK")); + TestCase.assertNull(DateTimeUtils.parseTimePrecisionQuiet(null)); } - public void testConvertDateQuiet() throws Exception { - // ISO formats - TestCase.assertEquals(LocalDate.of(2018, 1, 1), DateTimeUtils.convertDateQuiet("2018-01-01")); - TestCase.assertEquals(LocalDate.of(2018, 12, 31), DateTimeUtils.convertDateQuiet("2018-12-31")); - TestCase.assertEquals(LocalDate.of(2018, 1, 1), DateTimeUtils.convertDateQuiet("20180101")); - TestCase.assertEquals(LocalDate.of(2018, 12, 31), DateTimeUtils.convertDateQuiet("20181231")); + public void testFormatDate() { + final Instant dt2 = DateTimeUtils.parseInstant("2021-02-03T11:23:32.456789 NY"); + final ZonedDateTime dt3 = dt2.atZone(TZ_NY); + final ZonedDateTime dt4 = dt2.atZone(TZ_JP); - // extremities of the format (LocalDate can store a much larger range than this but we aren't that interested) - TestCase.assertEquals(LocalDate.of(0, 1, 1), DateTimeUtils.convertDateQuiet("0000-01-01")); - TestCase.assertEquals(LocalDate.of(9999, 12, 31), DateTimeUtils.convertDateQuiet("9999-12-31")); + TestCase.assertEquals("2021-02-03", DateTimeUtils.formatDate(dt2, TZ_NY)); + TestCase.assertEquals("2021-02-04", DateTimeUtils.formatDate(dt2, TZ_JP)); - // other variants - TestCase.assertEquals(LocalDate.of(2018, 1, 1), - DateTimeUtils.convertDateQuiet("01/01/2018", DateTimeUtils.DateStyle.MDY)); - TestCase.assertEquals(LocalDate.of(2018, 12, 31), - DateTimeUtils.convertDateQuiet("12/31/2018", DateTimeUtils.DateStyle.MDY)); - TestCase.assertEquals(LocalDate.of(2018, 12, 31), - DateTimeUtils.convertDateQuiet("12/31/18", DateTimeUtils.DateStyle.MDY)); - TestCase.assertEquals(LocalDate.of(2024, 6, 25), - DateTimeUtils.convertDateQuiet("6/25/24", DateTimeUtils.DateStyle.MDY)); - TestCase.assertEquals(LocalDate.of(2024, 6, 2), - DateTimeUtils.convertDateQuiet("6/2/24", DateTimeUtils.DateStyle.MDY)); - TestCase.assertEquals(LocalDate.of(2024, 6, 2), - DateTimeUtils.convertDateQuiet("6/2/2024", DateTimeUtils.DateStyle.MDY)); + TestCase.assertEquals("2021-02-03", DateTimeUtils.formatDate(dt3)); + TestCase.assertEquals("2021-02-04", DateTimeUtils.formatDate(dt4)); - TestCase.assertEquals(LocalDate.of(2018, 1, 1), - DateTimeUtils.convertDateQuiet("01/01/2018", DateTimeUtils.DateStyle.DMY)); - TestCase.assertEquals(LocalDate.of(2018, 12, 31), - DateTimeUtils.convertDateQuiet("31/12/2018", DateTimeUtils.DateStyle.DMY)); - TestCase.assertEquals(LocalDate.of(2018, 12, 31), - DateTimeUtils.convertDateQuiet("31/12/18", DateTimeUtils.DateStyle.DMY)); - TestCase.assertEquals(LocalDate.of(2024, 6, 25), - DateTimeUtils.convertDateQuiet("25/6/24", DateTimeUtils.DateStyle.DMY)); - TestCase.assertEquals(LocalDate.of(2024, 6, 2), - DateTimeUtils.convertDateQuiet("2/6/24", DateTimeUtils.DateStyle.DMY)); - TestCase.assertEquals(LocalDate.of(2024, 6, 2), - DateTimeUtils.convertDateQuiet("2/6/2024", DateTimeUtils.DateStyle.DMY)); + TestCase.assertNull(DateTimeUtils.formatDate(null, TZ_NY)); + TestCase.assertNull(DateTimeUtils.formatDate(dt2, null)); + TestCase.assertNull(DateTimeUtils.formatDate(null)); + } - TestCase.assertEquals(LocalDate.of(2018, 1, 1), - DateTimeUtils.convertDateQuiet("2018/01/01", DateTimeUtils.DateStyle.YMD)); - TestCase.assertEquals(LocalDate.of(2018, 12, 31), - DateTimeUtils.convertDateQuiet("2018/12/31", DateTimeUtils.DateStyle.YMD)); - TestCase.assertEquals(LocalDate.of(2018, 12, 31), - DateTimeUtils.convertDateQuiet("18/12/31", DateTimeUtils.DateStyle.YMD)); - TestCase.assertEquals(LocalDate.of(2024, 6, 25), - DateTimeUtils.convertDateQuiet("24/6/25", DateTimeUtils.DateStyle.YMD)); - TestCase.assertEquals(LocalDate.of(2024, 6, 2), - DateTimeUtils.convertDateQuiet("24/6/2", DateTimeUtils.DateStyle.YMD)); - TestCase.assertEquals(LocalDate.of(2024, 6, 2), - DateTimeUtils.convertDateQuiet("2024/6/2", DateTimeUtils.DateStyle.YMD)); + public void testFormatDateTime() { + final Instant dt2 = DateTimeUtils.parseInstant("2021-02-03T11:23:32.45678912 NY"); + final ZonedDateTime dt3 = dt2.atZone(TZ_NY); + final ZonedDateTime dt4 = dt2.atZone(TZ_JP); + + TestCase.assertEquals("2021-02-04T01:00:00.000000000 JP", + DateTimeUtils.formatDateTime(DateTimeUtils.parseInstant("2021-02-03T11:00 NY"), TZ_JP)); + TestCase.assertEquals("2021-02-04T01:23:00.000000000 JP", + DateTimeUtils.formatDateTime(DateTimeUtils.parseInstant("2021-02-03T11:23 NY"), TZ_JP)); + TestCase.assertEquals("2021-02-04T01:23:01.000000000 JP", + DateTimeUtils.formatDateTime(DateTimeUtils.parseInstant("2021-02-03T11:23:01 NY"), TZ_JP)); + TestCase.assertEquals("2021-02-04T01:23:01.300000000 JP", + DateTimeUtils.formatDateTime(DateTimeUtils.parseInstant("2021-02-03T11:23:01.3 NY"), TZ_JP)); + TestCase.assertEquals("2021-02-04T01:23:32.456700000 JP", + DateTimeUtils.formatDateTime(DateTimeUtils.parseInstant("2021-02-03T11:23:32.4567 NY"), TZ_JP)); + TestCase.assertEquals("2021-02-04T01:23:32.456780000 JP", + DateTimeUtils.formatDateTime(DateTimeUtils.parseInstant("2021-02-03T11:23:32.45678 NY"), TZ_JP)); + TestCase.assertEquals("2021-02-04T01:23:32.456789000 JP", + DateTimeUtils.formatDateTime(DateTimeUtils.parseInstant("2021-02-03T11:23:32.456789 NY"), TZ_JP)); + TestCase.assertEquals("2021-02-04T01:23:32.456789100 JP", + DateTimeUtils.formatDateTime(DateTimeUtils.parseInstant("2021-02-03T11:23:32.4567891 NY"), TZ_JP)); + TestCase.assertEquals("2021-02-04T01:23:32.456789120 JP", + DateTimeUtils.formatDateTime(DateTimeUtils.parseInstant("2021-02-03T11:23:32.45678912 NY"), TZ_JP)); + TestCase.assertEquals("2021-02-04T01:23:32.456789123 JP", + DateTimeUtils.formatDateTime(DateTimeUtils.parseInstant("2021-02-03T11:23:32.456789123 NY"), TZ_JP)); + + TestCase.assertEquals("2021-02-03T11:23:32.456789120 NY", DateTimeUtils.formatDateTime(dt2, TZ_NY)); + TestCase.assertEquals("2021-02-04T01:23:32.456789120 JP", DateTimeUtils.formatDateTime(dt2, TZ_JP)); + + TestCase.assertEquals("2021-02-03T11:23:32.456789120 NY", DateTimeUtils.formatDateTime(dt3)); + TestCase.assertEquals("2021-02-04T01:23:32.456789120 JP", DateTimeUtils.formatDateTime(dt4)); + + + TestCase.assertEquals("2021-02-03T20:23:32.456789120 Asia/Yerevan", + DateTimeUtils.formatDateTime(dt2, ZoneId.of("Asia/Yerevan"))); + TestCase.assertEquals("2021-02-03T20:23:32.456789120 Asia/Yerevan", + DateTimeUtils.formatDateTime(dt3.withZoneSameInstant(ZoneId.of("Asia/Yerevan")))); + + TestCase.assertNull(DateTimeUtils.formatDateTime(null, TZ_NY)); + TestCase.assertNull(DateTimeUtils.formatDateTime(dt2, null)); + + TestCase.assertNull(DateTimeUtils.formatDateTime(null)); } - public void testConvertLocalTimeQuiet() throws Exception { + public void testFormatDurationNanos() { + + TestCase.assertEquals("PT2:00:00", DateTimeUtils.formatDurationNanos(2 * DateTimeUtils.HOUR)); + TestCase.assertEquals("PT0:02:00", DateTimeUtils.formatDurationNanos(2 * DateTimeUtils.MINUTE)); + TestCase.assertEquals("PT0:00:02", DateTimeUtils.formatDurationNanos(2 * DateTimeUtils.SECOND)); + TestCase.assertEquals("PT0:00:00.002000000", DateTimeUtils.formatDurationNanos(2 * DateTimeUtils.MILLI)); + TestCase.assertEquals("PT0:00:00.000000002", DateTimeUtils.formatDurationNanos(2)); + TestCase.assertEquals("PT23:45:39.123456789", DateTimeUtils.formatDurationNanos( + 23 * DateTimeUtils.HOUR + 45 * DateTimeUtils.MINUTE + 39 * DateTimeUtils.SECOND + 123456789)); + TestCase.assertEquals("PT123:45:39.123456789", DateTimeUtils.formatDurationNanos( + 123 * DateTimeUtils.HOUR + 45 * DateTimeUtils.MINUTE + 39 * DateTimeUtils.SECOND + 123456789)); + + TestCase.assertEquals("-PT2:00:00", DateTimeUtils.formatDurationNanos(-2 * DateTimeUtils.HOUR)); + TestCase.assertEquals("-PT0:02:00", DateTimeUtils.formatDurationNanos(-2 * DateTimeUtils.MINUTE)); + TestCase.assertEquals("-PT0:00:02", DateTimeUtils.formatDurationNanos(-2 * DateTimeUtils.SECOND)); + TestCase.assertEquals("-PT0:00:00.002000000", DateTimeUtils.formatDurationNanos(-2 * DateTimeUtils.MILLI)); + TestCase.assertEquals("-PT0:00:00.000000002", DateTimeUtils.formatDurationNanos(-2)); + TestCase.assertEquals("-PT23:45:39.123456789", DateTimeUtils.formatDurationNanos( + -23 * DateTimeUtils.HOUR - 45 * DateTimeUtils.MINUTE - 39 * DateTimeUtils.SECOND - 123456789)); + TestCase.assertEquals("-PT123:45:39.123456789", DateTimeUtils.formatDurationNanos( + -123 * DateTimeUtils.HOUR - 45 * DateTimeUtils.MINUTE - 39 * DateTimeUtils.SECOND - 123456789)); + + TestCase.assertNull(DateTimeUtils.formatDurationNanos(NULL_LONG)); + } - TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59), DateTimeUtils.convertLocalTimeQuiet("L12:59:59")); - TestCase.assertEquals(java.time.LocalTime.of(0, 0, 0), DateTimeUtils.convertLocalTimeQuiet("L00:00:00")); - TestCase.assertEquals(java.time.LocalTime.of(23, 59, 59), DateTimeUtils.convertLocalTimeQuiet("L23:59:59")); + public void testMicrosToMillis() { + final long v = 1234567890; + TestCase.assertEquals(v / 1_000L, DateTimeUtils.microsToMillis(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.microsToMillis(NULL_LONG)); + } - TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59), DateTimeUtils.convertLocalTimeQuiet("L125959")); - TestCase.assertEquals(java.time.LocalTime.of(0, 0, 0), DateTimeUtils.convertLocalTimeQuiet("L000000")); - TestCase.assertEquals(java.time.LocalTime.of(23, 59, 59), DateTimeUtils.convertLocalTimeQuiet("L235959")); + public void testMicrosToNanos() { + final long v = 1234567890; + TestCase.assertEquals(v * 1_000L, DateTimeUtils.microsToNanos(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.microsToNanos(NULL_LONG)); - TestCase.assertEquals(java.time.LocalTime.of(12, 0, 0), DateTimeUtils.convertLocalTimeQuiet("L12")); - TestCase.assertEquals(java.time.LocalTime.of(12, 59, 0), DateTimeUtils.convertLocalTimeQuiet("L12:59")); - TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_000_000), - DateTimeUtils.convertLocalTimeQuiet("L12:59:59.123")); - TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_456_000), - DateTimeUtils.convertLocalTimeQuiet("L12:59:59.123456")); - TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_456_789), - DateTimeUtils.convertLocalTimeQuiet("L12:59:59.123456789")); + try { + DateTimeUtils.millisToNanos(Long.MAX_VALUE / 2); + TestCase.fail("Should throw an exception"); + } catch (DateTimeUtils.DateTimeOverflowException ex) { + // pass + } - TestCase.assertEquals(java.time.LocalTime.of(12, 0, 0), DateTimeUtils.convertLocalTimeQuiet("L12")); - TestCase.assertEquals(java.time.LocalTime.of(12, 59, 0), DateTimeUtils.convertLocalTimeQuiet("L1259")); - TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_000_000), - DateTimeUtils.convertLocalTimeQuiet("L125959.123")); - TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_456_000), - DateTimeUtils.convertLocalTimeQuiet("L125959.123456")); - TestCase.assertEquals(java.time.LocalTime.of(12, 59, 59, 123_456_789), - DateTimeUtils.convertLocalTimeQuiet("L125959.123456789")); + try { + DateTimeUtils.microsToNanos(-Long.MAX_VALUE / 2); + TestCase.fail("Should throw an exception"); + } catch (DateTimeUtils.DateTimeOverflowException ex) { + // pass + } + } + + public void testMicrosToSeconds() { + final long v = 1234567890; + TestCase.assertEquals(v / 1_000_000L, DateTimeUtils.microsToSeconds(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.microsToSeconds(NULL_LONG)); + } + + public void testMillisToMicros() { + final long v = 1234567890; + TestCase.assertEquals(v * 1_000L, DateTimeUtils.millisToMicros(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.millisToMicros(NULL_LONG)); } - public void testConvertDate() throws Exception { - DateTimeUtils.convertDate("2010-01-01"); // shouldn't have an exception + public void testMillisToNanos() { + final long v = 1234567890; + TestCase.assertEquals(v * 1_000_000L, DateTimeUtils.millisToNanos(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.millisToNanos(NULL_LONG)); try { - DateTimeUtils.convertDate("2010-01-01 NY"); - TestCase.fail("Should have thrown an exception"); - } catch (Exception e) { - } - - TestCase.assertEquals("DateTimeUtils.convertDate(\"9999-12-31\")", - LocalDate.of(9999, 12, 31), - DateTimeUtils.convertDate("9999-12-31")); - } - - public void testConvertDateTimeQuiet() throws Exception { - TestCase.assertEquals( - new DateTime( - new org.joda.time.DateTime("2010-01-01", DateTimeZone.forID("America/New_York")).getMillis() - * 1000000), - DateTimeUtils.convertDateTimeQuiet("2010-01-01 NY")); - TestCase.assertEquals(new DateTime( - new org.joda.time.DateTime("2010-01-01T12:00:00", DateTimeZone.forID("America/New_York")).getMillis() - * 1000000), - DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00 NY")); - TestCase.assertEquals(new DateTime( - new org.joda.time.DateTime("2010-01-01T12:00:00.1", DateTimeZone.forID("America/New_York")).getMillis() - * 1000000), - DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.1 NY")); - TestCase.assertEquals(new DateTime( - new org.joda.time.DateTime("2010-01-01T12:00:00.123", DateTimeZone.forID("America/New_York")) - .getMillis() * 1000000), - DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.123 NY")); - TestCase.assertEquals(new DateTime( - new org.joda.time.DateTime("2010-01-01T12:00:00.123", DateTimeZone.forID("America/New_York")) - .getMillis() * 1000000 - + 400000), - DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.1234 NY")); - TestCase.assertEquals( - new DateTime( - new org.joda.time.DateTime("2010-01-01T12:00:00.123", DateTimeZone.forID("America/New_York")) - .getMillis() - * 1000000 + 456789), - DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.123456789 NY")); - - TestCase.assertEquals( - new DateTime(new org.joda.time.DateTime("2010-01-01", DateTimeZone.forID("America/Chicago")).getMillis() - * 1000000), - DateTimeUtils.convertDateTimeQuiet("2010-01-01 MN")); - TestCase.assertEquals(new DateTime( - new org.joda.time.DateTime("2010-01-01T12:00:00", DateTimeZone.forID("America/Chicago")).getMillis() - * 1000000), - DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00 MN")); - TestCase.assertEquals(new DateTime( - new org.joda.time.DateTime("2010-01-01T12:00:00.1", DateTimeZone.forID("America/Chicago")).getMillis() - * 1000000), - DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.1 MN")); - TestCase.assertEquals(new DateTime( - new org.joda.time.DateTime("2010-01-01T12:00:00.123", DateTimeZone.forID("America/Chicago")).getMillis() - * 1000000), - DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.123 MN")); - TestCase.assertEquals(new DateTime( - new org.joda.time.DateTime("2010-01-01T12:00:00.123", DateTimeZone.forID("America/Chicago")).getMillis() - * 1000000 - + 400000), - DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.1234 MN")); - TestCase.assertEquals( - new DateTime( - new org.joda.time.DateTime("2010-01-01T12:00:00.123", DateTimeZone.forID("America/Chicago")) - .getMillis() - * 1000000 + 456789), - DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.123456789 MN")); - - TestCase.assertEquals(new DateTime(1503343549064106107L), - DateTimeUtils.convertDateTimeQuiet("2017-08-21T15:25:49.064106107 NY")); - - // assertEquals(new DateTime(new DateTime("2010-01-01T12:00:00.123", DateTimeZone.UTC).getMillis()*1000000), - // DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.123+0000")); - // assertEquals(new DateTime(new DateTime("2010-01-01T12:00:00.123", - // DateTimeZone.forID("America/New_York")).getMillis()*1000000), - // DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.123-0400")); - // assertEquals(new DateTime(new DateTime("2010-01-01T12:00:00.123", - // DateTimeZone.forID("Asia/Seoul")).getMillis()*1000000), - // DateTimeUtils.convertDateTimeQuiet("2010-01-01T12:00:00.123+0900")); - } - - public void testConvertDateTime() throws Exception { - DateTimeUtils.convertDateTime("2010-01-01 NY"); // shouldn't have an exception - - try { - DateTimeUtils.convertDateTime("2010-01-01"); - TestCase.fail("Should have thrown an exception"); - } catch (Exception e) { - } - - TestCase.assertEquals("DateTimeUtils.convertDateTime(\"2262-04-11T19:47:16.854775807 NY\").getNanos()", - Long.MAX_VALUE, - DateTimeUtils.convertDateTime("2262-04-11T19:47:16.854775807 NY").getNanos()); - } - - public void testConvertTimeQuiet() throws Exception { - TestCase.assertEquals(new LocalTime("12:00").getMillisOfDay() * 1000000L, - DateTimeUtils.convertTimeQuiet("12:00")); - TestCase.assertEquals(new LocalTime("12:00:00").getMillisOfDay() * 1000000L, - DateTimeUtils.convertTimeQuiet("12:00:00")); - TestCase.assertEquals(new LocalTime("12:00:00.123").getMillisOfDay() * 1000000L, - DateTimeUtils.convertTimeQuiet("12:00:00.123")); - TestCase.assertEquals(new LocalTime("12:00:00.123").getMillisOfDay() * 1000000L + 400000, - DateTimeUtils.convertTimeQuiet("12:00:00.1234")); - TestCase.assertEquals(new LocalTime("12:00:00.123").getMillisOfDay() * 1000000L + 456789, - DateTimeUtils.convertTimeQuiet("12:00:00.123456789")); - - TestCase.assertEquals(new LocalTime("2:00").getMillisOfDay() * 1000000L, - DateTimeUtils.convertTimeQuiet("2:00")); - TestCase.assertEquals(new LocalTime("2:00:00").getMillisOfDay() * 1000000L, - DateTimeUtils.convertTimeQuiet("2:00:00")); - TestCase.assertEquals(new LocalTime("2:00:00.123").getMillisOfDay() * 1000000L, - DateTimeUtils.convertTimeQuiet("2:00:00.123")); - TestCase.assertEquals(new LocalTime("2:00:00.123").getMillisOfDay() * 1000000L + 400000, - DateTimeUtils.convertTimeQuiet("2:00:00.1234")); - TestCase.assertEquals(new LocalTime("2:00:00.123").getMillisOfDay() * 1000000L + 456789, - DateTimeUtils.convertTimeQuiet("2:00:00.123456789")); - - TestCase.assertEquals( - new LocalTime("2:00").getMillisOfDay() * 1000000L + 3L * 1000000 * DateUtil.MILLIS_PER_DAY, - DateTimeUtils.convertTimeQuiet("3T2:00")); - TestCase.assertEquals( - new LocalTime("2:00:00").getMillisOfDay() * 1000000L + 3L * 1000000 * DateUtil.MILLIS_PER_DAY, - DateTimeUtils.convertTimeQuiet("3T2:00:00")); - TestCase.assertEquals( - new LocalTime("2:00:00.123").getMillisOfDay() * 1000000L + 3L * 1000000 * DateUtil.MILLIS_PER_DAY, - DateTimeUtils.convertTimeQuiet("3T2:00:00.123")); - TestCase.assertEquals(new LocalTime("2:00:00.123").getMillisOfDay() * 1000000L + 400000 - + 3L * 1000000 * DateUtil.MILLIS_PER_DAY, DateTimeUtils.convertTimeQuiet("3T2:00:00.1234")); - TestCase.assertEquals(new LocalTime("2:00:00.123").getMillisOfDay() * 1000000L + 456789 - + 3L * 1000000 * DateUtil.MILLIS_PER_DAY, DateTimeUtils.convertTimeQuiet("3T2:00:00.123456789")); - - TestCase.assertEquals(55549064106107L, DateTimeUtils.convertTimeQuiet("15:25:49.064106107")); - } - - public void testConvertTime() throws Exception { - DateTimeUtils.convertTime("12:00"); // shouldn't have an exception - - try { - DateTimeUtils.convertTime("12"); - TestCase.fail("Should have thrown an exception"); - } catch (Exception e) { + DateTimeUtils.millisToNanos(Long.MAX_VALUE / 2); + TestCase.fail("Should throw an exception"); + } catch (DateTimeUtils.DateTimeOverflowException ex) { + // pass } + + try { + DateTimeUtils.millisToNanos(-Long.MAX_VALUE / 2); + TestCase.fail("Should throw an exception"); + } catch (DateTimeUtils.DateTimeOverflowException ex) { + // pass + } + } + + public void testMillisToSeconds() { + final long v = 1234567890; + TestCase.assertEquals(v / 1_000L, DateTimeUtils.millisToSeconds(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.millisToSeconds(NULL_LONG)); + } + + public void testNanosToMicros() { + final long v = 1234567890; + TestCase.assertEquals(v / 1_000L, DateTimeUtils.nanosToMicros(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.nanosToMicros(NULL_LONG)); } - public void testConvertPeriodQuiet() throws Exception { - TestCase.assertEquals(new org.joda.time.Period("PT1s"), - DateTimeUtils.convertPeriodQuiet("T1S").getJodaPeriod()); - TestCase.assertEquals(new org.joda.time.Period("P1wT1m"), - DateTimeUtils.convertPeriodQuiet("1WT1M").getJodaPeriod()); - TestCase.assertEquals(new org.joda.time.Period("P1w"), DateTimeUtils.convertPeriodQuiet("1W").getJodaPeriod()); + public void testNanosToMillis() { + final long v = 1234567890; + TestCase.assertEquals(v / 1_000_000L, DateTimeUtils.nanosToMillis(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.nanosToMillis(NULL_LONG)); + } - TestCase.assertEquals(null, DateTimeUtils.convertPeriodQuiet("-")); + public void testNanosToSeconds() { + final long v = 1234567890; + TestCase.assertEquals(v / 1_000_000_000L, DateTimeUtils.nanosToSeconds(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.nanosToSeconds(NULL_LONG)); } - public void testConvertPeriod() throws Exception { - DateTimeUtils.convertPeriod("T1S"); // shouldn't have an exception + public void testSecondsToNanos() { + final long v = 1234567890; + TestCase.assertEquals(v * 1_000_000_000L, DateTimeUtils.secondsToNanos(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.secondsToNanos(NULL_LONG)); try { - DateTimeUtils.convertPeriod("1S"); - TestCase.fail("Should have thrown an exception"); - } catch (Exception e) { + DateTimeUtils.secondsToNanos(Long.MAX_VALUE / 2); + TestCase.fail("Should throw an exception"); + } catch (DateTimeUtils.DateTimeOverflowException ex) { + // pass + } + + try { + DateTimeUtils.secondsToNanos(-Long.MAX_VALUE / 2); + TestCase.fail("Should throw an exception"); + } catch (DateTimeUtils.DateTimeOverflowException ex) { + // pass } } - public void testTimeFormat() throws Exception { - TestCase.assertEquals("12:00:00", DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("12:00"))); - TestCase.assertEquals("12:00:00", DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("12:00:00"))); - TestCase.assertEquals("12:00:00.123000000", - DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("12:00:00.123"))); - TestCase.assertEquals("12:00:00.123400000", - DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("12:00:00.1234"))); - TestCase.assertEquals("12:00:00.123456789", - DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("12:00:00.123456789"))); + public void testSecondsToMicros() { + final long v = 1234567890; + TestCase.assertEquals(v * 1_000_000L, DateTimeUtils.secondsToMicros(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.secondsToMicros(NULL_LONG)); + } + + public void testSecondsToMillis() { + final long v = 1234567890; + TestCase.assertEquals(v * 1_000L, DateTimeUtils.secondsToMillis(v)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.secondsToMillis(NULL_LONG)); + } + + public void testToDate() { + final long millis = 123456789; + final Instant dt2 = Instant.ofEpochSecond(0, millis * DateTimeUtils.MILLI); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(new Date(millis), DateTimeUtils.toDate(dt2)); + TestCase.assertNull(DateTimeUtils.toDate((Instant) null)); + + TestCase.assertEquals(new Date(millis), DateTimeUtils.toDate(dt3)); + TestCase.assertNull(DateTimeUtils.toDate((ZonedDateTime) null)); + } + + public void testToInstant() { + final long nanos = 123456789123456789L; + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + final LocalDate ld = LocalDate.of(1973, 11, 30); + final LocalTime lt = LocalTime.of(6, 33, 9, 123456789); + final Date d = new Date(DateTimeUtils.nanosToMillis(nanos)); + + TestCase.assertEquals(dt2, DateTimeUtils.toInstant(dt3)); + TestCase.assertNull(DateTimeUtils.toInstant((ZonedDateTime) null)); + + TestCase.assertEquals(dt2, DateTimeUtils.toInstant(ld, lt, TZ_JP)); + TestCase.assertNull(DateTimeUtils.toInstant(null, lt, TZ_JP)); + TestCase.assertNull(DateTimeUtils.toInstant(ld, null, TZ_JP)); + TestCase.assertNull(DateTimeUtils.toInstant(ld, lt, null)); + + TestCase.assertEquals(Instant.ofEpochSecond(0, (nanos / DateTimeUtils.MILLI) * DateTimeUtils.MILLI), + DateTimeUtils.toInstant(d)); + TestCase.assertNull(DateTimeUtils.toInstant((Date) null)); + } + + public void testToLocalDate() { + final long nanos = 123456789123456789L; + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + final LocalDate ld = LocalDate.of(1973, 11, 30); + + TestCase.assertEquals(ld, DateTimeUtils.toLocalDate(dt2, TZ_JP)); + TestCase.assertNull(DateTimeUtils.toLocalDate(null, TZ_JP)); + + TestCase.assertEquals(ld, DateTimeUtils.toLocalDate(dt3)); + // noinspection ConstantConditions + TestCase.assertNull(DateTimeUtils.toLocalDate(null)); + } + + public void testToLocalTime() { + final long nanos = 123456789123456789L; + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + final LocalTime lt = LocalTime.of(6, 33, 9, 123456789); + + TestCase.assertEquals(lt, DateTimeUtils.toLocalTime(dt2, TZ_JP)); + TestCase.assertNull(DateTimeUtils.toLocalTime(null, TZ_JP)); + + TestCase.assertEquals(lt, DateTimeUtils.toLocalTime(dt3)); + // noinspection ConstantConditions + TestCase.assertNull(DateTimeUtils.toLocalTime(null)); + } + + public void testToZonedDateTime() { + final long nanos = 123456789123456789L; + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + final LocalDate ld = LocalDate.of(1973, 11, 30); + final LocalTime lt = LocalTime.of(6, 33, 9, 123456789); + + TestCase.assertEquals(dt3, DateTimeUtils.toZonedDateTime(dt2, TZ_JP)); + TestCase.assertNull(DateTimeUtils.toZonedDateTime(null, TZ_JP)); + + TestCase.assertEquals(dt3, DateTimeUtils.toZonedDateTime(ld, lt, TZ_JP)); + TestCase.assertNull(DateTimeUtils.toZonedDateTime(null, lt, TZ_JP)); + TestCase.assertNull(DateTimeUtils.toZonedDateTime(ld, null, TZ_JP)); + TestCase.assertNull(DateTimeUtils.toZonedDateTime(ld, lt, null)); + } + + public void testEpochNanos() { + final long nanos = 123456789123456789L; + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(nanos, DateTimeUtils.epochNanos(dt2)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.epochNanos((Instant) null)); + + TestCase.assertEquals(nanos, DateTimeUtils.epochNanos(dt3)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.epochNanos((ZonedDateTime) null)); + } + + public void testEpochMicros() { + final long nanos = 123456789123456789L; + final long micros = DateTimeUtils.nanosToMicros(nanos); + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(micros, DateTimeUtils.epochMicros(dt2)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.epochMicros((Instant) null)); + + TestCase.assertEquals(micros, DateTimeUtils.epochMicros(dt3)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.epochMicros((ZonedDateTime) null)); + } + + public void testEpochMillis() { + final long nanos = 123456789123456789L; + final long millis = DateTimeUtils.nanosToMillis(nanos); + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(millis, DateTimeUtils.epochMillis(dt2)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.epochMillis((Instant) null)); + + TestCase.assertEquals(millis, DateTimeUtils.epochMillis(dt3)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.epochMillis((ZonedDateTime) null)); + } + + public void testEpochSeconds() { + final long nanos = 123456789123456789L; + final long seconds = DateTimeUtils.nanosToSeconds(nanos); + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(seconds, DateTimeUtils.epochSeconds(dt2)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.epochSeconds((Instant) null)); + + TestCase.assertEquals(seconds, DateTimeUtils.epochSeconds(dt3)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.epochSeconds((ZonedDateTime) null)); + } + + public void testEpochNanosTo() { + final long nanos = 123456789123456789L; + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(dt2, DateTimeUtils.epochNanosToInstant(nanos)); + TestCase.assertNull(DateTimeUtils.epochNanosToInstant(NULL_LONG)); + + TestCase.assertEquals(dt3, DateTimeUtils.epochNanosToZonedDateTime(nanos, TZ_JP)); + TestCase.assertNull(DateTimeUtils.epochNanosToZonedDateTime(NULL_LONG, TZ_JP)); + TestCase.assertNull(DateTimeUtils.epochNanosToZonedDateTime(nanos, null)); + } + + public void testEpochMicrosTo() { + long nanos = 123456789123456789L; + final long micros = DateTimeUtils.nanosToMicros(nanos); + nanos = DateTimeUtils.microsToNanos(micros); + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(dt2, DateTimeUtils.epochMicrosToInstant(micros)); + TestCase.assertNull(DateTimeUtils.epochMicrosToInstant(NULL_LONG)); + + TestCase.assertEquals(dt3, DateTimeUtils.epochMicrosToZonedDateTime(micros, TZ_JP)); + TestCase.assertNull(DateTimeUtils.epochMicrosToZonedDateTime(NULL_LONG, TZ_JP)); + TestCase.assertNull(DateTimeUtils.epochMicrosToZonedDateTime(micros, null)); + } + + public void testEpochMillisTo() { + long nanos = 123456789123456789L; + final long millis = DateTimeUtils.nanosToMillis(nanos); + nanos = DateTimeUtils.millisToNanos(millis); + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(dt2, DateTimeUtils.epochMillisToInstant(millis)); + TestCase.assertNull(DateTimeUtils.epochMillisToInstant(NULL_LONG)); + + TestCase.assertEquals(dt3, DateTimeUtils.epochMillisToZonedDateTime(millis, TZ_JP)); + TestCase.assertNull(DateTimeUtils.epochMillisToZonedDateTime(NULL_LONG, TZ_JP)); + TestCase.assertNull(DateTimeUtils.epochMillisToZonedDateTime(millis, null)); + } + + public void testEpochSecondsTo() { + long nanos = 123456789123456789L; + final long seconds = DateTimeUtils.nanosToSeconds(nanos); + nanos = DateTimeUtils.secondsToNanos(seconds); + final Instant dt2 = Instant.ofEpochSecond(0, nanos); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(dt2, DateTimeUtils.epochSecondsToInstant(seconds)); + TestCase.assertNull(DateTimeUtils.epochSecondsToInstant(NULL_LONG)); + + TestCase.assertEquals(dt3, DateTimeUtils.epochSecondsToZonedDateTime(seconds, TZ_JP)); + TestCase.assertNull(DateTimeUtils.epochSecondsToZonedDateTime(NULL_LONG, TZ_JP)); + TestCase.assertNull(DateTimeUtils.epochSecondsToZonedDateTime(seconds, null)); + } + + public void testEpochAutoTo() { + final Instant dt1 = DateTimeUtils.parseInstant("2023-02-02T12:13:14.1345 NY"); + final long nanos = DateTimeUtils.epochNanos(dt1); + final long micros = DateTimeUtils.epochMicros(dt1); + final long millis = DateTimeUtils.epochMillis(dt1); + final long seconds = DateTimeUtils.epochSeconds(dt1); + final Instant dt1u = DateTimeUtils.epochMicrosToInstant(micros); + final Instant dt1m = DateTimeUtils.epochMillisToInstant(millis); + final Instant dt1s = DateTimeUtils.epochSecondsToInstant(seconds); + + TestCase.assertEquals(nanos, DateTimeUtils.epochAutoToEpochNanos(nanos)); + TestCase.assertEquals((nanos / DateTimeUtils.MICRO) * DateTimeUtils.MICRO, + DateTimeUtils.epochAutoToEpochNanos(micros)); + TestCase.assertEquals((nanos / DateTimeUtils.MILLI) * DateTimeUtils.MILLI, + DateTimeUtils.epochAutoToEpochNanos(millis)); + TestCase.assertEquals((nanos / DateTimeUtils.SECOND) * DateTimeUtils.SECOND, + DateTimeUtils.epochAutoToEpochNanos(seconds)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.epochAutoToEpochNanos(NULL_LONG)); + + TestCase.assertEquals(dt1, DateTimeUtils.epochAutoToInstant(nanos)); + TestCase.assertEquals(dt1u, DateTimeUtils.epochAutoToInstant(micros)); + TestCase.assertEquals(dt1m, DateTimeUtils.epochAutoToInstant(millis)); + TestCase.assertEquals(dt1s, DateTimeUtils.epochAutoToInstant(seconds)); + TestCase.assertNull(DateTimeUtils.epochAutoToInstant(NULL_LONG)); + + TestCase.assertEquals(DateTimeUtils.toZonedDateTime(dt1, TZ_JP), + DateTimeUtils.epochAutoToZonedDateTime(nanos, TZ_JP)); + TestCase.assertEquals(DateTimeUtils.toZonedDateTime(dt1u, TZ_JP), + DateTimeUtils.epochAutoToZonedDateTime(micros, TZ_JP)); + TestCase.assertEquals(DateTimeUtils.toZonedDateTime(dt1m, TZ_JP), + DateTimeUtils.epochAutoToZonedDateTime(millis, TZ_JP)); + TestCase.assertEquals(DateTimeUtils.toZonedDateTime(dt1s, TZ_JP), + DateTimeUtils.epochAutoToZonedDateTime(seconds, TZ_JP)); + TestCase.assertNull(DateTimeUtils.epochAutoToZonedDateTime(NULL_LONG, TZ_JP)); + TestCase.assertNull(DateTimeUtils.epochAutoToZonedDateTime(nanos, null)); + } + + public void testToExcelTime() { + final Instant dt2 = DateTimeUtils.parseInstant("2010-06-15T16:00:00 NY"); + final ZonedDateTime dt3 = dt2.atZone(TZ_AL); + + TestCase.assertTrue( + CompareUtils.doubleEquals(40344.666666666664, DateTimeUtils.toExcelTime(dt2, TZ_NY))); + TestCase.assertTrue( + CompareUtils.doubleEquals(40344.625, DateTimeUtils.toExcelTime(dt2, TZ_CT))); + TestCase.assertTrue( + CompareUtils.doubleEquals(40344.625, DateTimeUtils.toExcelTime(dt2, TZ_MN))); + TestCase.assertEquals(0.0, DateTimeUtils.toExcelTime(null, TZ_MN)); + TestCase.assertEquals(0.0, DateTimeUtils.toExcelTime(dt2, null)); + + TestCase.assertTrue( + CompareUtils.doubleEquals(DateTimeUtils.toExcelTime(dt2, TZ_AL), DateTimeUtils.toExcelTime(dt3))); + TestCase.assertEquals(0.0, DateTimeUtils.toExcelTime(null)); + } + + public void testExcelTimeTo() { + final Instant dt2 = DateTimeUtils.parseInstant("2010-06-15T16:23:45.678 NY"); + final ZonedDateTime dt3 = dt2.atZone(TZ_AL); + + TestCase.assertEquals(dt2, DateTimeUtils.excelToInstant(DateTimeUtils.toExcelTime(dt2, TZ_AL), TZ_AL)); + TestCase.assertTrue(DateTimeUtils.epochMillis(dt2) - DateTimeUtils + .epochMillis(DateTimeUtils.excelToInstant(DateTimeUtils.toExcelTime(dt2, TZ_AL), TZ_AL)) <= 1); + TestCase.assertNull(DateTimeUtils.excelToInstant(123.4, null)); + + TestCase.assertEquals(dt3, DateTimeUtils.excelToZonedDateTime(DateTimeUtils.toExcelTime(dt2, TZ_AL), TZ_AL)); + TestCase.assertTrue(DateTimeUtils.epochMillis(dt3) - DateTimeUtils + .epochMillis(DateTimeUtils.excelToZonedDateTime(DateTimeUtils.toExcelTime(dt2, TZ_AL), TZ_AL)) <= 1); + TestCase.assertNull(DateTimeUtils.excelToZonedDateTime(123.4, null)); + + // Test daylight savings time + + final Instant dstI1 = DateTimeUtils.parseInstant("2023-03-12T01:00:00 America/Denver"); + final Instant dstI2 = DateTimeUtils.parseInstant("2023-11-05T01:00:00 America/Denver"); + final ZonedDateTime dstZdt1 = DateTimeUtils.toZonedDateTime(dstI1, ZoneId.of("America/Denver")); + final ZonedDateTime dstZdt2 = DateTimeUtils.toZonedDateTime(dstI2, ZoneId.of("America/Denver")); + + TestCase.assertEquals(dstI1, DateTimeUtils.excelToInstant( + DateTimeUtils.toExcelTime(dstI1, ZoneId.of("America/Denver")), ZoneId.of("America/Denver"))); + TestCase.assertEquals(dstI2, DateTimeUtils.excelToInstant( + DateTimeUtils.toExcelTime(dstI2, ZoneId.of("America/Denver")), ZoneId.of("America/Denver"))); + + TestCase.assertEquals(dstZdt1, + DateTimeUtils.excelToZonedDateTime(DateTimeUtils.toExcelTime(dstZdt1), ZoneId.of("America/Denver"))); + TestCase.assertEquals(dstZdt2, + DateTimeUtils.excelToZonedDateTime(DateTimeUtils.toExcelTime(dstZdt2), ZoneId.of("America/Denver"))); + } + + public void testIsBefore() { + final Instant i1 = Instant.ofEpochSecond(0, 123); + final Instant i2 = Instant.ofEpochSecond(0, 456); + final Instant i3 = Instant.ofEpochSecond(0, 456); + + TestCase.assertTrue(DateTimeUtils.isBefore(i1, i2)); + TestCase.assertFalse(DateTimeUtils.isBefore(i2, i1)); + TestCase.assertFalse(DateTimeUtils.isBefore(i2, i3)); + TestCase.assertFalse(DateTimeUtils.isBefore(i3, i2)); + // noinspection ConstantConditions + TestCase.assertFalse(DateTimeUtils.isBefore(null, i2)); + // noinspection ConstantConditions + TestCase.assertFalse(DateTimeUtils.isBefore((Instant) null, null)); + // noinspection ConstantConditions + TestCase.assertFalse(DateTimeUtils.isBefore(i1, null)); + + final ZonedDateTime z1 = i1.atZone(TZ_AL); + final ZonedDateTime z2 = i2.atZone(TZ_AL); + final ZonedDateTime z3 = i3.atZone(TZ_AL); + + TestCase.assertTrue(DateTimeUtils.isBefore(z1, z2)); + TestCase.assertFalse(DateTimeUtils.isBefore(z2, z1)); + TestCase.assertFalse(DateTimeUtils.isBefore(z2, z3)); + TestCase.assertFalse(DateTimeUtils.isBefore(z3, z2)); + TestCase.assertFalse(DateTimeUtils.isBefore(null, z2)); + // noinspection ConstantConditions + TestCase.assertFalse(DateTimeUtils.isBefore((Instant) null, null)); + TestCase.assertFalse(DateTimeUtils.isBefore(z1, null)); + } + + public void testIsBeforeOrEqual() { + final Instant i1 = Instant.ofEpochSecond(0, 123); + final Instant i2 = Instant.ofEpochSecond(0, 456); + final Instant i3 = Instant.ofEpochSecond(0, 456); + + TestCase.assertTrue(DateTimeUtils.isBeforeOrEqual(i1, i2)); + TestCase.assertFalse(DateTimeUtils.isBeforeOrEqual(i2, i1)); + TestCase.assertTrue(DateTimeUtils.isBeforeOrEqual(i2, i3)); + TestCase.assertTrue(DateTimeUtils.isBeforeOrEqual(i3, i2)); + TestCase.assertFalse(DateTimeUtils.isBeforeOrEqual(null, i2)); + TestCase.assertFalse(DateTimeUtils.isBeforeOrEqual((Instant) null, null)); + TestCase.assertFalse(DateTimeUtils.isBeforeOrEqual(i1, null)); + + final ZonedDateTime z1 = i1.atZone(TZ_AL); + final ZonedDateTime z2 = i2.atZone(TZ_AL); + final ZonedDateTime z3 = i3.atZone(TZ_AL); + + TestCase.assertTrue(DateTimeUtils.isBeforeOrEqual(z1, z2)); + TestCase.assertFalse(DateTimeUtils.isBeforeOrEqual(z2, z1)); + TestCase.assertTrue(DateTimeUtils.isBeforeOrEqual(z2, z3)); + TestCase.assertTrue(DateTimeUtils.isBeforeOrEqual(z3, z2)); + TestCase.assertFalse(DateTimeUtils.isBeforeOrEqual(null, z2)); + TestCase.assertFalse(DateTimeUtils.isBeforeOrEqual((Instant) null, null)); + TestCase.assertFalse(DateTimeUtils.isBeforeOrEqual(z1, null)); + } + + public void testIsAfter() { + final Instant i1 = Instant.ofEpochSecond(0, 123); + final Instant i2 = Instant.ofEpochSecond(0, 456); + final Instant i3 = Instant.ofEpochSecond(0, 456); + + TestCase.assertFalse(DateTimeUtils.isAfter(i1, i2)); + TestCase.assertTrue(DateTimeUtils.isAfter(i2, i1)); + TestCase.assertFalse(DateTimeUtils.isAfter(i2, i3)); + TestCase.assertFalse(DateTimeUtils.isAfter(i3, i2)); + // noinspection ConstantConditions + TestCase.assertFalse(DateTimeUtils.isAfter(null, i2)); + // noinspection ConstantConditions + TestCase.assertFalse(DateTimeUtils.isAfter((Instant) null, null)); + // noinspection ConstantConditions + TestCase.assertFalse(DateTimeUtils.isAfter(i1, null)); + + final ZonedDateTime z1 = i1.atZone(TZ_AL); + final ZonedDateTime z2 = i2.atZone(TZ_AL); + final ZonedDateTime z3 = i3.atZone(TZ_AL); + + TestCase.assertFalse(DateTimeUtils.isAfter(z1, z2)); + TestCase.assertTrue(DateTimeUtils.isAfter(z2, z1)); + TestCase.assertFalse(DateTimeUtils.isAfter(z2, z3)); + TestCase.assertFalse(DateTimeUtils.isAfter(z3, z2)); + TestCase.assertFalse(DateTimeUtils.isAfter(null, z2)); + // noinspection ConstantConditions + TestCase.assertFalse(DateTimeUtils.isAfter((Instant) null, null)); + TestCase.assertFalse(DateTimeUtils.isAfter(z1, null)); + } + + public void testIsAfterOrEqual() { + final Instant i1 = Instant.ofEpochSecond(0, 123); + final Instant i2 = Instant.ofEpochSecond(0, 456); + final Instant i3 = Instant.ofEpochSecond(0, 456); + + TestCase.assertFalse(DateTimeUtils.isAfterOrEqual(i1, i2)); + TestCase.assertTrue(DateTimeUtils.isAfterOrEqual(i2, i1)); + TestCase.assertTrue(DateTimeUtils.isAfterOrEqual(i2, i3)); + TestCase.assertTrue(DateTimeUtils.isAfterOrEqual(i3, i2)); + TestCase.assertFalse(DateTimeUtils.isAfterOrEqual(null, i2)); + TestCase.assertFalse(DateTimeUtils.isAfterOrEqual((Instant) null, null)); + TestCase.assertFalse(DateTimeUtils.isAfterOrEqual(i1, null)); + + final ZonedDateTime z1 = i1.atZone(TZ_AL); + final ZonedDateTime z2 = i2.atZone(TZ_AL); + final ZonedDateTime z3 = i3.atZone(TZ_AL); + + TestCase.assertFalse(DateTimeUtils.isAfterOrEqual(z1, z2)); + TestCase.assertTrue(DateTimeUtils.isAfterOrEqual(z2, z1)); + TestCase.assertTrue(DateTimeUtils.isAfterOrEqual(z2, z3)); + TestCase.assertTrue(DateTimeUtils.isAfterOrEqual(z3, z2)); + TestCase.assertFalse(DateTimeUtils.isAfterOrEqual(null, z2)); + TestCase.assertFalse(DateTimeUtils.isAfterOrEqual((Instant) null, null)); + TestCase.assertFalse(DateTimeUtils.isAfterOrEqual(z1, null)); + } + + public void testClock() { + final long nanos = 123456789123456789L; + final @NotNull Clock initial = DateTimeUtils.currentClock(); + + try { + final io.deephaven.base.clock.Clock clock = new io.deephaven.base.clock.Clock() { + + @Override + public long currentTimeMillis() { + return nanos / DateTimeUtils.MILLI; + } + + @Override + public long currentTimeMicros() { + throw new UnsupportedOperationException(); + } + + @Override + public long currentTimeNanos() { + return nanos; + } + + @Override + public Instant instantNanos() { + return Instant.ofEpochSecond(0, nanos); + } + + @Override + public Instant instantMillis() { + return Instant.ofEpochMilli(nanos / DateTimeUtils.MILLI); + } + }; + DateTimeUtils.setClock(clock); + TestCase.assertEquals(clock, DateTimeUtils.currentClock()); + + TestCase.assertEquals(Instant.ofEpochSecond(0, nanos), DateTimeUtils.now()); + TestCase.assertEquals(Instant.ofEpochSecond(0, (nanos / DateTimeUtils.MILLI) * DateTimeUtils.MILLI), + DateTimeUtils.nowMillisResolution()); + + TestCase.assertTrue(Math.abs(Clock.system().currentTimeNanos() + - DateTimeUtils.epochNanos(DateTimeUtils.nowSystem())) < 1_000_000L); + TestCase.assertTrue(Math.abs(Clock.system().currentTimeNanos() + - DateTimeUtils.epochNanos(DateTimeUtils.nowSystemMillisResolution())) < 1_000_000L); + + TestCase.assertEquals(DateTimeUtils.formatDate(Instant.ofEpochSecond(0, nanos), TZ_AL), + DateTimeUtils.today(TZ_AL)); + TestCase.assertEquals(DateTimeUtils.today(DateTimeUtils.timeZone()), DateTimeUtils.today()); + } catch (Exception ex) { + DateTimeUtils.setClock(initial); + throw ex; + } + + DateTimeUtils.setClock(initial); + } - TestCase.assertEquals("2:00:00", DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("2:00"))); - TestCase.assertEquals("2:00:00", DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("2:00:00"))); - TestCase.assertEquals("2:00:00.123000000", DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("2:00:00.123"))); - TestCase.assertEquals("2:00:00.123400000", - DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("2:00:00.1234"))); - TestCase.assertEquals("2:00:00.123456789", - DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("2:00:00.123456789"))); + public void testTimeZone() { + final String[][] values = { + {"NY", "America/New_York"}, + {"MN", "America/Chicago"}, + {"JP", "Asia/Tokyo"}, + {"SG", "Asia/Singapore"}, + {"UTC", "UTC"}, + {"America/Argentina/Buenos_Aires", "America/Argentina/Buenos_Aires"}, + {"GMT+2", "GMT+2"}, + {"UTC+01:00", "UTC+01:00"} + }; + + for (final String[] v : values) { + TestCase.assertEquals(TimeZoneAliases.zoneId(v[0]), DateTimeUtils.timeZone(v[0])); + TestCase.assertEquals(TimeZoneAliases.zoneId(v[1]), DateTimeUtils.timeZone(v[1])); + } - TestCase.assertEquals("3T2:00:00", DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("3T2:00"))); - TestCase.assertEquals("3T2:00:00", DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("3T2:00:00"))); - TestCase.assertEquals("3T2:00:00.123000000", - DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("3T2:00:00.123"))); - TestCase.assertEquals("3T2:00:00.123400000", - DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("3T2:00:00.1234"))); - TestCase.assertEquals("3T2:00:00.123456789", - DateTimeUtils.format(DateTimeUtils.convertTimeQuiet("3T2:00:00.123456789"))); + TestCase.assertEquals(ZoneId.systemDefault(), DateTimeUtils.timeZone()); } - public void testFormatDate() throws Exception { - TestCase.assertEquals("2010-01-01", - DateTimeUtils.formatDate(DateTimeUtils.convertDateTimeQuiet("2010-01-01 NY"), TimeZone.TZ_NY)); + public void testTimeZoneAliasAddRm() { + final String alias = "BA"; + final String tz = "America/Argentina/Buenos_Aires"; + TestCase.assertFalse(DateTimeUtils.timeZoneAliasRm(alias)); + TestCase.assertFalse(TimeZoneAliases.getAllZones().containsKey(alias)); + DateTimeUtils.timeZoneAliasAdd(alias, tz); + TestCase.assertTrue(TimeZoneAliases.getAllZones().containsKey(alias)); + TestCase.assertEquals(ZoneId.of(tz), TimeZoneAliases.zoneId(alias)); + TestCase.assertEquals(alias, TimeZoneAliases.zoneName(ZoneId.of(tz))); + TestCase.assertTrue(DateTimeUtils.timeZoneAliasRm(alias)); + TestCase.assertFalse(TimeZoneAliases.getAllZones().containsKey(alias)); } public void testLowerBin() { final long second = 1000000000L; final long minute = 60 * second; final long hour = 60 * minute; - DateTime time = DateTimeUtils.convertDateTime("2010-06-15T06:14:01.2345 NY"); - TestCase.assertEquals(DateTimeUtils.convertDateTime("2010-06-15T06:14:01 NY"), - DateTimeUtils.lowerBin(time, second)); - TestCase.assertEquals(DateTimeUtils.convertDateTime("2010-06-15T06:10:00 NY"), - DateTimeUtils.lowerBin(time, 5 * minute)); - TestCase.assertEquals(DateTimeUtils.convertDateTime("2010-06-15T06:00:00 NY"), - DateTimeUtils.lowerBin(time, hour)); - TestCase.assertEquals(null, DateTimeUtils.lowerBin(null, 5 * minute)); - TestCase.assertEquals(null, DateTimeUtils.lowerBin(time, io.deephaven.util.QueryConstants.NULL_LONG)); + final Instant instant = DateTimeUtils.parseInstant("2010-06-15T06:14:01.2345 NY"); + + TestCase.assertEquals(DateTimeUtils.lowerBin(instant, second), + DateTimeUtils.lowerBin(DateTimeUtils.lowerBin(instant, second), second)); + + TestCase.assertEquals(DateTimeUtils.parseInstant("2010-06-15T06:14:01 NY"), + DateTimeUtils.lowerBin(instant, second)); + TestCase.assertEquals(DateTimeUtils.parseInstant("2010-06-15T06:10:00 NY"), + DateTimeUtils.lowerBin(instant, 5 * minute)); + TestCase.assertEquals(DateTimeUtils.parseInstant("2010-06-15T06:00:00 NY"), + DateTimeUtils.lowerBin(instant, hour)); + TestCase.assertNull(DateTimeUtils.lowerBin((Instant) null, 5 * minute)); + TestCase.assertNull(DateTimeUtils.lowerBin(instant, NULL_LONG)); + + TestCase.assertEquals(DateTimeUtils.lowerBin(instant, second), + DateTimeUtils.lowerBin(DateTimeUtils.lowerBin(instant, second), second)); + + final ZonedDateTime zdt = DateTimeUtils.toZonedDateTime(instant, TZ_AL); + + TestCase.assertEquals(DateTimeUtils.toZonedDateTime(DateTimeUtils.lowerBin(instant, second), TZ_AL), + DateTimeUtils.lowerBin(DateTimeUtils.lowerBin(zdt, second), second)); + + TestCase.assertEquals(DateTimeUtils.parseZonedDateTime("2010-06-15T06:14:01 NY").withZoneSameInstant(TZ_AL), + DateTimeUtils.lowerBin(zdt, second)); + TestCase.assertEquals(DateTimeUtils.parseZonedDateTime("2010-06-15T06:10:00 NY").withZoneSameInstant(TZ_AL), + DateTimeUtils.lowerBin(zdt, 5 * minute)); + TestCase.assertEquals(DateTimeUtils.parseZonedDateTime("2010-06-15T06:00:00 NY").withZoneSameInstant(TZ_AL), + DateTimeUtils.lowerBin(zdt, hour)); + TestCase.assertNull(DateTimeUtils.lowerBin((ZonedDateTime) null, 5 * minute)); + TestCase.assertNull(DateTimeUtils.lowerBin(zdt, NULL_LONG)); + + TestCase.assertEquals(DateTimeUtils.lowerBin(zdt, second), + DateTimeUtils.lowerBin(DateTimeUtils.lowerBin(zdt, second), second)); - TestCase.assertEquals(DateTimeUtils.lowerBin(time, second), - DateTimeUtils.lowerBin(DateTimeUtils.lowerBin(time, second), second)); } public void testLowerBinWithOffset() { final long second = 1000000000L; final long minute = 60 * second; - final long hour = 60 * minute; - DateTime time = DateTimeUtils.convertDateTime("2010-06-15T06:14:01.2345 NY"); - TestCase.assertEquals(DateTimeUtils.convertDateTime("2010-06-15T06:11:00 NY"), - DateTimeUtils.lowerBin(time, 5 * minute, minute)); - TestCase.assertEquals(null, DateTimeUtils.lowerBin(null, 5 * minute, minute)); - TestCase.assertEquals(null, DateTimeUtils.lowerBin(time, QueryConstants.NULL_LONG, minute)); - TestCase.assertEquals(null, DateTimeUtils.lowerBin(time, 5 * minute, QueryConstants.NULL_LONG)); + final Instant instant = DateTimeUtils.parseInstant("2010-06-15T06:14:01.2345 NY"); + + TestCase.assertEquals(DateTimeUtils.parseInstant("2010-06-15T06:11:00 NY"), + DateTimeUtils.lowerBin(instant, 5 * minute, minute)); + TestCase.assertNull(DateTimeUtils.lowerBin((Instant) null, 5 * minute, minute)); + TestCase.assertNull(DateTimeUtils.lowerBin(instant, NULL_LONG, minute)); + TestCase.assertNull(DateTimeUtils.lowerBin(instant, 5 * minute, NULL_LONG)); + + TestCase.assertEquals(DateTimeUtils.lowerBin(instant, second, second), + DateTimeUtils.lowerBin(DateTimeUtils.lowerBin(instant, second, second), second, second)); - TestCase.assertEquals(DateTimeUtils.lowerBin(time, second, second), - DateTimeUtils.lowerBin(DateTimeUtils.lowerBin(time, second, second), second, second)); + final ZonedDateTime zdt = DateTimeUtils.toZonedDateTime(instant, TZ_AL); + + TestCase.assertEquals(DateTimeUtils.parseZonedDateTime("2010-06-15T06:11:00 NY").withZoneSameInstant(TZ_AL), + DateTimeUtils.lowerBin(zdt, 5 * minute, minute)); + TestCase.assertNull(DateTimeUtils.lowerBin((ZonedDateTime) null, 5 * minute, minute)); + TestCase.assertNull(DateTimeUtils.lowerBin(zdt, NULL_LONG, minute)); + TestCase.assertNull(DateTimeUtils.lowerBin(zdt, 5 * minute, NULL_LONG)); + + TestCase.assertEquals(DateTimeUtils.lowerBin(zdt, second, second), + DateTimeUtils.lowerBin(DateTimeUtils.lowerBin(zdt, second, second), second, second)); } public void testUpperBin() { final long second = 1000000000L; final long minute = 60 * second; final long hour = 60 * minute; - DateTime time = DateTimeUtils.convertDateTime("2010-06-15T06:14:01.2345 NY"); - TestCase.assertEquals(DateTimeUtils.convertDateTime("2010-06-15T06:14:02 NY"), - DateTimeUtils.upperBin(time, second)); - TestCase.assertEquals(DateTimeUtils.convertDateTime("2010-06-15T06:15:00 NY"), - DateTimeUtils.upperBin(time, 5 * minute)); - TestCase.assertEquals(DateTimeUtils.convertDateTime("2010-06-15T07:00:00 NY"), - DateTimeUtils.upperBin(time, hour)); - TestCase.assertEquals(null, DateTimeUtils.upperBin(null, 5 * minute)); - TestCase.assertEquals(null, DateTimeUtils.upperBin(time, io.deephaven.util.QueryConstants.NULL_LONG)); - - TestCase.assertEquals(DateTimeUtils.upperBin(time, second), - DateTimeUtils.upperBin(DateTimeUtils.upperBin(time, second), second)); + final Instant instant = DateTimeUtils.parseInstant("2010-06-15T06:14:01.2345 NY"); + + TestCase.assertEquals(DateTimeUtils.parseInstant("2010-06-15T06:14:02 NY"), + DateTimeUtils.upperBin(instant, second)); + TestCase.assertEquals(DateTimeUtils.parseInstant("2010-06-15T06:15:00 NY"), + DateTimeUtils.upperBin(instant, 5 * minute)); + TestCase.assertEquals(DateTimeUtils.parseInstant("2010-06-15T07:00:00 NY"), + DateTimeUtils.upperBin(instant, hour)); + TestCase.assertNull(DateTimeUtils.upperBin((Instant) null, 5 * minute)); + TestCase.assertNull(DateTimeUtils.upperBin(instant, NULL_LONG)); + + TestCase.assertEquals(DateTimeUtils.upperBin(instant, second), + DateTimeUtils.upperBin(DateTimeUtils.upperBin(instant, second), second)); + + final ZonedDateTime zdt = DateTimeUtils.toZonedDateTime(instant, TZ_AL); + + TestCase.assertEquals(DateTimeUtils.parseZonedDateTime("2010-06-15T06:14:02 NY").withZoneSameInstant(TZ_AL), + DateTimeUtils.upperBin(zdt, second)); + TestCase.assertEquals(DateTimeUtils.parseZonedDateTime("2010-06-15T06:15:00 NY").withZoneSameInstant(TZ_AL), + DateTimeUtils.upperBin(zdt, 5 * minute)); + TestCase.assertEquals(DateTimeUtils.parseZonedDateTime("2010-06-15T07:00:00 NY").withZoneSameInstant(TZ_AL), + DateTimeUtils.upperBin(zdt, hour)); + TestCase.assertNull(DateTimeUtils.upperBin((ZonedDateTime) null, 5 * minute)); + TestCase.assertNull(DateTimeUtils.upperBin(zdt, NULL_LONG)); + + TestCase.assertEquals(DateTimeUtils.upperBin(zdt, second), + DateTimeUtils.upperBin(DateTimeUtils.upperBin(zdt, second), second)); } public void testUpperBinWithOffset() { final long second = 1000000000L; final long minute = 60 * second; - final long hour = 60 * minute; - DateTime time = DateTimeUtils.convertDateTime("2010-06-15T06:14:01.2345 NY"); - TestCase.assertEquals(DateTimeUtils.convertDateTime("2010-06-15T06:16:00 NY"), - DateTimeUtils.upperBin(time, 5 * minute, minute)); - TestCase.assertEquals(null, DateTimeUtils.upperBin(null, 5 * minute, minute)); - TestCase.assertEquals(null, DateTimeUtils.upperBin(time, io.deephaven.util.QueryConstants.NULL_LONG, minute)); - TestCase.assertEquals(null, DateTimeUtils.upperBin(time, 5 * minute, QueryConstants.NULL_LONG)); + final Instant instant = DateTimeUtils.parseInstant("2010-06-15T06:14:01.2345 NY"); - TestCase.assertEquals(DateTimeUtils.upperBin(time, second, second), - DateTimeUtils.upperBin(DateTimeUtils.upperBin(time, second, second), second, second)); - } + TestCase.assertEquals(DateTimeUtils.parseInstant("2010-06-15T06:16:00 NY"), + DateTimeUtils.upperBin(instant, 5 * minute, minute)); + TestCase.assertNull(DateTimeUtils.upperBin((Instant) null, 5 * minute, minute)); + TestCase.assertNull(DateTimeUtils.upperBin(instant, NULL_LONG, minute)); + TestCase.assertNull(DateTimeUtils.upperBin(instant, 5 * minute, NULL_LONG)); - public void testGetExcelDate() { - DateTime time = DateTimeUtils.convertDateTime("2010-06-15T16:00:00 NY"); - TestCase.assertTrue(CompareUtils.doubleEquals(40344.666666666664, DateTimeUtils.getExcelDateTime(time))); - TestCase.assertTrue( - CompareUtils.doubleEquals(40344.625, DateTimeUtils.getExcelDateTime(time, TimeZones.TZ_CHICAGO))); - TestCase.assertTrue(CompareUtils.doubleEquals(40344.625, DateTimeUtils.getExcelDateTime(time, TimeZone.TZ_MN))); - } - - /** - * Test autoEpcohTime with the given epoch time. - * - * @param epoch Epoch time (in seconds) - * @return The year (in the New York timezone) in which the given time falls. - */ - public int doTestAutoEpochToTime(long epoch) { - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(epoch).getMillis(), epoch * 1000); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(epoch).getMicros(), epoch * 1000 * 1000); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(epoch).getNanos(), epoch * 1000 * 1000 * 1000); - - final long milliValue = epoch * 1000 + (int) (Math.signum(epoch) * 123); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(milliValue).getMillis(), milliValue); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(milliValue).getMicros(), milliValue * 1000); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(milliValue).getNanos(), milliValue * 1000 * 1000); - - final long microValue = milliValue * 1000 + (int) (Math.signum(milliValue) * 456); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(microValue).getMillis(), milliValue); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(microValue).getMicros(), microValue); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(microValue).getNanos(), microValue * 1000); - - final long nanoValue = microValue * 1000 + (int) (Math.signum(microValue) * 789); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(nanoValue).getMillis(), milliValue); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(nanoValue).getMicros(), microValue); - TestCase.assertEquals(DateTimeUtils.autoEpochToTime(nanoValue).getNanos(), nanoValue); - - return DateTimeUtils.year(DateTimeUtils.autoEpochToTime(nanoValue), TimeZone.TZ_NY); - } - - public void testAutoEpochToTime() { - long inTheYear2035 = 2057338800; - TestCase.assertEquals("doTestAutoEpochToTime(inTheYear2035)", 2035, doTestAutoEpochToTime(inTheYear2035)); - long inTheYear1993 = 731966400; - TestCase.assertEquals("doTestAutoEpochToTime(inTheYear1993)", 1993, doTestAutoEpochToTime(inTheYear1993)); - long inTheYear2013 = 1363114800; - TestCase.assertEquals("doTestAutoEpochToTime(inTheYear2013)", 2013, doTestAutoEpochToTime(inTheYear2013)); - - long inTheYear1904 = -2057338800; - TestCase.assertEquals("doTestAutoEpochToTime(inTheYear1904)", 1904, doTestAutoEpochToTime(inTheYear1904)); - long inTheYear1946 = -731966400; - TestCase.assertEquals("doTestAutoEpochToTime(inTheYear1946)", 1946, doTestAutoEpochToTime(inTheYear1946)); - long inTheYear1926 = -1363114800; - TestCase.assertEquals("doTestAutoEpochToTime(inTheYear1926)", 1926, doTestAutoEpochToTime(inTheYear1926)); - } - - public void testConvertExpression() throws Exception { - TestCase.assertEquals("_date0", DateTimeUtils.convertExpression("'2010-01-01 NY'").getConvertedFormula()); - TestCase.assertEquals("_time0", DateTimeUtils.convertExpression("'12:00'").getConvertedFormula()); - TestCase.assertEquals("_period0", DateTimeUtils.convertExpression("'T1S'").getConvertedFormula()); - TestCase.assertEquals("'g'", DateTimeUtils.convertExpression("'g'").getConvertedFormula()); - } + TestCase.assertEquals(DateTimeUtils.upperBin(instant, second, second), + DateTimeUtils.upperBin(DateTimeUtils.upperBin(instant, second, second), second, second)); - public void testMicrosOfMilli() { - TestCase.assertEquals(0, - DateTimeUtils.microsOfMilli(DateTimeUtils.convertDateTime("2015-07-31T20:40 NY"), TimeZone.TZ_NY)); - TestCase.assertEquals(0, - DateTimeUtils.microsOfMilli(DateTimeUtils.convertDateTime("2015-07-31T20:40:00 NY"), TimeZone.TZ_NY)); - TestCase.assertEquals(0, - DateTimeUtils.microsOfMilli(DateTimeUtils.convertDateTime("2015-07-31T20:40:00.123 NY"), - TimeZone.TZ_NY)); - TestCase.assertEquals(400, - DateTimeUtils.microsOfMilli(DateTimeUtils.convertDateTime("2015-07-31T20:40:00.1234 NY"), - TimeZone.TZ_NY)); - TestCase.assertEquals(456, - DateTimeUtils.microsOfMilli(DateTimeUtils.convertDateTime("2015-07-31T20:40:00.123456 NY"), - TimeZone.TZ_NY)); - // this one should round up - TestCase.assertEquals(457, - DateTimeUtils.microsOfMilli(DateTimeUtils.convertDateTime("2015-07-31T20:40:00.1234567 NY"), - TimeZone.TZ_NY)); - // this one should round up - TestCase.assertEquals(457, - DateTimeUtils.microsOfMilli(DateTimeUtils.convertDateTime("2015-07-31T20:40:00.123456789 NY"), - TimeZone.TZ_NY)); - } - - public void testZonedDateTime() { - final DateTime dateTime1 = DateTimeUtils.convertDateTime("2015-07-31T20:40 NY"); - final ZonedDateTime zonedDateTime1 = - ZonedDateTime.of(2015, 7, 31, 20, 40, 0, 0, TimeZone.TZ_NY.getTimeZone().toTimeZone().toZoneId()); - TestCase.assertEquals(zonedDateTime1, DateTimeUtils.getZonedDateTime(dateTime1, TimeZone.TZ_NY)); - TestCase.assertEquals(dateTime1, DateTimeUtils.toDateTime(zonedDateTime1)); - - final DateTime dateTime2 = DateTimeUtils.convertDateTime("2020-07-31T20:40 NY"); - TestCase.assertEquals(dateTime2, - DateTimeUtils.toDateTime(DateTimeUtils.getZonedDateTime(dateTime2, TimeZone.TZ_NY))); - - final DateTime dateTime3 = DateTimeUtils.convertDateTime("2050-07-31T20:40 NY"); - TestCase.assertEquals(dateTime3, - DateTimeUtils.toDateTime(DateTimeUtils.getZonedDateTime(dateTime3, TimeZone.TZ_NY))); - } - - public void testISO8601() { - final String iso8601 = "2022-04-26T00:30:31.087360Z"; - assertEquals(DateTime.of(Instant.parse(iso8601)), DateTimeUtils.convertDateTime(iso8601)); + final ZonedDateTime zdt = DateTimeUtils.toZonedDateTime(instant, TZ_AL); + + TestCase.assertEquals(DateTimeUtils.parseZonedDateTime("2010-06-15T06:16:00 NY").withZoneSameInstant(TZ_AL), + DateTimeUtils.upperBin(zdt, 5 * minute, minute)); + TestCase.assertNull(DateTimeUtils.upperBin((ZonedDateTime) null, 5 * minute, minute)); + TestCase.assertNull(DateTimeUtils.upperBin(zdt, NULL_LONG, minute)); + TestCase.assertNull(DateTimeUtils.upperBin(zdt, 5 * minute, NULL_LONG)); + + TestCase.assertEquals(DateTimeUtils.upperBin(zdt, second, second), + DateTimeUtils.upperBin(DateTimeUtils.upperBin(zdt, second, second), second, second)); } + public void testPlus() { + final Instant instant = DateTimeUtils.parseInstant("2010-01-01T12:13:14.999123456 JP"); + final ZonedDateTime zdt = DateTimeUtils.toZonedDateTime(instant, TZ_AL); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) + 54321L, + DateTimeUtils.epochNanos(DateTimeUtils.plus(instant, 54321L))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) - 54321L, + DateTimeUtils.epochNanos(DateTimeUtils.plus(instant, -54321L))); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) + 54321L, + DateTimeUtils.epochNanos(DateTimeUtils.plus(zdt, 54321L))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) - 54321L, + DateTimeUtils.epochNanos(DateTimeUtils.plus(zdt, -54321L))); + + Period period = Period.parse("P1D"); + Duration duration = Duration.parse("PT1h"); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) + DateTimeUtils.DAY, + DateTimeUtils.epochNanos(DateTimeUtils.plus(instant, period))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) + 3600000000000L, + DateTimeUtils.epochNanos(DateTimeUtils.plus(instant, duration))); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) + DateTimeUtils.DAY, + DateTimeUtils.epochNanos(DateTimeUtils.plus(zdt, period))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) + 3600000000000L, + DateTimeUtils.epochNanos(DateTimeUtils.plus(zdt, duration))); + + period = Period.parse("-P1D"); + duration = Duration.parse("PT-1h"); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) - DateTimeUtils.DAY, + DateTimeUtils.epochNanos(DateTimeUtils.plus(instant, period))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) - 3600000000000L, + DateTimeUtils.epochNanos(DateTimeUtils.plus(instant, duration))); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) - DateTimeUtils.DAY, + DateTimeUtils.epochNanos(DateTimeUtils.plus(zdt, period))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant) - 3600000000000L, + DateTimeUtils.epochNanos(DateTimeUtils.plus(zdt, duration))); + + TestCase.assertNull(DateTimeUtils.plus(instant, NULL_LONG)); + TestCase.assertNull(DateTimeUtils.plus(instant, (Period) null)); + TestCase.assertNull(DateTimeUtils.plus(instant, (Duration) null)); + TestCase.assertNull(DateTimeUtils.plus((Instant) null, period)); + TestCase.assertNull(DateTimeUtils.plus((Instant) null, duration)); + + TestCase.assertNull(DateTimeUtils.plus(zdt, NULL_LONG)); + TestCase.assertNull(DateTimeUtils.plus(zdt, (Period) null)); + TestCase.assertNull(DateTimeUtils.plus(zdt, (Duration) null)); + TestCase.assertNull(DateTimeUtils.plus((ZonedDateTime) null, period)); + TestCase.assertNull(DateTimeUtils.plus((ZonedDateTime) null, duration)); - public void testISO8601_druation() { - final long dayNanos = 1_000_000_000L * 60 * 60 * 24; + // overflow plus - assertEquals(7 * dayNanos, DateTimeUtils.expressionToNanos("1W")); - assertEquals(-7 * dayNanos, DateTimeUtils.expressionToNanos("-1W")); + DateTimeUtils.plus(Instant.ofEpochSecond(31556889864403199L, 999_999_999L - 10), 10); // edge at max + try { + DateTimeUtils.plus(Instant.ofEpochSecond(31556889864403199L, 999_999_999L), 1); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.plus(Instant.ofEpochSecond(31556889864403199L, 999_999_999L), Period.ofDays(1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.plus(Instant.ofEpochSecond(31556889864403199L, 999_999_999L), Duration.ofNanos(1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + + DateTimeUtils.plus(ZonedDateTime.of(LocalDate.of(Year.MAX_VALUE, 12, 31), + LocalTime.of(23, 59, 59, 999_999_999 - 10), ZoneId.of("UTC")), 10); // edge at max + try { + DateTimeUtils.plus(ZonedDateTime.of(LocalDate.of(Year.MAX_VALUE, 12, 31), + LocalTime.of(23, 59, 59, 999_999_999), ZoneId.of("UTC")), 1); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.plus(ZonedDateTime.of(LocalDate.of(Year.MAX_VALUE, 12, 31), + LocalTime.of(23, 59, 59, 999_999_999), ZoneId.of("UTC")), Period.ofDays(1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.plus(ZonedDateTime.of(LocalDate.of(Year.MAX_VALUE, 12, 31), + LocalTime.of(23, 59, 59, 999_999_999), ZoneId.of("UTC")), Duration.ofNanos(1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + + DateTimeUtils.plus(Instant.ofEpochSecond(-31557014167219200L, 10), -10); // edge at max + try { + DateTimeUtils.plus(Instant.ofEpochSecond(-31557014167219200L, 0), -1); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.plus(Instant.ofEpochSecond(-31557014167219200L, 0), Period.ofDays(-1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.plus(Instant.ofEpochSecond(-31557014167219200L, 0), Duration.ofNanos(-1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + + // edge at max + DateTimeUtils.plus( + ZonedDateTime.of(LocalDate.of(Year.MIN_VALUE, 1, 1), LocalTime.of(0, 0, 0, 10), ZoneId.of("UTC")), -10); + try { + DateTimeUtils.plus( + ZonedDateTime.of(LocalDate.of(Year.MIN_VALUE, 1, 1), LocalTime.of(0, 0, 0, 0), ZoneId.of("UTC")), + -1); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.plus( + ZonedDateTime.of(LocalDate.of(Year.MIN_VALUE, 1, 1), LocalTime.of(0, 0, 0, 0), ZoneId.of("UTC")), + Period.ofDays(-1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.plus( + ZonedDateTime.of(LocalDate.of(Year.MIN_VALUE, 1, 1), LocalTime.of(0, 0, 0, 0), ZoneId.of("UTC")), + Duration.ofNanos(-1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + + } + + public void testMinus() { + final Instant instant1 = DateTimeUtils.parseInstant("2010-01-01T12:13:14.999123456 JP"); + final Instant instant2 = DateTimeUtils.parseInstant("2010-01-01T13:13:14.999123456 JP"); + final ZonedDateTime zdt1 = DateTimeUtils.toZonedDateTime(instant1, TZ_AL); + final ZonedDateTime zdt2 = DateTimeUtils.toZonedDateTime(instant2, TZ_AL); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant1) - 54321L, + DateTimeUtils.epochNanos(DateTimeUtils.minus(instant1, 54321L))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant2) + 54321L, + DateTimeUtils.epochNanos(DateTimeUtils.minus(instant2, -54321L))); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant1) - 54321L, + DateTimeUtils.epochNanos(DateTimeUtils.minus(zdt1, 54321L))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant2) + 54321L, + DateTimeUtils.epochNanos(DateTimeUtils.minus(zdt2, -54321L))); + + TestCase.assertEquals(-3600000000000L, DateTimeUtils.minus(instant1, instant2)); + TestCase.assertEquals(3600000000000L, DateTimeUtils.minus(instant2, instant1)); + + TestCase.assertEquals(-3600000000000L, DateTimeUtils.minus(zdt1, zdt2)); + TestCase.assertEquals(3600000000000L, DateTimeUtils.minus(zdt2, zdt1)); + + Period period = Period.parse("P1D"); + Duration duration = Duration.parse("PT1h"); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant1) - DateTimeUtils.DAY, + DateTimeUtils.epochNanos(DateTimeUtils.minus(instant1, period))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant1) - 3600000000000L, + DateTimeUtils.epochNanos(DateTimeUtils.minus(instant1, duration))); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant1) - DateTimeUtils.DAY, + DateTimeUtils.epochNanos(DateTimeUtils.minus(zdt1, period))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant1) - 3600000000000L, + DateTimeUtils.epochNanos(DateTimeUtils.minus(zdt1, duration))); + + period = Period.parse("-P1D"); + duration = Duration.parse("PT-1h"); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant1) + DateTimeUtils.DAY, + DateTimeUtils.epochNanos(DateTimeUtils.minus(instant1, period))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant1) + 3600000000000L, + DateTimeUtils.epochNanos(DateTimeUtils.minus(instant1, duration))); + + TestCase.assertEquals(DateTimeUtils.epochNanos(instant1) + DateTimeUtils.DAY, + DateTimeUtils.epochNanos(DateTimeUtils.minus(zdt1, period))); + TestCase.assertEquals(DateTimeUtils.epochNanos(instant1) + 3600000000000L, + DateTimeUtils.epochNanos(DateTimeUtils.minus(zdt1, duration))); + + TestCase.assertNull(DateTimeUtils.minus(instant1, NULL_LONG)); + TestCase.assertNull(DateTimeUtils.minus(instant1, (Period) null)); + TestCase.assertNull(DateTimeUtils.minus(instant1, (Duration) null)); + TestCase.assertNull(DateTimeUtils.minus((Instant) null, period)); + TestCase.assertNull(DateTimeUtils.minus((Instant) null, duration)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.minus(instant1, (Instant) null)); + + TestCase.assertNull(DateTimeUtils.minus(zdt1, NULL_LONG)); + TestCase.assertNull(DateTimeUtils.minus(zdt1, (Period) null)); + TestCase.assertNull(DateTimeUtils.minus(zdt1, (Duration) null)); + TestCase.assertNull(DateTimeUtils.minus((ZonedDateTime) null, period)); + TestCase.assertNull(DateTimeUtils.minus((ZonedDateTime) null, duration)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.minus(zdt1, (ZonedDateTime) null)); + + // overflow minus + + DateTimeUtils.minus(Instant.ofEpochSecond(31556889864403199L, 999_999_999L - 10), -10); // edge at max + try { + DateTimeUtils.minus(Instant.ofEpochSecond(31556889864403199L, 999_999_999L), -1); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.minus(Instant.ofEpochSecond(31556889864403199L, 999_999_999L), Period.ofDays(-1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.minus(Instant.ofEpochSecond(31556889864403199L, 999_999_999L), Duration.ofNanos(-1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + + DateTimeUtils.minus(ZonedDateTime.of(LocalDate.of(Year.MAX_VALUE, 12, 31), + LocalTime.of(23, 59, 59, 999_999_999 - 10), ZoneId.of("UTC")), 10); // edge at max + try { + DateTimeUtils.minus(ZonedDateTime.of(LocalDate.of(Year.MAX_VALUE, 12, 31), + LocalTime.of(23, 59, 59, 999_999_999), ZoneId.of("UTC")), -1); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.minus(ZonedDateTime.of(LocalDate.of(Year.MAX_VALUE, 12, 31), + LocalTime.of(23, 59, 59, 999_999_999), ZoneId.of("UTC")), Period.ofDays(-1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.minus(ZonedDateTime.of(LocalDate.of(Year.MAX_VALUE, 12, 31), + LocalTime.of(23, 59, 59, 999_999_999), ZoneId.of("UTC")), Duration.ofNanos(-1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + + DateTimeUtils.minus(Instant.ofEpochSecond(-31557014167219200L, 10), 10); // edge at min + try { + DateTimeUtils.minus(Instant.ofEpochSecond(-31557014167219200L, 0), 1); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.minus(Instant.ofEpochSecond(-31557014167219200L, 0), Period.ofDays(1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.minus(Instant.ofEpochSecond(-31557014167219200L, 0), Duration.ofNanos(1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + + DateTimeUtils.minus( + ZonedDateTime.of(LocalDate.of(Year.MIN_VALUE, 1, 1), LocalTime.of(0, 0, 0, 10), ZoneId.of("UTC")), -10); // edge + // at + // max + try { + DateTimeUtils.minus( + ZonedDateTime.of(LocalDate.of(Year.MIN_VALUE, 1, 1), LocalTime.of(0, 0, 0, 0), ZoneId.of("UTC")), + 1); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.minus( + ZonedDateTime.of(LocalDate.of(Year.MIN_VALUE, 1, 1), LocalTime.of(0, 0, 0, 0), ZoneId.of("UTC")), + Period.ofDays(1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + try { + DateTimeUtils.minus( + ZonedDateTime.of(LocalDate.of(Year.MIN_VALUE, 1, 1), LocalTime.of(0, 0, 0, 0), ZoneId.of("UTC")), + Duration.ofNanos(1)); + TestCase.fail("This should have overflowed"); + } catch (DateTimeUtils.DateTimeOverflowException e) { + // ok + } + + } + + public void testDiffNanos() { + final Instant i1 = DateTimeUtils.epochNanosToInstant(12345678987654321L); + final Instant i2 = DateTimeUtils.epochNanosToInstant(98765432123456789L); + final long delta = DateTimeUtils.epochNanos(i2) - DateTimeUtils.epochNanos(i1); + + TestCase.assertEquals(delta, DateTimeUtils.diffNanos(i1, i2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffNanos(i2, i1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffNanos(null, i1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffNanos(i2, null)); + + final ZonedDateTime zdt1 = i1.atZone(TZ_AL); + final ZonedDateTime zdt2 = i2.atZone(TZ_AL); + + TestCase.assertEquals(delta, DateTimeUtils.diffNanos(zdt1, zdt2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffNanos(zdt2, zdt1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffNanos(null, zdt1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffNanos(zdt2, null)); + } + + public void testDiffMicros() { + final Instant i1 = DateTimeUtils.epochNanosToInstant(12345678987654321L); + final Instant i2 = DateTimeUtils.epochNanosToInstant(98765432123456789L); + final long delta = (DateTimeUtils.epochNanos(i2) - DateTimeUtils.epochNanos(i1)) / DateTimeUtils.MICRO; + + TestCase.assertEquals(delta, DateTimeUtils.diffMicros(i1, i2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffMicros(i2, i1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffMicros(null, i1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffMicros(i2, null)); + + final ZonedDateTime zdt1 = i1.atZone(TZ_AL); + final ZonedDateTime zdt2 = i2.atZone(TZ_AL); + + TestCase.assertEquals(delta, DateTimeUtils.diffMicros(zdt1, zdt2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffMicros(zdt2, zdt1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffMicros(null, zdt1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffMicros(zdt2, null)); + } + + public void testDiffMillis() { + final Instant i1 = DateTimeUtils.epochNanosToInstant(12345678987654321L); + final Instant i2 = DateTimeUtils.epochNanosToInstant(98765432123456789L); + final long delta = (DateTimeUtils.epochNanos(i2) - DateTimeUtils.epochNanos(i1)) / DateTimeUtils.MILLI; + + TestCase.assertEquals(delta, DateTimeUtils.diffMillis(i1, i2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffMillis(i2, i1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffMillis(null, i1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffMillis(i2, null)); + + final ZonedDateTime zdt1 = i1.atZone(TZ_AL); + final ZonedDateTime zdt2 = i2.atZone(TZ_AL); + + TestCase.assertEquals(delta, DateTimeUtils.diffMillis(zdt1, zdt2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffMillis(zdt2, zdt1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffMillis(null, zdt1)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.diffMillis(zdt2, null)); + } + + public void testDiffSeconds() { + final Instant i1 = DateTimeUtils.epochNanosToInstant(12345678987654321L); + final Instant i2 = DateTimeUtils.epochNanosToInstant(98765432123456789L); + final double delta = + (DateTimeUtils.epochNanos(i2) - DateTimeUtils.epochNanos(i1)) / (double) DateTimeUtils.SECOND; + + TestCase.assertEquals(delta, DateTimeUtils.diffSeconds(i1, i2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffSeconds(i2, i1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffSeconds(null, i1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffSeconds(i2, null)); + + final ZonedDateTime zdt1 = i1.atZone(TZ_AL); + final ZonedDateTime zdt2 = i2.atZone(TZ_AL); + + TestCase.assertEquals(delta, DateTimeUtils.diffSeconds(zdt1, zdt2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffSeconds(zdt2, zdt1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffSeconds(null, zdt1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffSeconds(zdt2, null)); + } + + public void testDiffMinutes() { + final Instant i1 = DateTimeUtils.epochNanosToInstant(12345678987654321L); + final Instant i2 = DateTimeUtils.epochNanosToInstant(98765432123456789L); + final double delta = + (DateTimeUtils.epochNanos(i2) - DateTimeUtils.epochNanos(i1)) / (double) DateTimeUtils.MINUTE; + + TestCase.assertEquals(delta, DateTimeUtils.diffMinutes(i1, i2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffMinutes(i2, i1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffMinutes(null, i1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffMinutes(i2, null)); + + final ZonedDateTime zdt1 = i1.atZone(TZ_AL); + final ZonedDateTime zdt2 = i2.atZone(TZ_AL); + + TestCase.assertEquals(delta, DateTimeUtils.diffMinutes(zdt1, zdt2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffMinutes(zdt2, zdt1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffMinutes(null, zdt1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffMinutes(zdt2, null)); + } + + public void testDiffDays() { + final Instant i1 = DateTimeUtils.epochNanosToInstant(12345678987654321L); + final Instant i2 = DateTimeUtils.epochNanosToInstant(98765432123456789L); + final double delta = (DateTimeUtils.epochNanos(i2) - DateTimeUtils.epochNanos(i1)) / (double) DateTimeUtils.DAY; + + TestCase.assertEquals(delta, DateTimeUtils.diffDays(i1, i2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffDays(i2, i1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffDays(null, i1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffDays(i2, null)); + + final ZonedDateTime zdt1 = i1.atZone(TZ_AL); + final ZonedDateTime zdt2 = i2.atZone(TZ_AL); + + TestCase.assertEquals(delta, DateTimeUtils.diffDays(zdt1, zdt2)); + TestCase.assertEquals(-delta, DateTimeUtils.diffDays(zdt2, zdt1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffDays(null, zdt1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffDays(zdt2, null)); + } + + public void testDiffYears365() { + final Instant i1 = DateTimeUtils.epochNanosToInstant(12345678987654321L); + final Instant i2 = DateTimeUtils.epochNanosToInstant(98765432123456789L); + final double delta = + (DateTimeUtils.epochNanos(i2) - DateTimeUtils.epochNanos(i1)) / (double) DateTimeUtils.YEAR_365; + + assertEquals(delta, DateTimeUtils.diffYears365(i1, i2), 1e-10); + assertEquals(-delta, DateTimeUtils.diffYears365(i2, i1), 1e-10); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffYears365(null, i1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffYears365(i2, null)); + + final ZonedDateTime zdt1 = i1.atZone(TZ_AL); + final ZonedDateTime zdt2 = i2.atZone(TZ_AL); + + assertEquals(delta, DateTimeUtils.diffYears365(zdt1, zdt2), 1e-10); + assertEquals(-delta, DateTimeUtils.diffYears365(zdt2, zdt1), 1e-10); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffYears365(null, zdt1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffYears365(zdt2, null)); + } + + public void testDiffYears() { + final Instant i1 = DateTimeUtils.epochNanosToInstant(12345678987654321L); + final Instant i2 = DateTimeUtils.epochNanosToInstant(98765432123456789L); + final double delta = + (DateTimeUtils.epochNanos(i2) - DateTimeUtils.epochNanos(i1)) / (double) DateTimeUtils.YEAR_AVG; + + assertEquals(delta, DateTimeUtils.diffYearsAvg(i1, i2), 1e-10); + assertEquals(-delta, DateTimeUtils.diffYearsAvg(i2, i1), 1e-10); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffYearsAvg(null, i1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffYearsAvg(i2, null)); + + final ZonedDateTime zdt1 = i1.atZone(TZ_AL); + final ZonedDateTime zdt2 = i2.atZone(TZ_AL); + + assertEquals(delta, DateTimeUtils.diffYearsAvg(zdt1, zdt2), 1e-10); + assertEquals(-delta, DateTimeUtils.diffYearsAvg(zdt2, zdt1), 1e-10); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffYearsAvg(null, zdt1)); + TestCase.assertEquals(NULL_DOUBLE, DateTimeUtils.diffYearsAvg(zdt2, null)); + } + + public void testYear() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(2023, DateTimeUtils.year(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.year(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.year(null, TZ_JP)); + + TestCase.assertEquals(2023, DateTimeUtils.year(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.year(null)); + } + + public void testYearOfCentury() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(23, DateTimeUtils.yearOfCentury(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.yearOfCentury(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.yearOfCentury(null, TZ_JP)); + + TestCase.assertEquals(23, DateTimeUtils.yearOfCentury(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.yearOfCentury(null)); + } + + public void testMonthOfYear() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-02-03T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(2, DateTimeUtils.monthOfYear(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.monthOfYear(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.monthOfYear(null, TZ_JP)); + + TestCase.assertEquals(2, DateTimeUtils.monthOfYear(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.monthOfYear(null)); + } + + public void testDayOfMonth() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-02-03T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(3, DateTimeUtils.dayOfMonth(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.dayOfMonth(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.dayOfMonth(null, TZ_JP)); + + TestCase.assertEquals(3, DateTimeUtils.dayOfMonth(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.dayOfMonth(null)); } + + public void testDayOfWeek() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-02-03T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(DayOfWeek.FRIDAY.getValue(), DateTimeUtils.dayOfWeek(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.dayOfWeek(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.dayOfWeek(null, TZ_JP)); + + TestCase.assertEquals(DayOfWeek.FRIDAY.getValue(), DateTimeUtils.dayOfWeek(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.dayOfWeek(null)); + } + + public void testDayOfYear() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-02-03T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(34, DateTimeUtils.dayOfYear(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.dayOfYear(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.dayOfYear(null, TZ_JP)); + + TestCase.assertEquals(34, DateTimeUtils.dayOfYear(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.dayOfYear(null)); + } + + public void testHourOfDay() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(11, DateTimeUtils.hourOfDay(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.hourOfDay(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.hourOfDay(null, TZ_JP)); + + TestCase.assertEquals(11, DateTimeUtils.hourOfDay(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.hourOfDay(null)); + + // Test daylight savings time + + final Instant dstMid1 = DateTimeUtils.parseInstant("2023-03-12T00:00:00 America/Denver"); + + final Instant dstI11 = DateTimeUtils.plus(dstMid1, DateTimeUtils.HOUR); + final ZonedDateTime dstZdt11 = DateTimeUtils.toZonedDateTime(dstI11, ZoneId.of("America/Denver")); + TestCase.assertEquals(1, DateTimeUtils.hourOfDay(dstI11, ZoneId.of("America/Denver"))); + TestCase.assertEquals(1, DateTimeUtils.hourOfDay(dstZdt11)); + + final Instant dstI12 = DateTimeUtils.plus(dstMid1, 2 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt12 = DateTimeUtils.toZonedDateTime(dstI12, ZoneId.of("America/Denver")); + TestCase.assertEquals(2, DateTimeUtils.hourOfDay(dstI12, ZoneId.of("America/Denver"))); + TestCase.assertEquals(2, DateTimeUtils.hourOfDay(dstZdt12)); + + final Instant dstI13 = DateTimeUtils.plus(dstMid1, 3 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt13 = DateTimeUtils.toZonedDateTime(dstI13, ZoneId.of("America/Denver")); + TestCase.assertEquals(3, DateTimeUtils.hourOfDay(dstI13, ZoneId.of("America/Denver"))); + TestCase.assertEquals(3, DateTimeUtils.hourOfDay(dstZdt13)); + + + final Instant dstMid2 = DateTimeUtils.parseInstant("2023-11-05T00:00:00 America/Denver"); + + final Instant dstI21 = DateTimeUtils.plus(dstMid2, DateTimeUtils.HOUR); + final ZonedDateTime dstZdt21 = DateTimeUtils.toZonedDateTime(dstI21, ZoneId.of("America/Denver")); + TestCase.assertEquals(1, DateTimeUtils.hourOfDay(dstI21, ZoneId.of("America/Denver"))); + TestCase.assertEquals(1, DateTimeUtils.hourOfDay(dstZdt21)); + + final Instant dstI22 = DateTimeUtils.plus(dstMid2, 2 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt22 = DateTimeUtils.toZonedDateTime(dstI22, ZoneId.of("America/Denver")); + TestCase.assertEquals(2, DateTimeUtils.hourOfDay(dstI22, ZoneId.of("America/Denver"))); + TestCase.assertEquals(2, DateTimeUtils.hourOfDay(dstZdt22)); + + final Instant dstI23 = DateTimeUtils.plus(dstMid2, 3 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt23 = DateTimeUtils.toZonedDateTime(dstI23, ZoneId.of("America/Denver")); + TestCase.assertEquals(3, DateTimeUtils.hourOfDay(dstI23, ZoneId.of("America/Denver"))); + TestCase.assertEquals(3, DateTimeUtils.hourOfDay(dstZdt23)); + } + + public void testMinuteOfHour() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(23, DateTimeUtils.minuteOfHour(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.minuteOfHour(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.minuteOfHour(null, TZ_JP)); + + TestCase.assertEquals(23, DateTimeUtils.minuteOfHour(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.minuteOfHour(null)); + } + + public void testMinuteOfDay() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(11 * 60 + 23, DateTimeUtils.minuteOfDay(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.minuteOfDay(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.minuteOfDay(null, TZ_JP)); + + TestCase.assertEquals(11 * 60 + 23, DateTimeUtils.minuteOfDay(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.minuteOfDay(null)); + + // Test daylight savings time + + final Instant dstMid1 = DateTimeUtils.parseInstant("2023-03-12T00:00:00 America/Denver"); + + final Instant dstI11 = DateTimeUtils.plus(dstMid1, DateTimeUtils.HOUR); + final ZonedDateTime dstZdt11 = DateTimeUtils.toZonedDateTime(dstI11, ZoneId.of("America/Denver")); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.MINUTE, + DateTimeUtils.minuteOfDay(dstI11, ZoneId.of("America/Denver"))); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.MINUTE, DateTimeUtils.minuteOfDay(dstZdt11)); + + final Instant dstI12 = DateTimeUtils.plus(dstMid1, 2 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt12 = DateTimeUtils.toZonedDateTime(dstI12, ZoneId.of("America/Denver")); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.MINUTE, + DateTimeUtils.minuteOfDay(dstI12, ZoneId.of("America/Denver"))); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.MINUTE, DateTimeUtils.minuteOfDay(dstZdt12)); + + final Instant dstI13 = DateTimeUtils.plus(dstMid1, 3 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt13 = DateTimeUtils.toZonedDateTime(dstI13, ZoneId.of("America/Denver")); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.MINUTE, + DateTimeUtils.minuteOfDay(dstI13, ZoneId.of("America/Denver"))); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.MINUTE, DateTimeUtils.minuteOfDay(dstZdt13)); + + + final Instant dstMid2 = DateTimeUtils.parseInstant("2023-11-05T00:00:00 America/Denver"); + + final Instant dstI21 = DateTimeUtils.plus(dstMid2, DateTimeUtils.HOUR); + final ZonedDateTime dstZdt21 = DateTimeUtils.toZonedDateTime(dstI21, ZoneId.of("America/Denver")); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.MINUTE, + DateTimeUtils.minuteOfDay(dstI21, ZoneId.of("America/Denver"))); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.MINUTE, DateTimeUtils.minuteOfDay(dstZdt21)); + + final Instant dstI22 = DateTimeUtils.plus(dstMid2, 2 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt22 = DateTimeUtils.toZonedDateTime(dstI22, ZoneId.of("America/Denver")); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.MINUTE, + DateTimeUtils.minuteOfDay(dstI22, ZoneId.of("America/Denver"))); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.MINUTE, DateTimeUtils.minuteOfDay(dstZdt22)); + + final Instant dstI23 = DateTimeUtils.plus(dstMid2, 3 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt23 = DateTimeUtils.toZonedDateTime(dstI23, ZoneId.of("America/Denver")); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.MINUTE, + DateTimeUtils.minuteOfDay(dstI23, ZoneId.of("America/Denver"))); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.MINUTE, DateTimeUtils.minuteOfDay(dstZdt23)); + } + + public void testSecondOfMinute() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(45, DateTimeUtils.secondOfMinute(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.secondOfMinute(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.secondOfMinute(null, TZ_JP)); + + TestCase.assertEquals(45, DateTimeUtils.secondOfMinute(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.secondOfMinute(null)); + } + + public void testSecondOfDay() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(11 * 60 * 60 + 23 * 60 + 45, DateTimeUtils.secondOfDay(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.secondOfDay(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.secondOfDay(null, TZ_JP)); + + TestCase.assertEquals(11 * 60 * 60 + 23 * 60 + 45, DateTimeUtils.secondOfDay(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.secondOfDay(null)); + + // Test daylight savings time + + final Instant dstMid1 = DateTimeUtils.parseInstant("2023-03-12T00:00:00 America/Denver"); + + final Instant dstI11 = DateTimeUtils.plus(dstMid1, DateTimeUtils.HOUR); + final ZonedDateTime dstZdt11 = DateTimeUtils.toZonedDateTime(dstI11, ZoneId.of("America/Denver")); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.SECOND, + DateTimeUtils.secondOfDay(dstI11, ZoneId.of("America/Denver"))); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.SECOND, DateTimeUtils.secondOfDay(dstZdt11)); + + final Instant dstI12 = DateTimeUtils.plus(dstMid1, 2 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt12 = DateTimeUtils.toZonedDateTime(dstI12, ZoneId.of("America/Denver")); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.SECOND, + DateTimeUtils.secondOfDay(dstI12, ZoneId.of("America/Denver"))); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.SECOND, DateTimeUtils.secondOfDay(dstZdt12)); + + final Instant dstI13 = DateTimeUtils.plus(dstMid1, 3 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt13 = DateTimeUtils.toZonedDateTime(dstI13, ZoneId.of("America/Denver")); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.SECOND, + DateTimeUtils.secondOfDay(dstI13, ZoneId.of("America/Denver"))); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.SECOND, DateTimeUtils.secondOfDay(dstZdt13)); + + + final Instant dstMid2 = DateTimeUtils.parseInstant("2023-11-05T00:00:00 America/Denver"); + + final Instant dstI21 = DateTimeUtils.plus(dstMid2, DateTimeUtils.HOUR); + final ZonedDateTime dstZdt21 = DateTimeUtils.toZonedDateTime(dstI21, ZoneId.of("America/Denver")); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.SECOND, + DateTimeUtils.secondOfDay(dstI21, ZoneId.of("America/Denver"))); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.SECOND, DateTimeUtils.secondOfDay(dstZdt21)); + + final Instant dstI22 = DateTimeUtils.plus(dstMid2, 2 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt22 = DateTimeUtils.toZonedDateTime(dstI22, ZoneId.of("America/Denver")); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.SECOND, + DateTimeUtils.secondOfDay(dstI22, ZoneId.of("America/Denver"))); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.SECOND, DateTimeUtils.secondOfDay(dstZdt22)); + + final Instant dstI23 = DateTimeUtils.plus(dstMid2, 3 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt23 = DateTimeUtils.toZonedDateTime(dstI23, ZoneId.of("America/Denver")); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.SECOND, + DateTimeUtils.secondOfDay(dstI23, ZoneId.of("America/Denver"))); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.SECOND, DateTimeUtils.secondOfDay(dstZdt23)); + } + + public void testNanosOfSecond() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(123456789, DateTimeUtils.nanosOfSecond(dt2, TZ_JP)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.nanosOfSecond(dt2, null)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.nanosOfSecond(null, TZ_JP)); + + TestCase.assertEquals(123456789, DateTimeUtils.nanosOfSecond(dt3)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.nanosOfSecond(null)); + } + + public void testNanosOfMilli() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-02-03T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(123456789 % DateTimeUtils.MILLI, DateTimeUtils.nanosOfMilli(dt2)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.nanosOfMilli((Instant) null)); + + TestCase.assertEquals(123456789 % DateTimeUtils.MILLI, DateTimeUtils.nanosOfMilli(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.nanosOfMilli((ZonedDateTime) null)); + } + + public void testNanosOfDay() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(123456789L + 1_000_000_000L * (45 + 23 * 60 + 11 * 60 * 60), + DateTimeUtils.nanosOfDay(dt2, TZ_JP)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.nanosOfDay(dt2, null)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.nanosOfDay(null, TZ_JP)); + + TestCase.assertEquals(123456789L + 1_000_000_000L * (45 + 23 * 60 + 11 * 60 * 60), + DateTimeUtils.nanosOfDay(dt3)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.nanosOfDay(null)); + + // Test daylight savings time + + final Instant dstMid1 = DateTimeUtils.parseInstant("2023-03-12T00:00:00 America/Denver"); + + final Instant dstI11 = DateTimeUtils.plus(dstMid1, DateTimeUtils.HOUR); + final ZonedDateTime dstZdt11 = DateTimeUtils.toZonedDateTime(dstI11, ZoneId.of("America/Denver")); + TestCase.assertEquals(DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstI11, ZoneId.of("America/Denver"))); + TestCase.assertEquals(DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstZdt11)); + + final Instant dstI12 = DateTimeUtils.plus(dstMid1, 2 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt12 = DateTimeUtils.toZonedDateTime(dstI12, ZoneId.of("America/Denver")); + TestCase.assertEquals(2 * DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstI12, ZoneId.of("America/Denver"))); + TestCase.assertEquals(2 * DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstZdt12)); + + final Instant dstI13 = DateTimeUtils.plus(dstMid1, 3 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt13 = DateTimeUtils.toZonedDateTime(dstI13, ZoneId.of("America/Denver")); + TestCase.assertEquals(3 * DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstI13, ZoneId.of("America/Denver"))); + TestCase.assertEquals(3 * DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstZdt13)); + + + final Instant dstMid2 = DateTimeUtils.parseInstant("2023-11-05T00:00:00 America/Denver"); + + final Instant dstI21 = DateTimeUtils.plus(dstMid2, DateTimeUtils.HOUR); + final ZonedDateTime dstZdt21 = DateTimeUtils.toZonedDateTime(dstI21, ZoneId.of("America/Denver")); + TestCase.assertEquals(DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstI21, ZoneId.of("America/Denver"))); + TestCase.assertEquals(DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstZdt21)); + + final Instant dstI22 = DateTimeUtils.plus(dstMid2, 2 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt22 = DateTimeUtils.toZonedDateTime(dstI22, ZoneId.of("America/Denver")); + TestCase.assertEquals(2 * DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstI22, ZoneId.of("America/Denver"))); + TestCase.assertEquals(2 * DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstZdt22)); + + final Instant dstI23 = DateTimeUtils.plus(dstMid2, 3 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt23 = DateTimeUtils.toZonedDateTime(dstI23, ZoneId.of("America/Denver")); + TestCase.assertEquals(3 * DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstI23, ZoneId.of("America/Denver"))); + TestCase.assertEquals(3 * DateTimeUtils.HOUR, DateTimeUtils.nanosOfDay(dstZdt23)); + } + + public void testMillisOfSecond() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(123, DateTimeUtils.millisOfSecond(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.millisOfSecond(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.millisOfSecond(null, TZ_JP)); + + TestCase.assertEquals(123, DateTimeUtils.millisOfSecond(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.millisOfSecond(null)); + } + + public void testMillisOfDay() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(123L + 1_000L * (45 + 23 * 60 + 11 * 60 * 60), DateTimeUtils.millisOfDay(dt2, TZ_JP)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.millisOfDay(dt2, null)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.millisOfDay(null, TZ_JP)); + + TestCase.assertEquals(123L + 1_000L * (45 + 23 * 60 + 11 * 60 * 60), DateTimeUtils.millisOfDay(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.millisOfDay(null)); + + // Test daylight savings time + + final Instant dstMid1 = DateTimeUtils.parseInstant("2023-03-12T00:00:00 America/Denver"); + + final Instant dstI11 = DateTimeUtils.plus(dstMid1, DateTimeUtils.HOUR); + final ZonedDateTime dstZdt11 = DateTimeUtils.toZonedDateTime(dstI11, ZoneId.of("America/Denver")); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.MILLI, + DateTimeUtils.millisOfDay(dstI11, ZoneId.of("America/Denver"))); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.MILLI, DateTimeUtils.millisOfDay(dstZdt11)); + + final Instant dstI12 = DateTimeUtils.plus(dstMid1, 2 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt12 = DateTimeUtils.toZonedDateTime(dstI12, ZoneId.of("America/Denver")); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.MILLI, + DateTimeUtils.millisOfDay(dstI12, ZoneId.of("America/Denver"))); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.MILLI, DateTimeUtils.millisOfDay(dstZdt12)); + + final Instant dstI13 = DateTimeUtils.plus(dstMid1, 3 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt13 = DateTimeUtils.toZonedDateTime(dstI13, ZoneId.of("America/Denver")); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.MILLI, + DateTimeUtils.millisOfDay(dstI13, ZoneId.of("America/Denver"))); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.MILLI, DateTimeUtils.millisOfDay(dstZdt13)); + + + final Instant dstMid2 = DateTimeUtils.parseInstant("2023-11-05T00:00:00 America/Denver"); + + final Instant dstI21 = DateTimeUtils.plus(dstMid2, DateTimeUtils.HOUR); + final ZonedDateTime dstZdt21 = DateTimeUtils.toZonedDateTime(dstI21, ZoneId.of("America/Denver")); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.MILLI, + DateTimeUtils.millisOfDay(dstI21, ZoneId.of("America/Denver"))); + TestCase.assertEquals(DateTimeUtils.HOUR / DateTimeUtils.MILLI, DateTimeUtils.millisOfDay(dstZdt21)); + + final Instant dstI22 = DateTimeUtils.plus(dstMid2, 2 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt22 = DateTimeUtils.toZonedDateTime(dstI22, ZoneId.of("America/Denver")); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.MILLI, + DateTimeUtils.millisOfDay(dstI22, ZoneId.of("America/Denver"))); + TestCase.assertEquals(2 * DateTimeUtils.HOUR / DateTimeUtils.MILLI, DateTimeUtils.millisOfDay(dstZdt22)); + + final Instant dstI23 = DateTimeUtils.plus(dstMid2, 3 * DateTimeUtils.HOUR); + final ZonedDateTime dstZdt23 = DateTimeUtils.toZonedDateTime(dstI23, ZoneId.of("America/Denver")); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.MILLI, + DateTimeUtils.millisOfDay(dstI23, ZoneId.of("America/Denver"))); + TestCase.assertEquals(3 * DateTimeUtils.HOUR / DateTimeUtils.MILLI, DateTimeUtils.millisOfDay(dstZdt23)); + } + + public void testMicrosOfSecond() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(123456, DateTimeUtils.microsOfSecond(dt2, TZ_JP)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.microsOfSecond(dt2, null)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.microsOfSecond(null, TZ_JP)); + + TestCase.assertEquals(123456, DateTimeUtils.microsOfSecond(dt3)); + TestCase.assertEquals(NULL_LONG, DateTimeUtils.microsOfSecond(null)); + } + + public void testMicrosOfMilli() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-01-02T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + TestCase.assertEquals(457, DateTimeUtils.microsOfMilli(dt2)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.microsOfMilli((Instant) null)); + + TestCase.assertEquals(457, DateTimeUtils.microsOfMilli(dt3)); + TestCase.assertEquals(NULL_INT, DateTimeUtils.microsOfMilli((ZonedDateTime) null)); + } + + public void testAtMidnight() { + final Instant dt2 = DateTimeUtils.parseInstant("2023-02-03T11:23:45.123456789 JP"); + final ZonedDateTime dt3 = dt2.atZone(TZ_JP); + + final Instant rst2 = DateTimeUtils.parseInstant("2023-02-03T00:00:00 JP"); + final ZonedDateTime rst3 = rst2.atZone(TZ_JP); + + TestCase.assertEquals(rst2, DateTimeUtils.atMidnight(dt2, TZ_JP)); + TestCase.assertNull(DateTimeUtils.atMidnight(dt2, null)); + TestCase.assertNull(DateTimeUtils.atMidnight(null, TZ_JP)); + + TestCase.assertEquals(rst3, DateTimeUtils.atMidnight(dt3)); + TestCase.assertNull(DateTimeUtils.atMidnight(null)); + } + } diff --git a/engine/time/src/test/java/io/deephaven/time/TestPeriod.java b/engine/time/src/test/java/io/deephaven/time/TestPeriod.java deleted file mode 100644 index 822b49c9759..00000000000 --- a/engine/time/src/test/java/io/deephaven/time/TestPeriod.java +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.time; - -import io.deephaven.base.testing.BaseArrayTestCase; -import junit.framework.TestCase; - -public class TestPeriod extends BaseArrayTestCase { - - public void testAll() throws Exception { - Period period = new Period("1Dt1H"); - - TestCase.assertEquals("1dT1h", period.toString()); - - TestCase.assertEquals(new org.joda.time.Period("P1dT1h"), period.getJodaPeriod()); - - TestCase.assertTrue(period.isPositive()); - - // ------------------------------------------------------------------------------------------------------------------------------------------------------------------ - - period = new Period("t1H"); - - TestCase.assertEquals("T1h", period.toString()); - - TestCase.assertEquals(new org.joda.time.Period("PT1h"), period.getJodaPeriod()); - - TestCase.assertTrue(period.isPositive()); - - // ------------------------------------------------------------------------------------------------------------------------------------------------------------------ - - period = new Period("1D"); - - TestCase.assertEquals("1d", period.toString()); - - TestCase.assertEquals(new org.joda.time.Period("P1d"), period.getJodaPeriod()); - - TestCase.assertTrue(period.isPositive()); - - // ------------------------------------------------------------------------------------------------------------------------------------------------------------------ - - period = new Period("-1Dt1H"); - - TestCase.assertEquals("-1dT1h", period.toString()); - - TestCase.assertEquals(new org.joda.time.Period("P1dT1h"), period.getJodaPeriod()); - - TestCase.assertFalse(period.isPositive()); - - // ------------------------------------------------------------------------------------------------------------------------------------------------------------------ - - period = new Period("-t1H"); - - TestCase.assertEquals("-T1h", period.toString()); - - TestCase.assertEquals(new org.joda.time.Period("PT1h"), period.getJodaPeriod()); - - TestCase.assertFalse(period.isPositive()); - - // ------------------------------------------------------------------------------------------------------------------------------------------------------------------ - - period = new Period("-1D"); - - TestCase.assertEquals("-1d", period.toString()); - - TestCase.assertEquals(new org.joda.time.Period("P1d"), period.getJodaPeriod()); - - TestCase.assertFalse(period.isPositive()); - - } - -} diff --git a/engine/time/src/test/java/io/deephaven/time/TestTimeLiteralReplacedExpression.java b/engine/time/src/test/java/io/deephaven/time/TestTimeLiteralReplacedExpression.java new file mode 100644 index 00000000000..878967d5135 --- /dev/null +++ b/engine/time/src/test/java/io/deephaven/time/TestTimeLiteralReplacedExpression.java @@ -0,0 +1,127 @@ +package io.deephaven.time; + +import io.deephaven.base.testing.BaseArrayTestCase; +import junit.framework.TestCase; + +import java.time.*; +import java.util.HashMap; + +public class TestTimeLiteralReplacedExpression extends BaseArrayTestCase { + + public void testConvertExpressionDateTime() throws Exception { + final TimeLiteralReplacedExpression tlre = + TimeLiteralReplacedExpression.convertExpression("'2010-01-01T12:34:56.891 NY'"); + TestCase.assertEquals("_instant0", tlre.getConvertedFormula()); + + final HashMap> newVars = new HashMap<>(); + newVars.put("_instant0", Instant.class); + TestCase.assertEquals(newVars, tlre.getNewVariables()); + + TestCase.assertEquals( + " private Instant _instant0=DateTimeUtils.parseInstant(\"2010-01-01T12:34:56.891 NY\");\n", + tlre.getInstanceVariablesString()); + } + + public void testConvertExpressionLocalDate() throws Exception { + final TimeLiteralReplacedExpression tlre = TimeLiteralReplacedExpression.convertExpression("'2010-01-01'"); + TestCase.assertEquals("_localDate0", tlre.getConvertedFormula()); + + final HashMap> newVars = new HashMap<>(); + newVars.put("_localDate0", LocalDate.class); + TestCase.assertEquals(newVars, tlre.getNewVariables()); + + TestCase.assertEquals( + " private java.time.LocalDate _localDate0=DateTimeUtils.parseLocalDate(\"2010-01-01\");\n", + tlre.getInstanceVariablesString()); + } + + public void testConvertExpressionTime() throws Exception { + final TimeLiteralReplacedExpression tlre = TimeLiteralReplacedExpression.convertExpression("'PT12:00'"); + TestCase.assertEquals("_nanos0", tlre.getConvertedFormula()); + + final HashMap> newVars = new HashMap<>(); + newVars.put("_nanos0", long.class); + TestCase.assertEquals(newVars, tlre.getNewVariables()); + + TestCase.assertEquals(" private long _nanos0=DateTimeUtils.parseDurationNanos(\"PT12:00\");\n", + tlre.getInstanceVariablesString()); + } + + public void testConvertExpressionPeriod() throws Exception { + final TimeLiteralReplacedExpression tlre = TimeLiteralReplacedExpression.convertExpression("'P1Y'"); + TestCase.assertEquals("_period0", tlre.getConvertedFormula()); + + final HashMap> newVars = new HashMap<>(); + newVars.put("_period0", Period.class); + TestCase.assertEquals(newVars, tlre.getNewVariables()); + + TestCase.assertEquals(" private java.time.Period _period0=DateTimeUtils.parsePeriod(\"P1Y\");\n", + tlre.getInstanceVariablesString()); + } + + public void testConvertExpressionDuration() throws Exception { + final TimeLiteralReplacedExpression tlre = TimeLiteralReplacedExpression.convertExpression("'PT1H'"); + TestCase.assertEquals("_duration0", tlre.getConvertedFormula()); + + final HashMap> newVars = new HashMap<>(); + newVars.put("_duration0", Duration.class); + TestCase.assertEquals(newVars, tlre.getNewVariables()); + + TestCase.assertEquals(" private java.time.Duration _duration0=DateTimeUtils.parseDuration(\"PT1H\");\n", + tlre.getInstanceVariablesString()); + } + + public void testConvertExpressionLocalTime() throws Exception { + final TimeLiteralReplacedExpression tlre = TimeLiteralReplacedExpression.convertExpression("'12:00'"); + TestCase.assertEquals("_localTime0", tlre.getConvertedFormula()); + + final HashMap> newVars = new HashMap<>(); + newVars.put("_localTime0", LocalTime.class); + TestCase.assertEquals(newVars, tlre.getNewVariables()); + + TestCase.assertEquals( + " private java.time.LocalTime _localTime0=DateTimeUtils.parseLocalTime(\"12:00\");\n", + tlre.getInstanceVariablesString()); + } + + public void testConvertExpressionUnknown() throws Exception { + final TimeLiteralReplacedExpression tlre = TimeLiteralReplacedExpression.convertExpression("'g'"); + TestCase.assertEquals("'g'", tlre.getConvertedFormula()); + + final HashMap> newVars = new HashMap<>(); + TestCase.assertEquals(newVars, tlre.getNewVariables()); + + TestCase.assertEquals("", tlre.getInstanceVariablesString()); + } + + public void testConvertExpressionTimeAddition() throws Exception { + final TimeLiteralReplacedExpression tlre = + TimeLiteralReplacedExpression.convertExpression("'PT12:00' + 'PT04:21'"); + TestCase.assertEquals("_nanos0 + _nanos1", tlre.getConvertedFormula()); + + final HashMap> newVars = new HashMap<>(); + newVars.put("_nanos0", long.class); + newVars.put("_nanos1", long.class); + TestCase.assertEquals(newVars, tlre.getNewVariables()); + + TestCase.assertEquals(" private long _nanos0=DateTimeUtils.parseDurationNanos(\"PT12:00\");\n" + + " private long _nanos1=DateTimeUtils.parseDurationNanos(\"PT04:21\");\n", + tlre.getInstanceVariablesString()); + } + + public void testConvertExpressionTimeAddition2() throws Exception { + final TimeLiteralReplacedExpression tlre = + TimeLiteralReplacedExpression.convertExpression("'PT12:00' + 'PT4H'"); + TestCase.assertEquals("_nanos0 + _duration0", tlre.getConvertedFormula()); + + final HashMap> newVars = new HashMap<>(); + newVars.put("_nanos0", long.class); + newVars.put("_duration0", Duration.class); + TestCase.assertEquals(newVars, tlre.getNewVariables()); + + TestCase.assertEquals(" private long _nanos0=DateTimeUtils.parseDurationNanos(\"PT12:00\");\n" + + " private java.time.Duration _duration0=DateTimeUtils.parseDuration(\"PT4H\");\n", + tlre.getInstanceVariablesString()); + } + +} diff --git a/engine/time/src/test/java/io/deephaven/time/TestTimeZoneAliases.java b/engine/time/src/test/java/io/deephaven/time/TestTimeZoneAliases.java new file mode 100644 index 00000000000..806ebc3d81a --- /dev/null +++ b/engine/time/src/test/java/io/deephaven/time/TestTimeZoneAliases.java @@ -0,0 +1,52 @@ +package io.deephaven.time; + +import io.deephaven.base.testing.BaseArrayTestCase; +import junit.framework.TestCase; +import org.jetbrains.annotations.NotNull; + +import java.time.ZoneId; +import java.util.Map; + +public class TestTimeZoneAliases extends BaseArrayTestCase { + + final String[][] values = { + {"NY", "America/New_York"}, + {"MN", "America/Chicago"}, + {"JP", "Asia/Tokyo"}, + {"SG", "Asia/Singapore"}, + {"UTC", "UTC"}, + {"America/Argentina/Buenos_Aires", "America/Argentina/Buenos_Aires"} + }; + + public void testDefaultAliases() { + for (final String[] v : values) { + final ZoneId target = ZoneId.of(v[1]); + final ZoneId id = TimeZoneAliases.zoneId(v[1]); + TestCase.assertEquals(target, id); + TestCase.assertEquals(v[0], TimeZoneAliases.zoneName(id)); + } + } + + public void testAllZones() { + final @NotNull Map all = TimeZoneAliases.getAllZones(); + + for (final String[] v : values) { + final ZoneId target = ZoneId.of(v[1]); + TestCase.assertEquals(target, all.get(v[0])); + TestCase.assertEquals(target, all.get(v[1])); + } + } + + public void testAddRmAlias() { + final String alias = "BA"; + final String tz = "America/Argentina/Buenos_Aires"; + TestCase.assertFalse(TimeZoneAliases.rmAlias(alias)); + TestCase.assertFalse(TimeZoneAliases.getAllZones().containsKey(alias)); + TimeZoneAliases.addAlias(alias, tz); + TestCase.assertTrue(TimeZoneAliases.getAllZones().containsKey(alias)); + TestCase.assertEquals(ZoneId.of(tz), TimeZoneAliases.zoneId(alias)); + TestCase.assertEquals(alias, TimeZoneAliases.zoneName(ZoneId.of(tz))); + TestCase.assertTrue(TimeZoneAliases.rmAlias(alias)); + TestCase.assertFalse(TimeZoneAliases.getAllZones().containsKey(alias)); + } +} diff --git a/engine/time/src/test/java/io/deephaven/time/calendar/StaticCalendarMethodsTest.java b/engine/time/src/test/java/io/deephaven/time/calendar/StaticCalendarMethodsTest.java index 17508ef42c8..578e77ff0e6 100644 --- a/engine/time/src/test/java/io/deephaven/time/calendar/StaticCalendarMethodsTest.java +++ b/engine/time/src/test/java/io/deephaven/time/calendar/StaticCalendarMethodsTest.java @@ -4,9 +4,9 @@ package io.deephaven.time.calendar; import io.deephaven.base.testing.BaseArrayTestCase; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; +import java.time.Instant; import java.time.LocalDate; /** @@ -15,8 +15,8 @@ public class StaticCalendarMethodsTest extends BaseArrayTestCase { private final BusinessCalendar calendar = Calendars.calendar(); - private final DateTime time1 = DateTimeUtils.convertDateTime("2002-01-01T01:00:00.000000000 NY"); - private final DateTime time2 = DateTimeUtils.convertDateTime("2002-01-21T01:00:00.000000000 NY"); + private final Instant time1 = DateTimeUtils.parseInstant("2002-01-01T01:00:00.000000000 NY"); + private final Instant time2 = DateTimeUtils.parseInstant("2002-01-21T01:00:00.000000000 NY"); private final String date1 = "2017-08-01"; private final String date2 = "2017-08-05"; @@ -52,7 +52,7 @@ public void testCalendarMethods() { assertEquals(calendar.dayOfWeek(time2), StaticCalendarMethods.dayOfWeek(time2)); assertEquals(calendar.dayOfWeek(date2), StaticCalendarMethods.dayOfWeek(date2)); - assertEquals(calendar.timeZone(), StaticCalendarMethods.timeZone()); + assertEquals(calendar.timeZone(), StaticCalendarMethods.calendarTimeZone()); } public void testBusinessCalendarMethods() { diff --git a/engine/time/src/test/java/io/deephaven/time/calendar/TestBusinessPeriod.java b/engine/time/src/test/java/io/deephaven/time/calendar/TestBusinessPeriod.java index 3976e98bb92..45330ec89e0 100644 --- a/engine/time/src/test/java/io/deephaven/time/calendar/TestBusinessPeriod.java +++ b/engine/time/src/test/java/io/deephaven/time/calendar/TestBusinessPeriod.java @@ -4,15 +4,16 @@ package io.deephaven.time.calendar; import io.deephaven.base.testing.BaseArrayTestCase; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import junit.framework.TestCase; +import java.time.Instant; + public class TestBusinessPeriod extends BaseArrayTestCase { public void testBusinessPeriod() { - final DateTime open1 = DateTimeUtils.convertDateTime("2017-03-11T10:00:00.000000000 NY"); - final DateTime close1 = DateTimeUtils.convertDateTime("2017-03-11T11:00:00.000000000 NY"); + final Instant open1 = DateTimeUtils.parseInstant("2017-03-11T10:00:00.000000000 NY"); + final Instant close1 = DateTimeUtils.parseInstant("2017-03-11T11:00:00.000000000 NY"); try { new BusinessPeriod(null, close1); @@ -41,10 +42,14 @@ public void testBusinessPeriod() { assertEquals(DateTimeUtils.HOUR, period.getLength()); assertTrue(period.contains(open1)); - assertTrue(period.contains(new DateTime(open1.getNanos() + DateTimeUtils.MINUTE))); - assertFalse(period.contains(new DateTime(open1.getNanos() - DateTimeUtils.MINUTE))); + assertTrue(period + .contains(DateTimeUtils.epochNanosToInstant(DateTimeUtils.epochNanos(open1) + DateTimeUtils.MINUTE))); + assertFalse(period + .contains(DateTimeUtils.epochNanosToInstant(DateTimeUtils.epochNanos(open1) - DateTimeUtils.MINUTE))); assertTrue(period.contains(close1)); - assertTrue(period.contains(new DateTime(close1.getNanos() - DateTimeUtils.MINUTE))); - assertFalse(period.contains(new DateTime(close1.getNanos() + DateTimeUtils.MINUTE))); + assertTrue(period + .contains(DateTimeUtils.epochNanosToInstant(DateTimeUtils.epochNanos(close1) - DateTimeUtils.MINUTE))); + assertFalse(period + .contains(DateTimeUtils.epochNanosToInstant(DateTimeUtils.epochNanos(close1) + DateTimeUtils.MINUTE))); } } diff --git a/engine/time/src/test/java/io/deephaven/time/calendar/TestBusinessSchedule.java b/engine/time/src/test/java/io/deephaven/time/calendar/TestBusinessSchedule.java index d4c12a16f93..1e4a0b71c38 100644 --- a/engine/time/src/test/java/io/deephaven/time/calendar/TestBusinessSchedule.java +++ b/engine/time/src/test/java/io/deephaven/time/calendar/TestBusinessSchedule.java @@ -4,17 +4,18 @@ package io.deephaven.time.calendar; import io.deephaven.base.testing.BaseArrayTestCase; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; +import java.time.Instant; + public class TestBusinessSchedule extends BaseArrayTestCase { public void testBusinessSchedule() { - final DateTime open1 = DateTimeUtils.convertDateTime("2017-03-11T10:00:00.000000000 NY"); - final DateTime close1 = DateTimeUtils.convertDateTime("2017-03-11T11:00:00.000000000 NY"); + final Instant open1 = DateTimeUtils.parseInstant("2017-03-11T10:00:00.000000000 NY"); + final Instant close1 = DateTimeUtils.parseInstant("2017-03-11T11:00:00.000000000 NY"); final BusinessPeriod period1 = new BusinessPeriod(open1, close1); - final DateTime open2 = DateTimeUtils.convertDateTime("2017-03-11T12:00:00.000000000 NY"); - final DateTime close2 = DateTimeUtils.convertDateTime("2017-03-11T17:00:00.000000000 NY"); + final Instant open2 = DateTimeUtils.parseInstant("2017-03-11T12:00:00.000000000 NY"); + final Instant close2 = DateTimeUtils.parseInstant("2017-03-11T17:00:00.000000000 NY"); final BusinessPeriod period2 = new BusinessPeriod(open2, close2); // empty @@ -44,15 +45,15 @@ public void testBusinessSchedule() { assertEquals(DateTimeUtils.HOUR, single.getLOBD()); assertEquals(DateTimeUtils.HOUR, single.getLengthOfBusinessDay()); assertTrue(single.isBusinessDay()); - assertTrue(single.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T10:00:00.000000000 NY"))); - assertTrue(single.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T10:15:00.000000000 NY"))); - assertTrue(single.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T11:00:00.000000000 NY"))); - assertFalse(single.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T11:10:00.000000000 NY"))); - assertEquals(0L, single.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T01:00:00.000000000 NY"))); + assertTrue(single.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T10:00:00.000000000 NY"))); + assertTrue(single.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T10:15:00.000000000 NY"))); + assertTrue(single.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T11:00:00.000000000 NY"))); + assertFalse(single.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T11:10:00.000000000 NY"))); + assertEquals(0L, single.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T01:00:00.000000000 NY"))); assertEquals(DateTimeUtils.MINUTE * 30, - single.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T10:30:00.000000000 NY"))); + single.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T10:30:00.000000000 NY"))); assertEquals(DateTimeUtils.HOUR, - single.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T13:00:00.000000000 NY"))); + single.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T13:00:00.000000000 NY"))); // multi period @@ -65,18 +66,18 @@ public void testBusinessSchedule() { assertEquals(DateTimeUtils.HOUR * 6, multi.getLOBD()); assertEquals(DateTimeUtils.HOUR * 6, multi.getLengthOfBusinessDay()); assertTrue(multi.isBusinessDay()); - assertTrue(multi.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T10:00:00.000000000 NY"))); - assertTrue(multi.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T10:15:00.000000000 NY"))); - assertTrue(multi.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T11:00:00.000000000 NY"))); - assertFalse(multi.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T11:10:00.000000000 NY"))); - assertTrue(multi.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T12:10:00.000000000 NY"))); - assertEquals(0L, multi.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T01:00:00.000000000 NY"))); + assertTrue(multi.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T10:00:00.000000000 NY"))); + assertTrue(multi.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T10:15:00.000000000 NY"))); + assertTrue(multi.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T11:00:00.000000000 NY"))); + assertFalse(multi.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T11:10:00.000000000 NY"))); + assertTrue(multi.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T12:10:00.000000000 NY"))); + assertEquals(0L, multi.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T01:00:00.000000000 NY"))); assertEquals(DateTimeUtils.MINUTE * 30, - multi.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T10:30:00.000000000 NY"))); + multi.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T10:30:00.000000000 NY"))); assertEquals(DateTimeUtils.HOUR * 2, - multi.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T13:00:00.000000000 NY"))); + multi.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T13:00:00.000000000 NY"))); assertEquals(DateTimeUtils.HOUR * 2, - multi.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T13:00:00.000000000 NY"))); + multi.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T13:00:00.000000000 NY"))); final BusinessSchedule multi2 = new BusinessSchedule(period2, period1); assertEquals(new BusinessPeriod[] {period1, period2}, multi2.getBusinessPeriods()); @@ -87,18 +88,18 @@ public void testBusinessSchedule() { assertEquals(DateTimeUtils.HOUR * 6, multi2.getLOBD()); assertEquals(DateTimeUtils.HOUR * 6, multi2.getLengthOfBusinessDay()); assertTrue(multi2.isBusinessDay()); - assertTrue(multi2.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T10:00:00.000000000 NY"))); - assertTrue(multi2.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T10:15:00.000000000 NY"))); - assertTrue(multi2.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T11:00:00.000000000 NY"))); - assertFalse(multi2.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T11:10:00.000000000 NY"))); - assertTrue(multi2.isBusinessTime(DateTimeUtils.convertDateTime("2017-03-11T12:10:00.000000000 NY"))); - assertEquals(0L, multi2.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T01:00:00.000000000 NY"))); + assertTrue(multi2.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T10:00:00.000000000 NY"))); + assertTrue(multi2.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T10:15:00.000000000 NY"))); + assertTrue(multi2.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T11:00:00.000000000 NY"))); + assertFalse(multi2.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T11:10:00.000000000 NY"))); + assertTrue(multi2.isBusinessTime(DateTimeUtils.parseInstant("2017-03-11T12:10:00.000000000 NY"))); + assertEquals(0L, multi2.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T01:00:00.000000000 NY"))); assertEquals(DateTimeUtils.MINUTE * 30, - multi2.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T10:30:00.000000000 NY"))); + multi2.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T10:30:00.000000000 NY"))); assertEquals(DateTimeUtils.HOUR * 2, - multi2.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T13:00:00.000000000 NY"))); + multi2.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T13:00:00.000000000 NY"))); assertEquals(DateTimeUtils.HOUR * 2, - multi2.businessTimeElapsed(DateTimeUtils.convertDateTime("2017-03-11T13:00:00.000000000 NY"))); + multi2.businessTimeElapsed(DateTimeUtils.parseInstant("2017-03-11T13:00:00.000000000 NY"))); } } diff --git a/engine/time/src/test/java/io/deephaven/time/calendar/TestCalendars.java b/engine/time/src/test/java/io/deephaven/time/calendar/TestCalendars.java index 8bb6baedd76..8965ecbf8d0 100644 --- a/engine/time/src/test/java/io/deephaven/time/calendar/TestCalendars.java +++ b/engine/time/src/test/java/io/deephaven/time/calendar/TestCalendars.java @@ -5,9 +5,9 @@ import io.deephaven.base.testing.BaseArrayTestCase; import io.deephaven.configuration.Configuration; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; +import java.time.Instant; import java.util.HashMap; import java.util.Map; @@ -18,10 +18,10 @@ public void testIsBusinessDay() { BusinessCalendar usny = Calendars.calendar("USNY"); // USNYSE - DateTime businessDay = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime halfDay = DateTimeUtils.convertDateTime("2014-07-03T01:00:00.000000000 NY"); - DateTime holiday = DateTimeUtils.convertDateTime("2002-01-01T01:00:00.000000000 NY"); - DateTime holiday2 = DateTimeUtils.convertDateTime("2002-01-21T01:00:00.000000000 NY"); + Instant businessDay = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant halfDay = DateTimeUtils.parseInstant("2014-07-03T01:00:00.000000000 NY"); + Instant holiday = DateTimeUtils.parseInstant("2002-01-01T01:00:00.000000000 NY"); + Instant holiday2 = DateTimeUtils.parseInstant("2002-01-21T01:00:00.000000000 NY"); assertTrue(usnyse.isBusinessDay(businessDay)); assertTrue(usnyse.isBusinessDay(halfDay)); @@ -29,9 +29,9 @@ public void testIsBusinessDay() { assertFalse(usnyse.isBusinessDay(holiday2)); // USNY - businessDay = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - holiday = DateTimeUtils.convertDateTime("2005-11-24T01:00:00.000000000 NY"); - holiday2 = DateTimeUtils.convertDateTime("2002-01-21T01:00:00.000000000 NY"); + businessDay = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + holiday = DateTimeUtils.parseInstant("2005-11-24T01:00:00.000000000 NY"); + holiday2 = DateTimeUtils.parseInstant("2002-01-21T01:00:00.000000000 NY"); assertTrue(usny.isBusinessDay(businessDay)); assertFalse(usny.isBusinessDay(holiday)); @@ -42,10 +42,10 @@ public void testGetDefault() { Configuration.getInstance().setProperty("businessCalendar.default", "USNYSE"); BusinessCalendar calendars = Calendars.calendar(); // USNYSE - DateTime businessDay = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime halfDay = DateTimeUtils.convertDateTime("2014-07-03T01:00:00.000000000 NY"); - DateTime holiday = DateTimeUtils.convertDateTime("2002-01-01T01:00:00.000000000 NY"); - DateTime holiday2 = DateTimeUtils.convertDateTime("2002-01-21T01:00:00.000000000 NY"); + Instant businessDay = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant halfDay = DateTimeUtils.parseInstant("2014-07-03T01:00:00.000000000 NY"); + Instant holiday = DateTimeUtils.parseInstant("2002-01-01T01:00:00.000000000 NY"); + Instant holiday2 = DateTimeUtils.parseInstant("2002-01-21T01:00:00.000000000 NY"); assertTrue(calendars.isBusinessDay(businessDay)); assertTrue(calendars.isBusinessDay(halfDay)); @@ -55,10 +55,10 @@ public void testGetDefault() { public void testGetInstance() { BusinessCalendar usnyse = Calendars.calendar("USNYSE"); - DateTime businessDay = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime halfDay = DateTimeUtils.convertDateTime("2014-07-03T01:00:00.000000000 NY"); - DateTime holiday = DateTimeUtils.convertDateTime("2002-01-01T01:00:00.000000000 NY"); - DateTime holiday2 = DateTimeUtils.convertDateTime("2002-01-21T01:00:00.000000000 NY"); + Instant businessDay = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant halfDay = DateTimeUtils.parseInstant("2014-07-03T01:00:00.000000000 NY"); + Instant holiday = DateTimeUtils.parseInstant("2002-01-01T01:00:00.000000000 NY"); + Instant holiday2 = DateTimeUtils.parseInstant("2002-01-21T01:00:00.000000000 NY"); assertTrue(usnyse.isBusinessDay(businessDay)); assertTrue(usnyse.isBusinessDay(halfDay)); diff --git a/engine/time/src/test/java/io/deephaven/time/calendar/TestDefaultBusinessCalendar.java b/engine/time/src/test/java/io/deephaven/time/calendar/TestDefaultBusinessCalendar.java index 578dbe666f6..dc75bf9d83b 100644 --- a/engine/time/src/test/java/io/deephaven/time/calendar/TestDefaultBusinessCalendar.java +++ b/engine/time/src/test/java/io/deephaven/time/calendar/TestDefaultBusinessCalendar.java @@ -4,20 +4,24 @@ package io.deephaven.time.calendar; import io.deephaven.base.testing.BaseArrayTestCase; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.TimeZone; import io.deephaven.util.QueryConstants; import java.io.File; import java.io.FileWriter; import java.time.DateTimeException; import java.time.DayOfWeek; +import java.time.Instant; +import java.time.ZoneId; import java.util.Arrays; @SuppressWarnings("ConstantConditions") public class TestDefaultBusinessCalendar extends BaseArrayTestCase { + private static final ZoneId TZ_NY = ZoneId.of("America/New_York"); + private static final ZoneId TZ_JP = ZoneId.of("Asia/Tokyo"); + private static final ZoneId TZ_UTC = ZoneId.of("UTC"); + private final BusinessCalendar USNYSE = Calendars.calendar("USNYSE"); private final BusinessCalendar JPOSE = Calendars.calendar("JPOSE"); private final BusinessCalendar UTC = Calendars.calendar("UTC"); @@ -37,7 +41,7 @@ public void setUp() throws Exception { "\n" + "\n" + " TEST\n" + - " TZ_NY\n" + + " NY\n" + " en\n" + " US\n" + " \n" + @@ -75,38 +79,38 @@ public void testNextDay() { assertEquals("2017-09-29", test.nextDay(2)); assertEquals("2017-10-11", test.nextDay(14)); - DateTime day1 = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); + Instant day1 = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); String day2 = "2016-09-02"; assertEquals(USNYSE.nextDay(day1, 2), day2); assertEquals(JPOSE.nextDay(day1, 2), day2); - assertEquals(USNYSE.nextDay(day2, -2), day1.toDateString(TimeZone.TZ_NY)); - assertEquals(JPOSE.nextDay(day2, -2), day1.toDateString(TimeZone.TZ_JP)); + assertEquals(USNYSE.nextDay(day2, -2), DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(JPOSE.nextDay(day2, -2), DateTimeUtils.formatDate(day1, TZ_JP)); - assertEquals(USNYSE.nextDay(day1, 0), day1.toDateString(TimeZone.TZ_NY)); - assertEquals(JPOSE.nextDay(day1, 0), day1.toDateString(TimeZone.TZ_JP)); + assertEquals(USNYSE.nextDay(day1, 0), DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(JPOSE.nextDay(day1, 0), DateTimeUtils.formatDate(day1, TZ_JP)); // leap day - day1 = DateTimeUtils.convertDateTime("2016-02-28T01:00:00.000000000 NY"); + day1 = DateTimeUtils.parseInstant("2016-02-28T01:00:00.000000000 NY"); day2 = "2016-02-29"; assertEquals(USNYSE.nextDay(day1), day2); assertEquals(JPOSE.nextDay(day1), day2); // new year - day1 = DateTimeUtils.convertDateTime("2013-12-31T01:00:00.000000000 NY"); + day1 = DateTimeUtils.parseInstant("2013-12-31T01:00:00.000000000 NY"); day2 = "2014-01-05"; assertEquals(USNYSE.nextDay(day1, 5), day2); assertEquals(JPOSE.nextDay(day1, 5), day2); - assertEquals(USNYSE.nextDay(day2, -5), day1.toDateString(TimeZone.TZ_NY)); - assertEquals(JPOSE.nextDay(day2, -5), day1.toDateString(TimeZone.TZ_JP)); + assertEquals(USNYSE.nextDay(day2, -5), DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(JPOSE.nextDay(day2, -5), DateTimeUtils.formatDate(day1, TZ_JP)); // Daylight savings starts in NY (UTC-7:00) at 2 AM 2017-03-12 - day1 = DateTimeUtils.convertDateTime("2017-03-12T01:00:00.000000000 NY"); + day1 = DateTimeUtils.parseInstant("2017-03-12T01:00:00.000000000 NY"); day2 = "2017-03-13"; assertEquals(USNYSE.nextDay(day1), day2); assertEquals(JPOSE.nextDay(day1), day2); // outside calendar range - day1 = DateTimeUtils.convertDateTime("2069-12-31T01:00:00.000000000 NY"); + day1 = DateTimeUtils.parseInstant("2069-12-31T01:00:00.000000000 NY"); day2 = "2070-01-01"; assertEquals(USNYSE.nextDay(day1), day2); assertEquals(JPOSE.nextDay(day1), day2); @@ -176,35 +180,35 @@ public void testPreviousDay() { assertEquals("2017-09-25", test.previousDay(2)); assertEquals("2017-09-13", test.previousDay(14)); - DateTime day1 = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime day2 = DateTimeUtils.convertDateTime("2016-09-01T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousDay(day2), day1.toDateString(TimeZone.TZ_NY)); - assertEquals(JPOSE.previousDay(day2), day1.toDateString(TimeZone.TZ_JP)); + Instant day1 = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant day2 = DateTimeUtils.parseInstant("2016-09-01T01:00:00.000000000 NY"); + assertEquals(USNYSE.previousDay(day2), DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(JPOSE.previousDay(day2), DateTimeUtils.formatDate(day1, TZ_JP)); - assertEquals(USNYSE.previousDay(day1, 0), day1.toDateString(TimeZone.TZ_NY)); - assertEquals(JPOSE.previousDay(day1, 0), day1.toDateString(TimeZone.TZ_JP)); + assertEquals(USNYSE.previousDay(day1, 0), DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(JPOSE.previousDay(day1, 0), DateTimeUtils.formatDate(day1, TZ_JP)); // leap day - day1 = DateTimeUtils.convertDateTime("2016-02-29T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2016-03-01T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousDay(day2), day1.toDateString(TimeZone.TZ_NY)); - assertEquals(JPOSE.previousDay(day2), day1.toDateString(TimeZone.TZ_JP)); + day1 = DateTimeUtils.parseInstant("2016-02-29T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2016-03-01T01:00:00.000000000 NY"); + assertEquals(USNYSE.previousDay(day2), DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(JPOSE.previousDay(day2), DateTimeUtils.formatDate(day1, TZ_JP)); // new year - day1 = DateTimeUtils.convertDateTime("2013-12-29T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2014-01-01T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousDay(day2, 3), day1.toDateString(TimeZone.TZ_NY)); - assertEquals(JPOSE.previousDay(day2, 3), day1.toDateString(TimeZone.TZ_JP)); - assertEquals(USNYSE.previousDay(day1, -3), day2.toDateString(TimeZone.TZ_NY)); - assertEquals(JPOSE.previousDay(day1, -3), day2.toDateString(TimeZone.TZ_JP)); + day1 = DateTimeUtils.parseInstant("2013-12-29T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2014-01-01T01:00:00.000000000 NY"); + assertEquals(USNYSE.previousDay(day2, 3), DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(JPOSE.previousDay(day2, 3), DateTimeUtils.formatDate(day1, TZ_JP)); + assertEquals(USNYSE.previousDay(day1, -3), DateTimeUtils.formatDate(day2, TZ_NY)); + assertEquals(JPOSE.previousDay(day1, -3), DateTimeUtils.formatDate(day2, TZ_JP)); // Daylight savings starts in NY (UTC-7:00) at 2 AM 2017-03-12 - day1 = DateTimeUtils.convertDateTime("2017-03-11T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2017-03-13T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousDay(day2, 2), day1.toDateString(TimeZone.TZ_NY)); - assertEquals(JPOSE.previousDay(day2, 2), day1.toDateString(TimeZone.TZ_JP)); - assertEquals(USNYSE.previousDay(day1, -2), day2.toDateString(TimeZone.TZ_NY)); - assertEquals(JPOSE.previousDay(day1, -2), day2.toDateString(TimeZone.TZ_JP)); + day1 = DateTimeUtils.parseInstant("2017-03-11T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2017-03-13T01:00:00.000000000 NY"); + assertEquals(USNYSE.previousDay(day2, 2), DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(JPOSE.previousDay(day2, 2), DateTimeUtils.formatDate(day1, TZ_JP)); + assertEquals(USNYSE.previousDay(day1, -2), DateTimeUtils.formatDate(day2, TZ_NY)); + assertEquals(JPOSE.previousDay(day1, -2), DateTimeUtils.formatDate(day2, TZ_JP)); day1 = null; assertNull(USNYSE.previousDay(day1)); @@ -267,8 +271,8 @@ public void testPreviousDayString() { public void testDateRange() { // day light savings - DateTime startDate = DateTimeUtils.convertDateTime("2017-03-11T01:00:00.000000000 NY"); - DateTime endDate = DateTimeUtils.convertDateTime("2017-03-14T01:00:00.000000000 NY"); + Instant startDate = DateTimeUtils.parseInstant("2017-03-11T01:00:00.000000000 NY"); + Instant endDate = DateTimeUtils.parseInstant("2017-03-14T01:00:00.000000000 NY"); String[] goodResults = new String[] { "2017-03-11", @@ -284,8 +288,8 @@ public void testDateRange() { assertTrue(answer); - startDate = DateTimeUtils.convertDateTime("2017-03-11T01:00:00.000000000 JP"); - endDate = DateTimeUtils.convertDateTime("2017-03-14T01:00:00.000000000 JP"); + startDate = DateTimeUtils.parseInstant("2017-03-11T01:00:00.000000000 JP"); + endDate = DateTimeUtils.parseInstant("2017-03-14T01:00:00.000000000 JP"); results = JPOSE.daysInRange(startDate, endDate); Arrays.sort(goodResults); Arrays.sort(results); @@ -338,8 +342,8 @@ public void testDateStringRange() { } public void testNumberOfDays() { - DateTime startDate = DateTimeUtils.convertDateTime("2014-02-18T01:00:00.000000000 NY"); - DateTime endDate = DateTimeUtils.convertDateTime("2014-03-05T01:00:00.000000000 NY"); + Instant startDate = DateTimeUtils.parseInstant("2014-02-18T01:00:00.000000000 NY"); + Instant endDate = DateTimeUtils.parseInstant("2014-03-05T01:00:00.000000000 NY"); assertEquals(USNYSE.numberOfDays(startDate, endDate), 15); assertEquals(USNYSE.numberOfBusinessDays(startDate, endDate), 11); @@ -350,8 +354,8 @@ public void testNumberOfDays() { assertEquals(USNYSE.numberOfNonBusinessDays(startDate, endDate, true), 4); - startDate = DateTimeUtils.convertDateTime("2020-01-01T01:00:00.000000000 NY"); - endDate = DateTimeUtils.convertDateTime("2020-01-20T01:00:00.000000000 NY"); + startDate = DateTimeUtils.parseInstant("2020-01-01T01:00:00.000000000 NY"); + endDate = DateTimeUtils.parseInstant("2020-01-20T01:00:00.000000000 NY"); assertEquals(USNYSE.numberOfDays(startDate, endDate), 19); assertEquals(USNYSE.numberOfBusinessDays(startDate, endDate), 12); @@ -366,7 +370,7 @@ public void testNumberOfDays() { assertEquals(USNYSE.numberOfNonBusinessDays(startDate, endDate), 0); assertEquals(USNYSE.numberOfNonBusinessDays(startDate, endDate, true), 1); - startDate = DateTimeUtils.convertDateTime("2020-01-02T01:00:00.000000000 NY"); + startDate = DateTimeUtils.parseInstant("2020-01-02T01:00:00.000000000 NY"); endDate = startDate; assertEquals(USNYSE.numberOfDays(startDate, endDate), 0); assertEquals(USNYSE.numberOfBusinessDays(startDate, endDate), 0); @@ -381,7 +385,7 @@ public void testNumberOfDays() { assertEquals(USNYSE.numberOfNonBusinessDays(startDate, endDate), QueryConstants.NULL_INT); assertEquals(USNYSE.numberOfNonBusinessDays(startDate, endDate, true), QueryConstants.NULL_INT); - startDate = DateTimeUtils.convertDateTime("2014-02-18T01:00:00.000000000 NY"); + startDate = DateTimeUtils.parseInstant("2014-02-18T01:00:00.000000000 NY"); endDate = null; assertEquals(USNYSE.numberOfDays(startDate, endDate), QueryConstants.NULL_INT); assertEquals(USNYSE.numberOfBusinessDays(startDate, endDate), QueryConstants.NULL_INT); @@ -389,8 +393,8 @@ public void testNumberOfDays() { assertEquals(USNYSE.numberOfNonBusinessDays(startDate, endDate), QueryConstants.NULL_INT); assertEquals(USNYSE.numberOfNonBusinessDays(startDate, endDate, true), QueryConstants.NULL_INT); - startDate = DateTimeUtils.convertDateTime("2014-02-18T01:00:00.000000000 NY"); - endDate = DateTimeUtils.convertDateTime("2017-02-18T01:00:00.000000000 NY"); + startDate = DateTimeUtils.parseInstant("2014-02-18T01:00:00.000000000 NY"); + endDate = DateTimeUtils.parseInstant("2017-02-18T01:00:00.000000000 NY"); assertEquals(USNYSE.numberOfDays(startDate, endDate), 1096); assertEquals(USNYSE.numberOfDays(startDate, endDate, true), 1097); assertEquals(USNYSE.numberOfBusinessDays(startDate, endDate), 758); @@ -476,20 +480,20 @@ public void testNumberOfDaysString() { public void testIsBusinessDay() { assertTrue(test.isBusinessDay()); - DateTime businessDay = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime halfDay = DateTimeUtils.convertDateTime("2014-07-03T01:00:00.000000000 NY"); - DateTime holiday = DateTimeUtils.convertDateTime("2002-01-01T01:00:00.000000000 NY"); - DateTime holiday2 = DateTimeUtils.convertDateTime("2002-01-21T01:00:00.000000000 NY"); + Instant businessDay = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant halfDay = DateTimeUtils.parseInstant("2014-07-03T01:00:00.000000000 NY"); + Instant holiday = DateTimeUtils.parseInstant("2002-01-01T01:00:00.000000000 NY"); + Instant holiday2 = DateTimeUtils.parseInstant("2002-01-21T01:00:00.000000000 NY"); assertTrue(USNYSE.isBusinessDay(businessDay)); assertTrue(USNYSE.isBusinessDay(halfDay)); assertFalse(USNYSE.isBusinessDay(holiday)); assertFalse(USNYSE.isBusinessDay(holiday2)); - businessDay = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 JP"); - halfDay = DateTimeUtils.convertDateTime("2006-01-04T01:00:00.000000000 JP"); - holiday = DateTimeUtils.convertDateTime("2006-01-02T01:00:00.000000000 JP"); - holiday2 = DateTimeUtils.convertDateTime("2007-12-23T01:00:00.000000000 JP"); + businessDay = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 JP"); + halfDay = DateTimeUtils.parseInstant("2006-01-04T01:00:00.000000000 JP"); + holiday = DateTimeUtils.parseInstant("2006-01-02T01:00:00.000000000 JP"); + holiday2 = DateTimeUtils.parseInstant("2007-12-23T01:00:00.000000000 JP"); assertTrue(JPOSE.isBusinessDay(businessDay)); assertTrue(JPOSE.isBusinessDay(halfDay)); @@ -505,20 +509,20 @@ public void testIsBusinessDay() { } public void testIsBusinessTime() { - DateTime businessDayNotTime = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime halfDayTime = DateTimeUtils.convertDateTime("2014-07-03T12:00:00.000000000 NY"); - DateTime holiday = DateTimeUtils.convertDateTime("2002-01-01T01:00:00.000000000 NY"); - DateTime holiday2 = DateTimeUtils.convertDateTime("2002-01-21T01:00:00.000000000 NY"); + Instant businessDayNotTime = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant halfDayTime = DateTimeUtils.parseInstant("2014-07-03T12:00:00.000000000 NY"); + Instant holiday = DateTimeUtils.parseInstant("2002-01-01T01:00:00.000000000 NY"); + Instant holiday2 = DateTimeUtils.parseInstant("2002-01-21T01:00:00.000000000 NY"); assertFalse(USNYSE.isBusinessTime(businessDayNotTime)); assertTrue(USNYSE.isBusinessTime(halfDayTime)); assertFalse(USNYSE.isBusinessTime(holiday)); assertFalse(USNYSE.isBusinessTime(holiday2)); - DateTime businessDayTime = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 JP"); - halfDayTime = DateTimeUtils.convertDateTime("2006-01-04T11:00:00.000000000 JP"); - holiday = DateTimeUtils.convertDateTime("2006-01-02T01:00:00.000000000 JP"); - holiday2 = DateTimeUtils.convertDateTime("2007-12-23T01:00:00.000000000 JP"); + Instant businessDayTime = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 JP"); + halfDayTime = DateTimeUtils.parseInstant("2006-01-04T11:00:00.000000000 JP"); + holiday = DateTimeUtils.parseInstant("2006-01-02T01:00:00.000000000 JP"); + holiday2 = DateTimeUtils.parseInstant("2007-12-23T01:00:00.000000000 JP"); assertFalse(JPOSE.isBusinessTime(businessDayTime)); assertTrue(JPOSE.isBusinessTime(halfDayTime)); @@ -573,36 +577,36 @@ public void testNextBusinessDay() { assertEquals("2017-09-29", test.nextBusinessDay(2)); assertEquals("2017-10-17", test.nextBusinessDay(14)); - DateTime day1 = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime day1JP = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 JP"); + Instant day1 = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant day1JP = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 JP"); String day2 = "2016-09-01"; - assertNull(USNYSE.nextBusinessDay((DateTime) null)); + assertNull(USNYSE.nextBusinessDay((Instant) null)); assertEquals(USNYSE.nextBusinessDay(day1), day2); assertEquals(JPOSE.nextBusinessDay(day1JP), day2); - assertNull(USNYSE.nextBusinessDay((DateTime) null, 2)); + assertNull(USNYSE.nextBusinessDay((Instant) null, 2)); assertEquals(USNYSE.nextBusinessDay(day1, 2), "2016-09-02"); assertEquals(JPOSE.nextBusinessDay(day1JP, 2), "2016-09-02"); - assertEquals(USNYSE.nextBusinessDay(DateTimeUtils.convertDateTime("2016-09-02T01:00:00.000000000 NY"), -2), + assertEquals(USNYSE.nextBusinessDay(DateTimeUtils.parseInstant("2016-09-02T01:00:00.000000000 NY"), -2), "2016-08-31"); - assertEquals(JPOSE.nextBusinessDay(DateTimeUtils.convertDateTime("2016-09-02T01:00:00.000000000 JP"), -2), + assertEquals(JPOSE.nextBusinessDay(DateTimeUtils.parseInstant("2016-09-02T01:00:00.000000000 JP"), -2), "2016-08-31"); - assertEquals(USNYSE.nextBusinessDay(DateTimeUtils.convertDateTime("2016-08-30T01:00:00.000000000 NY"), 0), + assertEquals(USNYSE.nextBusinessDay(DateTimeUtils.parseInstant("2016-08-30T01:00:00.000000000 NY"), 0), "2016-08-30"); - assertNull(USNYSE.nextBusinessDay(DateTimeUtils.convertDateTime("2016-08-28T01:00:00.000000000 NY"), 0)); + assertNull(USNYSE.nextBusinessDay(DateTimeUtils.parseInstant("2016-08-28T01:00:00.000000000 NY"), 0)); // leap day - day1 = DateTimeUtils.convertDateTime("2016-02-28T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2016-02-28T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2016-02-28T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2016-02-28T01:00:00.000000000 JP"); day2 = "2016-02-29"; assertEquals(USNYSE.nextBusinessDay(day1), day2); assertEquals(JPOSE.nextBusinessDay(day1JP), day2); // new year - day1 = DateTimeUtils.convertDateTime("2013-12-31T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2013-12-31T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2013-12-31T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2013-12-31T01:00:00.000000000 JP"); day2 = "2014-01-02"; assertEquals(USNYSE.nextBusinessDay(day1), day2); @@ -611,21 +615,21 @@ public void testNextBusinessDay() { // Daylight savings starts in NY (UTC-7:00) at 2 AM 2017-03-12 // Japan doesn't observe day light savings - day1 = DateTimeUtils.convertDateTime("2017-03-12T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2017-03-12T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2017-03-12T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2017-03-12T01:00:00.000000000 JP"); day2 = "2017-03-13"; assertEquals(USNYSE.nextBusinessDay(day1), day2); assertEquals(JPOSE.nextBusinessDay(day1JP), day2); // outside calendar range, so no day off for new years, but weekend should still be off - day1 = DateTimeUtils.convertDateTime("2069-12-31T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2069-12-31T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2069-12-31T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2069-12-31T01:00:00.000000000 JP"); day2 = "2070-01-01"; assertEquals(USNYSE.nextBusinessDay(day1).compareTo(day2), 0); assertEquals(JPOSE.nextBusinessDay(day1JP), day2); - day1 = DateTimeUtils.convertDateTime("2070-01-03T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2070-01-03T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2070-01-03T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2070-01-03T01:00:00.000000000 JP"); day2 = "2070-01-06"; assertEquals(USNYSE.nextBusinessDay(day1), day2); assertEquals(JPOSE.nextBusinessDay(day1JP), day2); @@ -690,60 +694,67 @@ public void testNextBusinessSchedule() { assertEquals(test.nextBusinessSchedule(curDay), test.nextBusinessSchedule()); assertEquals(test.nextBusinessSchedule(curDay, 2), test.nextBusinessSchedule(2)); - DateTime day1 = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime day1JP = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 JP"); + Instant day1 = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant day1JP = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 JP"); String day2 = "2016-09-01"; - assertEquals(USNYSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_NY), day2); - assertEquals(JPOSE.nextBusinessSchedule(day1JP).getSOBD().toDateString(TimeZone.TZ_JP), day2); - - assertEquals(USNYSE.nextBusinessSchedule(day1, 2).getSOBD().toDateString(TimeZone.TZ_NY), "2016-09-02"); - assertEquals(JPOSE.nextBusinessSchedule(day1JP, 2).getSOBD().toDateString(TimeZone.TZ_JP), "2016-09-02"); - - assertEquals(USNYSE.nextBusinessSchedule(DateTimeUtils.convertDateTime("2016-09-02T01:00:00.000000000 NY"), -2) - .getSOBD().toDateString(TimeZone.TZ_NY), "2016-08-31"); - assertEquals(JPOSE.nextBusinessSchedule(DateTimeUtils.convertDateTime("2016-09-02T01:00:00.000000000 JP"), -2) - .getSOBD().toDateString(TimeZone.TZ_JP), "2016-08-31"); - - assertEquals(USNYSE.nextBusinessSchedule(DateTimeUtils.convertDateTime("2016-08-30T01:00:00.000000000 NY"), 0) - .getSOBD().toDateString(TimeZone.TZ_NY), "2016-08-30"); + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1).getSOBD(), TZ_NY), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1JP).getSOBD(), TZ_JP), day2); + + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1, 2).getSOBD(), TZ_NY), "2016-09-02"); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1JP, 2).getSOBD(), TZ_JP), "2016-09-02"); + + assertEquals(DateTimeUtils.formatDate( + USNYSE.nextBusinessSchedule(DateTimeUtils.parseInstant("2016-09-02T01:00:00.000000000 NY"), -2) + .getSOBD(), + TZ_NY), "2016-08-31"); + assertEquals(DateTimeUtils.formatDate( + JPOSE.nextBusinessSchedule(DateTimeUtils.parseInstant("2016-09-02T01:00:00.000000000 JP"), -2) + .getSOBD(), + TZ_JP), "2016-08-31"); + + assertEquals(DateTimeUtils.formatDate( + USNYSE.nextBusinessSchedule(DateTimeUtils.parseInstant("2016-08-30T01:00:00.000000000 NY"), 0) + .getSOBD(), + TZ_NY), "2016-08-30"); // leap day - day1 = DateTimeUtils.convertDateTime("2016-02-28T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2016-02-28T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2016-02-28T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2016-02-28T01:00:00.000000000 JP"); day2 = "2016-02-29"; - assertEquals(USNYSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_NY), day2); - assertEquals(JPOSE.nextBusinessSchedule(day1JP).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1).getSOBD(), TZ_NY), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1JP).getSOBD(), TZ_JP), day2); // new year - day1 = DateTimeUtils.convertDateTime("2013-12-31T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2013-12-31T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2013-12-31T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2013-12-31T01:00:00.000000000 JP"); day2 = "2014-01-03"; - assertEquals(USNYSE.nextBusinessSchedule(USNYSE.nextBusinessDay(day1)).getSOBD().toDateString(TimeZone.TZ_NY), + assertEquals( + DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(USNYSE.nextBusinessDay(day1)).getSOBD(), TZ_NY), day2); day2 = "2014-01-01"; - assertEquals(JPOSE.nextBusinessSchedule(day1JP).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1JP).getSOBD(), TZ_JP), day2); // Daylight savings starts in NY (UTC-7:00) at 2 AM 2017-03-12 // Japan doesn't observe day light savings - day1 = DateTimeUtils.convertDateTime("2017-03-12T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2017-03-12T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2017-03-12T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2017-03-12T01:00:00.000000000 JP"); day2 = "2017-03-13"; - assertEquals(USNYSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_NY), day2); - assertEquals(JPOSE.nextBusinessSchedule(day1JP).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1).getSOBD(), TZ_NY), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1JP).getSOBD(), TZ_JP), day2); // outside calendar range, so no day off for new years, but weekend should still be off - day1 = DateTimeUtils.convertDateTime("2069-12-31T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2069-12-31T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2069-12-31T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2069-12-31T01:00:00.000000000 JP"); day2 = "2070-01-01"; - assertEquals(USNYSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_NY).compareTo(day2), 0); - assertEquals(JPOSE.nextBusinessSchedule(day1JP).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1).getSOBD(), TZ_NY).compareTo(day2), 0); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1JP).getSOBD(), TZ_JP), day2); - day1 = DateTimeUtils.convertDateTime("2070-01-05T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2070-01-05T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2070-01-05T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2070-01-05T01:00:00.000000000 JP"); day2 = "2070-01-06"; - assertEquals(USNYSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_NY), day2); - assertEquals(JPOSE.nextBusinessSchedule(day1JP).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1).getSOBD(), TZ_NY), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1JP).getSOBD(), TZ_JP), day2); day1 = null; assertNull(USNYSE.nextBusinessSchedule(day1)); @@ -773,41 +784,41 @@ public void testNextBusinessSchedule() { public void testNextBusinessScheduleString() { String day1 = "2016-08-31"; String day2 = "2016-09-01"; - assertEquals(USNYSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_NY), day2); - assertEquals(JPOSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1).getSOBD(), TZ_NY), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1).getSOBD(), TZ_JP), day2); - assertEquals(USNYSE.nextBusinessSchedule(day1, 2).getSOBD().toDateString(TimeZone.TZ_NY), "2016-09-02"); - assertEquals(JPOSE.nextBusinessSchedule(day1, 2).getSOBD().toDateString(TimeZone.TZ_JP), "2016-09-02"); + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1, 2).getSOBD(), TZ_NY), "2016-09-02"); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1, 2).getSOBD(), TZ_JP), "2016-09-02"); - assertEquals(USNYSE.nextBusinessSchedule("2016-09-02", -2).getSOBD().toDateString(TimeZone.TZ_NY), + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule("2016-09-02", -2).getSOBD(), TZ_NY), "2016-08-31"); - assertEquals(JPOSE.nextBusinessSchedule("2016-09-02", -2).getSOBD().toDateString(TimeZone.TZ_JP), + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule("2016-09-02", -2).getSOBD(), TZ_JP), "2016-08-31"); - assertEquals(USNYSE.nextBusinessSchedule("2016-08-30", 0).getSOBD().toDateString(TimeZone.TZ_NY), + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule("2016-08-30", 0).getSOBD(), TZ_NY), "2016-08-30"); assertNull(USNYSE.nextBusinessSchedule((String) null, 0)); // leap day day1 = "2016-02-28"; day2 = "2016-02-29"; - assertEquals(USNYSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_NY), day2); - assertEquals(JPOSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1).getSOBD(), TZ_NY), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1).getSOBD(), TZ_JP), day2); // new year day1 = "2014-01-01"; day2 = "2014-01-02"; - assertEquals(USNYSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_NY), day2); + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1).getSOBD(), TZ_NY), day2); day1 = "2007-01-03"; day2 = "2007-01-04"; - assertEquals(JPOSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1).getSOBD(), TZ_JP), day2); // Daylight savings starts in NY (UTC-7:00) at 2 AM 2017-03-12 day1 = "2017-03-12"; day2 = "2017-03-13"; - assertEquals(USNYSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_NY), day2); - assertEquals(JPOSE.nextBusinessSchedule(day1).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(USNYSE.nextBusinessSchedule(day1).getSOBD(), TZ_NY), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.nextBusinessSchedule(day1).getSOBD(), TZ_JP), day2); day1 = null; assertNull(USNYSE.nextBusinessSchedule(day1)); @@ -819,36 +830,36 @@ public void testNextNonBusinessDay() { assertEquals("2017-10-01", test.nextNonBusinessDay(2)); assertEquals("2017-10-08", test.nextNonBusinessDay(4)); - DateTime day1 = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime day1JP = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 JP"); + Instant day1 = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant day1JP = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 JP"); String day2 = "2016-09-03"; - assertNull(USNYSE.nextNonBusinessDay((DateTime) null)); + assertNull(USNYSE.nextNonBusinessDay((Instant) null)); assertEquals(USNYSE.nextNonBusinessDay(day1), day2); assertEquals(JPOSE.nextNonBusinessDay(day1JP), day2); - assertNull(USNYSE.nextNonBusinessDay((DateTime) null, 2)); + assertNull(USNYSE.nextNonBusinessDay((Instant) null, 2)); assertEquals(USNYSE.nextNonBusinessDay(day1, 2), "2016-09-04"); assertEquals(JPOSE.nextNonBusinessDay(day1JP, 2), "2016-09-04"); - assertEquals(USNYSE.nextNonBusinessDay(DateTimeUtils.convertDateTime("2016-09-04T01:00:00.000000000 NY"), -2), + assertEquals(USNYSE.nextNonBusinessDay(DateTimeUtils.parseInstant("2016-09-04T01:00:00.000000000 NY"), -2), "2016-08-28"); - assertEquals(JPOSE.nextNonBusinessDay(DateTimeUtils.convertDateTime("2016-09-04T01:00:00.000000000 JP"), -2), + assertEquals(JPOSE.nextNonBusinessDay(DateTimeUtils.parseInstant("2016-09-04T01:00:00.000000000 JP"), -2), "2016-08-28"); - assertNull(USNYSE.nextNonBusinessDay(DateTimeUtils.convertDateTime("2016-08-30T01:00:00.000000000 NY"), 0)); - assertEquals(USNYSE.nextNonBusinessDay(DateTimeUtils.convertDateTime("2016-08-28T01:00:00.000000000 NY"), 0), + assertNull(USNYSE.nextNonBusinessDay(DateTimeUtils.parseInstant("2016-08-30T01:00:00.000000000 NY"), 0)); + assertEquals(USNYSE.nextNonBusinessDay(DateTimeUtils.parseInstant("2016-08-28T01:00:00.000000000 NY"), 0), "2016-08-28"); // leap day - day1 = DateTimeUtils.convertDateTime("2016-02-28T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2016-02-28T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2016-02-28T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2016-02-28T01:00:00.000000000 JP"); day2 = "2016-03-05"; assertEquals(USNYSE.nextNonBusinessDay(day1), day2); assertEquals(JPOSE.nextNonBusinessDay(day1JP), day2); // new year - day1 = DateTimeUtils.convertDateTime("2013-12-31T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2013-12-31T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2013-12-31T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2013-12-31T01:00:00.000000000 JP"); day2 = "2014-01-01"; assertEquals(USNYSE.nextNonBusinessDay(day1), day2); @@ -856,15 +867,15 @@ public void testNextNonBusinessDay() { assertEquals(JPOSE.nextNonBusinessDay(day1JP), day2); // Daylight savings starts in NY (UTC-7:00) at 2 AM 2017-03-12 - day1 = DateTimeUtils.convertDateTime("2017-03-12T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2017-03-12T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2017-03-12T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2017-03-12T01:00:00.000000000 JP"); day2 = "2017-03-18"; assertEquals(USNYSE.nextNonBusinessDay(day1), day2); assertEquals(JPOSE.nextNonBusinessDay(day1JP), day2); // outside calendar range, so no day off for new years, but weekend should still be off - day1 = DateTimeUtils.convertDateTime("2069-12-31T01:00:00.000000000 NY"); - day1JP = DateTimeUtils.convertDateTime("2069-12-31T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2069-12-31T01:00:00.000000000 NY"); + day1JP = DateTimeUtils.parseInstant("2069-12-31T01:00:00.000000000 JP"); day2 = "2070-01-04"; assertEquals(USNYSE.nextNonBusinessDay(day1).compareTo(day2), 0); assertEquals(JPOSE.nextNonBusinessDay(day1JP), day2); @@ -931,46 +942,46 @@ public void testLastBusinessDay() { assertEquals("2017-09-16", test.previousNonBusinessDay(4)); - DateTime day1 = DateTimeUtils.convertDateTime("2016-08-30T01:00:00.000000000 NY"); - DateTime day2 = DateTimeUtils.convertDateTime("2016-09-01T01:00:00.000000000 NY"); - assertNull(USNYSE.previousBusinessDay((DateTime) null, 2)); - assertEquals(USNYSE.previousBusinessDay(day2, 2), day1.toDateString(TimeZone.TZ_NY)); - assertEquals(USNYSE.previousBusinessDay(day1, -2), day2.toDateString(TimeZone.TZ_NY)); + Instant day1 = DateTimeUtils.parseInstant("2016-08-30T01:00:00.000000000 NY"); + Instant day2 = DateTimeUtils.parseInstant("2016-09-01T01:00:00.000000000 NY"); + assertNull(USNYSE.previousBusinessDay((Instant) null, 2)); + assertEquals(USNYSE.previousBusinessDay(day2, 2), DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(USNYSE.previousBusinessDay(day1, -2), DateTimeUtils.formatDate(day2, TZ_NY)); - assertEquals(USNYSE.previousBusinessDay(DateTimeUtils.convertDateTime("2016-08-30T15:00:00.000000000 NY"), 0), + assertEquals(USNYSE.previousBusinessDay(DateTimeUtils.parseInstant("2016-08-30T15:00:00.000000000 NY"), 0), "2016-08-30"); - assertNull(USNYSE.previousBusinessDay(DateTimeUtils.convertDateTime("2016-08-28T15:00:00.000000000 NY"), 0)); + assertNull(USNYSE.previousBusinessDay(DateTimeUtils.parseInstant("2016-08-28T15:00:00.000000000 NY"), 0)); - assertNull(USNYSE.previousNonBusinessDay((DateTime) null, 0)); - assertNull(USNYSE.previousNonBusinessDay(DateTimeUtils.convertDateTime("2016-08-30T21:00:00.000000000 NY"), 0)); + assertNull(USNYSE.previousNonBusinessDay((Instant) null, 0)); + assertNull(USNYSE.previousNonBusinessDay(DateTimeUtils.parseInstant("2016-08-30T21:00:00.000000000 NY"), 0)); assertEquals( - USNYSE.previousNonBusinessDay(DateTimeUtils.convertDateTime("2016-08-28T21:00:00.000000000 NY"), 0), + USNYSE.previousNonBusinessDay(DateTimeUtils.parseInstant("2016-08-28T21:00:00.000000000 NY"), 0), "2016-08-28"); // leap day - day1 = DateTimeUtils.convertDateTime("2016-02-29T21:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2016-03-01T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousBusinessDay(day2), day1.toDateString(TimeZone.TZ_NY)); + day1 = DateTimeUtils.parseInstant("2016-02-29T21:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2016-03-01T01:00:00.000000000 NY"); + assertEquals(USNYSE.previousBusinessDay(day2), DateTimeUtils.formatDate(day1, TZ_NY)); // new year - day1 = DateTimeUtils.convertDateTime("2013-12-26T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2014-01-02T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousBusinessDay(day2, 4), day1.toDateString(TimeZone.TZ_NY)); - assertEquals(USNYSE.previousBusinessDay(day1, -4), day2.toDateString(TimeZone.TZ_NY)); + day1 = DateTimeUtils.parseInstant("2013-12-26T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2014-01-02T01:00:00.000000000 NY"); + assertEquals(USNYSE.previousBusinessDay(day2, 4), DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(USNYSE.previousBusinessDay(day1, -4), DateTimeUtils.formatDate(day2, TZ_NY)); // Daylight savings starts in NY (UTC-7:00) at 2 AM 2017-03-12 - day1 = DateTimeUtils.convertDateTime("2017-02-26T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2017-03-13T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousNonBusinessDay(day2, 5), day1.toDateString(TimeZone.TZ_NY)); + day1 = DateTimeUtils.parseInstant("2017-02-26T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2017-03-13T01:00:00.000000000 NY"); + assertEquals(USNYSE.previousNonBusinessDay(day2, 5), DateTimeUtils.formatDate(day1, TZ_NY)); assertEquals(USNYSE.previousNonBusinessDay(day1, -5), "2017-03-18"); - day1 = DateTimeUtils.convertDateTime("2017-03-12T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2017-03-13T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousNonBusinessDay(day2), day1.toDateString(TimeZone.TZ_NY)); + day1 = DateTimeUtils.parseInstant("2017-03-12T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2017-03-13T01:00:00.000000000 NY"); + assertEquals(USNYSE.previousNonBusinessDay(day2), DateTimeUtils.formatDate(day1, TZ_NY)); - day1 = DateTimeUtils.convertDateTime("2017-07-04T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2017-07-07T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousNonBusinessDay(day2), day1.toDateString(TimeZone.TZ_NY)); + day1 = DateTimeUtils.parseInstant("2017-07-04T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2017-07-07T01:00:00.000000000 NY"); + assertEquals(USNYSE.previousNonBusinessDay(day2), DateTimeUtils.formatDate(day1, TZ_NY)); day1 = null; assertNull(USNYSE.previousBusinessDay(day1)); @@ -978,24 +989,24 @@ public void testLastBusinessDay() { - day1 = DateTimeUtils.convertDateTime("2016-08-31T21:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2016-09-01T21:00:00.000000000 JP"); - assertEquals(JPOSE.previousBusinessDay(day2), day1.toDateString(TimeZone.TZ_JP)); + day1 = DateTimeUtils.parseInstant("2016-08-31T21:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2016-09-01T21:00:00.000000000 JP"); + assertEquals(JPOSE.previousBusinessDay(day2), DateTimeUtils.formatDate(day1, TZ_JP)); // leap day - day1 = DateTimeUtils.convertDateTime("2016-02-29T01:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2016-03-01T01:00:00.000000000 JP"); - assertEquals(JPOSE.previousBusinessDay(day2), day1.toDateString(TimeZone.TZ_JP)); + day1 = DateTimeUtils.parseInstant("2016-02-29T01:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2016-03-01T01:00:00.000000000 JP"); + assertEquals(JPOSE.previousBusinessDay(day2), DateTimeUtils.formatDate(day1, TZ_JP)); // new year - day1 = DateTimeUtils.convertDateTime("2013-12-31T11:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2014-01-01T11:00:00.000000000 JP"); - assertEquals(JPOSE.previousBusinessDay(day2), day1.toDateString(TimeZone.TZ_JP)); + day1 = DateTimeUtils.parseInstant("2013-12-31T11:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2014-01-01T11:00:00.000000000 JP"); + assertEquals(JPOSE.previousBusinessDay(day2), DateTimeUtils.formatDate(day1, TZ_JP)); // Daylight savings starts in JP (UTC-7:00) at 2 AM 2017-03-12 - day1 = DateTimeUtils.convertDateTime("2017-03-12T01:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2017-03-13T01:00:00.000000000 JP"); - assertEquals(JPOSE.previousNonBusinessDay(day2), day1.toDateString(TimeZone.TZ_JP)); + day1 = DateTimeUtils.parseInstant("2017-03-12T01:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2017-03-13T01:00:00.000000000 JP"); + assertEquals(JPOSE.previousNonBusinessDay(day2), DateTimeUtils.formatDate(day1, TZ_JP)); day1 = null; @@ -1058,53 +1069,54 @@ public void testLastBusinessSchedule() { assertEquals(test.previousBusinessSchedule(curDay, 2), test.previousBusinessSchedule(2)); - DateTime day1 = DateTimeUtils.convertDateTime("2016-08-30T01:00:00.000000000 NY"); - DateTime day2 = DateTimeUtils.convertDateTime("2016-09-01T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousBusinessSchedule(day2, 2).getSOBD().toDateString(TimeZone.TZ_NY), - day1.toDateString(TimeZone.TZ_NY)); - assertEquals(USNYSE.previousBusinessSchedule(day1, -2).getSOBD().toDateString(TimeZone.TZ_NY), - day2.toDateString(TimeZone.TZ_NY)); + Instant day1 = DateTimeUtils.parseInstant("2016-08-30T01:00:00.000000000 NY"); + Instant day2 = DateTimeUtils.parseInstant("2016-09-01T01:00:00.000000000 NY"); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day2, 2).getSOBD(), TZ_NY), + DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day1, -2).getSOBD(), TZ_NY), + DateTimeUtils.formatDate(day2, TZ_NY)); assertEquals( - USNYSE.previousBusinessSchedule(DateTimeUtils.convertDateTime("2016-08-30T15:00:00.000000000 NY"), 0) - .getSOBD().toDateString(TimeZone.TZ_NY), + DateTimeUtils.formatDate(USNYSE + .previousBusinessSchedule(DateTimeUtils.parseInstant("2016-08-30T15:00:00.000000000 NY"), 0) + .getSOBD(), TZ_NY), "2016-08-30"); - assertNull(USNYSE.previousBusinessSchedule((DateTime) null, 0)); + assertNull(USNYSE.previousBusinessSchedule((Instant) null, 0)); // leap day - day1 = DateTimeUtils.convertDateTime("2016-02-29T21:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2016-03-01T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousBusinessSchedule(day2).getSOBD().toDateString(TimeZone.TZ_NY), - day1.toDateString(TimeZone.TZ_NY)); + day1 = DateTimeUtils.parseInstant("2016-02-29T21:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2016-03-01T01:00:00.000000000 NY"); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day2).getSOBD(), TZ_NY), + DateTimeUtils.formatDate(day1, TZ_NY)); // new year - day1 = DateTimeUtils.convertDateTime("2013-12-26T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2014-01-02T01:00:00.000000000 NY"); - assertEquals(USNYSE.previousBusinessSchedule(day2, 7).getSOBD().toDateString(TimeZone.TZ_NY), - day1.toDateString(TimeZone.TZ_NY)); - assertEquals(USNYSE.previousBusinessSchedule(day1, -7).getSOBD().toDateString(TimeZone.TZ_NY), - day2.toDateString(TimeZone.TZ_NY)); + day1 = DateTimeUtils.parseInstant("2013-12-26T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2014-01-02T01:00:00.000000000 NY"); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day2, 7).getSOBD(), TZ_NY), + DateTimeUtils.formatDate(day1, TZ_NY)); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day1, -7).getSOBD(), TZ_NY), + DateTimeUtils.formatDate(day2, TZ_NY)); day1 = null; assertNull(USNYSE.previousBusinessSchedule(day1)); - day1 = DateTimeUtils.convertDateTime("2016-08-31T21:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2016-09-01T21:00:00.000000000 JP"); - assertEquals(JPOSE.previousBusinessSchedule(day2).getSOBD().toDateString(TimeZone.TZ_JP), - day1.toDateString(TimeZone.TZ_JP)); + day1 = DateTimeUtils.parseInstant("2016-08-31T21:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2016-09-01T21:00:00.000000000 JP"); + assertEquals(DateTimeUtils.formatDate(JPOSE.previousBusinessSchedule(day2).getSOBD(), TZ_JP), + DateTimeUtils.formatDate(day1, TZ_JP)); // leap day - day1 = DateTimeUtils.convertDateTime("2016-02-29T01:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2016-03-01T01:00:00.000000000 JP"); - assertEquals(JPOSE.previousBusinessSchedule(day2).getSOBD().toDateString(TimeZone.TZ_JP), - day1.toDateString(TimeZone.TZ_JP)); + day1 = DateTimeUtils.parseInstant("2016-02-29T01:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2016-03-01T01:00:00.000000000 JP"); + assertEquals(DateTimeUtils.formatDate(JPOSE.previousBusinessSchedule(day2).getSOBD(), TZ_JP), + DateTimeUtils.formatDate(day1, TZ_JP)); // new year - day1 = DateTimeUtils.convertDateTime("2013-12-31T11:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2014-01-01T11:00:00.000000000 JP"); - assertEquals(JPOSE.previousBusinessSchedule(day2).getSOBD().toDateString(TimeZone.TZ_JP), - day1.toDateString(TimeZone.TZ_JP)); + day1 = DateTimeUtils.parseInstant("2013-12-31T11:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2014-01-01T11:00:00.000000000 JP"); + assertEquals(DateTimeUtils.formatDate(JPOSE.previousBusinessSchedule(day2).getSOBD(), TZ_JP), + DateTimeUtils.formatDate(day1, TZ_JP)); day1 = null; @@ -1114,40 +1126,44 @@ public void testLastBusinessSchedule() { public void testLastBusinessScheduleString() { String day1 = "2016-08-31"; String day2 = "2016-09-01"; - assertEquals(USNYSE.previousBusinessSchedule(day2).getSOBD().toDateString(TimeZone.TZ_NY), day1); - assertEquals(JPOSE.previousBusinessSchedule(day2).getSOBD().toDateString(TimeZone.TZ_JP), day1); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day2).getSOBD(), TZ_NY), day1); + assertEquals(DateTimeUtils.formatDate(JPOSE.previousBusinessSchedule(day2).getSOBD(), TZ_JP), day1); - assertEquals(USNYSE.previousBusinessSchedule("2016-08-30", 0).getSOBD().toDateString(TimeZone.TZ_NY), + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule("2016-08-30", 0).getSOBD(), TZ_NY), "2016-08-30"); assertNull(USNYSE.previousBusinessSchedule((String) null, 0)); day1 = "2016-08-29"; - assertEquals(USNYSE.previousBusinessSchedule(day2, 3).getSOBD().toDateString(TimeZone.TZ_NY), day1); - assertEquals(JPOSE.previousBusinessSchedule(day2, 3).getSOBD().toDateString(TimeZone.TZ_JP), day1); - assertEquals(USNYSE.previousBusinessSchedule(day1, -3).getSOBD().toDateString(TimeZone.TZ_NY), day2); - assertEquals(JPOSE.previousBusinessSchedule(day1, -3).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day2, 3).getSOBD(), TZ_NY), day1); + assertEquals(DateTimeUtils.formatDate(JPOSE.previousBusinessSchedule(day2, 3).getSOBD(), TZ_JP), day1); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day1, -3).getSOBD(), TZ_NY), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.previousBusinessSchedule(day1, -3).getSOBD(), TZ_JP), day2); // leap day day1 = "2016-02-29"; day2 = "2016-03-01"; - assertEquals(USNYSE.previousBusinessSchedule(day2).getSOBD().toDateString(TimeZone.TZ_NY), day1); - assertEquals(JPOSE.previousBusinessSchedule(day2).getSOBD().toDateString(TimeZone.TZ_JP), day1); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day2).getSOBD(), TZ_NY), day1); + assertEquals(DateTimeUtils.formatDate(JPOSE.previousBusinessSchedule(day2).getSOBD(), TZ_JP), day1); // new year day1 = "2014-12-29"; day2 = "2014-12-31"; - assertEquals(USNYSE.previousBusinessSchedule(day2, 2).getSOBD().toDateString(TimeZone.TZ_NY), day1); - assertEquals(JPOSE.previousBusinessSchedule(day2, 2).getSOBD().toDateString(TimeZone.TZ_JP), day1); - assertEquals(USNYSE.previousBusinessSchedule(day1, -2).getSOBD().toDateString(TimeZone.TZ_NY), day2); - assertEquals(JPOSE.previousBusinessSchedule(day1, -2).getSOBD().toDateString(TimeZone.TZ_JP), day2); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day2, 2).getSOBD(), TZ_NY), day1); + assertEquals(DateTimeUtils.formatDate(JPOSE.previousBusinessSchedule(day2, 2).getSOBD(), TZ_JP), day1); + assertEquals(DateTimeUtils.formatDate(USNYSE.previousBusinessSchedule(day1, -2).getSOBD(), TZ_NY), day2); + assertEquals(DateTimeUtils.formatDate(JPOSE.previousBusinessSchedule(day1, -2).getSOBD(), TZ_JP), day2); // Daylight savings starts in NY (UTC-7:00) at 2 AM 2017-03-12 day1 = "2017-03-10"; day2 = "2017-03-13"; - assertEquals(USNYSE.previousBusinessSchedule(USNYSE.previousDay(USNYSE.previousDay(day2))).getSOBD() - .toDateString(TimeZone.TZ_NY), day1); - assertEquals(JPOSE.previousBusinessSchedule(JPOSE.previousDay(JPOSE.previousDay(day2))).getSOBD() - .toDateString(TimeZone.TZ_JP), day1); + assertEquals( + DateTimeUtils.formatDate( + USNYSE.previousBusinessSchedule(USNYSE.previousDay(USNYSE.previousDay(day2))).getSOBD(), TZ_NY), + day1); + assertEquals( + DateTimeUtils.formatDate( + JPOSE.previousBusinessSchedule(JPOSE.previousDay(JPOSE.previousDay(day2))).getSOBD(), TZ_JP), + day1); day1 = null; assertNull(USNYSE.previousBusinessSchedule(day1)); @@ -1210,52 +1226,53 @@ public void testLastNonBusinessDayString() { public void testDiff() { // standard business day - DateTime day1 = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime day2 = DateTimeUtils.convertDateTime("2016-09-01T01:00:00.000000000 NY"); + Instant day1 = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant day2 = DateTimeUtils.parseInstant("2016-09-01T01:00:00.000000000 NY"); assertEquals(USNYSE.diffDay(day1, day2), 1.0); assertEquals(USNYSE.diffNanos(day1, day2), DateTimeUtils.DAY); - assertEquals(JPOSE.diffYear(day1, day2), (double) DateTimeUtils.DAY / (double) DateTimeUtils.YEAR); + assertEquals(JPOSE.diffYear365(day1, day2), (double) DateTimeUtils.DAY / (double) DateTimeUtils.YEAR_365); + assertEquals(JPOSE.diffYearAvg(day1, day2), (double) DateTimeUtils.DAY / (double) DateTimeUtils.YEAR_AVG); } public void testBusinessTimeDiff() { // standard business day - DateTime day1 = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime day2 = DateTimeUtils.convertDateTime("2016-09-01T01:00:00.000000000 NY"); + Instant day1 = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant day2 = DateTimeUtils.parseInstant("2016-09-01T01:00:00.000000000 NY"); assertEquals(USNYSE.diffBusinessDay(day1, day2), 1.0); assertEquals(JPOSE.diffBusinessDay(day1, day2), 1.0); // 2.5 standard business days - day1 = DateTimeUtils.convertDateTime("2017-01-23T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2017-01-25T12:45:00.000000000 NY"); + day1 = DateTimeUtils.parseInstant("2017-01-23T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2017-01-25T12:45:00.000000000 NY"); assertEquals(USNYSE.diffBusinessDay(day1, day2), 2.5); - day1 = DateTimeUtils.convertDateTime("2017-01-23T01:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2017-01-25T12:45:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2017-01-23T01:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2017-01-25T12:45:00.000000000 JP"); assertEquals(JPOSE.diffBusinessDay(day1, day2), 2.55); // middle of a business period - day1 = DateTimeUtils.convertDateTime("2017-01-23T10:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2017-01-23T13:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2017-01-23T10:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2017-01-23T13:00:00.000000000 JP"); assertEquals(JPOSE.diffBusinessNanos(day1, day2), 2 * DateTimeUtils.HOUR); // after a business period - day1 = DateTimeUtils.convertDateTime("2017-01-23T10:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2017-01-23T16:15:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2017-01-23T10:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2017-01-23T16:15:00.000000000 JP"); assertEquals(JPOSE.diffBusinessNanos(day1, day2), 4 * DateTimeUtils.HOUR); // middle of the second business period - day1 = DateTimeUtils.convertDateTime("2017-01-23T08:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2017-01-23T14:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2017-01-23T08:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2017-01-23T14:00:00.000000000 JP"); assertEquals(JPOSE.diffBusinessNanos(day1, day2), 4 * DateTimeUtils.HOUR); // weekend non business - day1 = DateTimeUtils.convertDateTime("2017-01-21T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2017-01-23T01:00:00.000000000 NY"); + day1 = DateTimeUtils.parseInstant("2017-01-21T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2017-01-23T01:00:00.000000000 NY"); assertEquals(USNYSE.diffBusinessDay(day1, day2), 0.0); // one business year - day1 = DateTimeUtils.convertDateTime("2016-01-01T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2016-12-31T23:59:00.000000000 NY"); + day1 = DateTimeUtils.parseInstant("2016-01-01T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2016-12-31T23:59:00.000000000 NY"); double yearDiff = USNYSE.diffBusinessYear(day1, day2); assertTrue(yearDiff < 1.004); assertTrue(yearDiff > 0.996); @@ -1264,8 +1281,8 @@ public void testBusinessTimeDiff() { assertTrue(yearDiff > 0.996); // half year - day1 = DateTimeUtils.convertDateTime("2017-01-01T01:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2017-07-02T01:00:00.000000000 NY"); + day1 = DateTimeUtils.parseInstant("2017-01-01T01:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2017-07-02T01:00:00.000000000 NY"); yearDiff = USNYSE.diffBusinessYear(day1, day2); assertTrue(yearDiff < 0.503); assertTrue(yearDiff > 0.497); @@ -1288,35 +1305,35 @@ public void testBusinessTimeDiff() { public void testNonBusinessTimeDiff() { // USNYSE // standard business day - DateTime day1 = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 NY"); - DateTime day2 = DateTimeUtils.convertDateTime("2016-09-01T01:00:00.000000000 NY"); + Instant day1 = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 NY"); + Instant day2 = DateTimeUtils.parseInstant("2016-09-01T01:00:00.000000000 NY"); assertEquals(USNYSE.diffNonBusinessNanos(day1, day2), 63000000000000L); // 17.5 hours assertEquals(USNYSE.diffNonBusinessNanos(day2, day1), -63000000000000L); // 17.5 hours // middle of a business period - day1 = DateTimeUtils.convertDateTime("2017-01-23T10:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2017-01-23T12:30:00.000000000 NY"); + day1 = DateTimeUtils.parseInstant("2017-01-23T10:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2017-01-23T12:30:00.000000000 NY"); assertEquals(USNYSE.diffNonBusinessNanos(day1, day2), 0); // after a business period - day1 = DateTimeUtils.convertDateTime("2017-01-23T10:00:00.000000000 NY"); - day2 = DateTimeUtils.convertDateTime("2017-01-23T16:15:00.000000000 NY"); + day1 = DateTimeUtils.parseInstant("2017-01-23T10:00:00.000000000 NY"); + day2 = DateTimeUtils.parseInstant("2017-01-23T16:15:00.000000000 NY"); assertEquals(USNYSE.diffNonBusinessNanos(day1, day2), 15 * DateTimeUtils.MINUTE); // JPOSE // standard business day - day1 = DateTimeUtils.convertDateTime("2016-08-31T01:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2016-09-01T01:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2016-08-31T01:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2016-09-01T01:00:00.000000000 JP"); assertEquals(JPOSE.diffNonBusinessNanos(day1, day2), 19 * DateTimeUtils.HOUR); // 17.5 hours // middle of a business period - day1 = DateTimeUtils.convertDateTime("2017-01-23T10:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2017-01-23T11:30:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2017-01-23T10:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2017-01-23T11:30:00.000000000 JP"); assertEquals(JPOSE.diffNonBusinessNanos(day1, day2), 0); // after a business period - day1 = DateTimeUtils.convertDateTime("2017-01-23T10:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2017-01-23T16:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2017-01-23T10:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2017-01-23T16:00:00.000000000 JP"); assertEquals(JPOSE.diffNonBusinessNanos(day1, day2), 2 * DateTimeUtils.HOUR); assertEquals(JPOSE.diffNonBusinessDay(day1, day2), ((double) (2 * DateTimeUtils.HOUR)) / (double) JPOSE.standardBusinessDayLengthNanos()); @@ -1335,8 +1352,8 @@ public void testNonBusinessTimeDiff() { public void testBusinessDateRange() { // day light savings - DateTime startDate = DateTimeUtils.convertDateTime("2017-03-11T01:00:00.000000000 NY"); - DateTime endDate = DateTimeUtils.convertDateTime("2017-03-14T01:00:00.000000000 NY"); + Instant startDate = DateTimeUtils.parseInstant("2017-03-11T01:00:00.000000000 NY"); + Instant endDate = DateTimeUtils.parseInstant("2017-03-14T01:00:00.000000000 NY"); String[] goodResults = new String[] { "2017-03-13", @@ -1351,8 +1368,8 @@ public void testBusinessDateRange() { assertEquals(new String[0], USNYSE.businessDaysInRange(endDate, startDate)); - startDate = DateTimeUtils.convertDateTime("2017-11-23T01:00:00.000000000 JP"); - endDate = DateTimeUtils.convertDateTime("2017-11-25T01:00:00.000000000 JP"); + startDate = DateTimeUtils.parseInstant("2017-11-23T01:00:00.000000000 JP"); + endDate = DateTimeUtils.parseInstant("2017-11-25T01:00:00.000000000 JP"); goodResults = new String[] { "2017-11-24" @@ -1368,8 +1385,8 @@ public void testBusinessDateRange() { assertEquals(JPOSE.businessDaysInRange(startDate, endDate).length, 0); // non business - startDate = DateTimeUtils.convertDateTime("2017-03-11T01:00:00.000000000 NY"); - endDate = DateTimeUtils.convertDateTime("2017-03-14T01:00:00.000000000 NY"); + startDate = DateTimeUtils.parseInstant("2017-03-11T01:00:00.000000000 NY"); + endDate = DateTimeUtils.parseInstant("2017-03-14T01:00:00.000000000 NY"); goodResults = new String[] { "2017-03-11", @@ -1383,8 +1400,8 @@ public void testBusinessDateRange() { assertTrue(answer); - startDate = DateTimeUtils.convertDateTime("2017-11-23T01:00:00.000000000 JP"); - endDate = DateTimeUtils.convertDateTime("2017-11-25T01:00:00.000000000 JP"); + startDate = DateTimeUtils.parseInstant("2017-11-23T01:00:00.000000000 JP"); + endDate = DateTimeUtils.parseInstant("2017-11-25T01:00:00.000000000 JP"); goodResults = new String[] { "2017-11-23", @@ -1498,7 +1515,7 @@ public void testDayOfWeek() { assertEquals(USNYSE.dayOfWeek(dateString), DayOfWeek.MONDAY); assertEquals(JPOSE.dayOfWeek(dateString), DayOfWeek.MONDAY); - DateTime dateTime = DateTimeUtils.convertDateTime("2017-09-01T00:00:00.000000000 NY"); + Instant dateTime = DateTimeUtils.parseInstant("2017-09-01T00:00:00.000000000 NY"); assertEquals(USNYSE.dayOfWeek(dateTime), DayOfWeek.FRIDAY); assertEquals(JPOSE.dayOfWeek(dateTime), DayOfWeek.FRIDAY); @@ -1520,7 +1537,7 @@ public void testLastBusinessDayOfWeek() { assertFalse(test.isLastBusinessDayOfWeek()); String dateString = "2017-02-10"; - DateTime dateTime = DateTimeUtils.convertDateTime("2017-02-07T00:00:00.000000000 NY"); + Instant dateTime = DateTimeUtils.parseInstant("2017-02-07T00:00:00.000000000 NY"); assertTrue(USNYSE.isLastBusinessDayOfWeek(dateString)); assertFalse(USNYSE.isLastBusinessDayOfWeek(dateTime)); assertTrue(JPOSE.isLastBusinessDayOfWeek(dateString)); @@ -1534,7 +1551,7 @@ public void testLastBusinessDayOfMonth() { assertFalse(test.isLastBusinessDayOfMonth()); String dateString = "2017-02-28"; - DateTime dateTime = DateTimeUtils.convertDateTime("2017-02-07T00:00:00.000000000 NY"); + Instant dateTime = DateTimeUtils.parseInstant("2017-02-07T00:00:00.000000000 NY"); assertTrue(USNYSE.isLastBusinessDayOfMonth(dateString)); assertFalse(USNYSE.isLastBusinessDayOfMonth(dateTime)); assertTrue(JPOSE.isLastBusinessDayOfMonth(dateString)); @@ -1553,7 +1570,7 @@ public void testFractionOfBusinessDay() { String dateString = "2018-11-23"; // full day - DateTime dateTime = DateTimeUtils.convertDateTime("2017-02-07T00:00:00.000000000 NY"); + Instant dateTime = DateTimeUtils.parseInstant("2017-02-07T00:00:00.000000000 NY"); assertEquals(USNYSE.fractionOfStandardBusinessDay(dateString), 3.5 / 6.5); assertEquals(1.0, USNYSE.fractionOfStandardBusinessDay(dateTime)); @@ -1573,13 +1590,13 @@ public void testFractionOfBusinessDay() { public void testFractionOfBusinessDayLeft() { // half day, market open from 0930 to 1300 - DateTime day1 = DateTimeUtils.convertDateTime("2018-11-23T10:00:00.000000000 NY"); + Instant day1 = DateTimeUtils.parseInstant("2018-11-23T10:00:00.000000000 NY"); // full day - DateTime day2 = DateTimeUtils.convertDateTime("2017-02-07T00:00:00.000000000 NY"); + Instant day2 = DateTimeUtils.parseInstant("2017-02-07T00:00:00.000000000 NY"); // holiday - DateTime day3 = DateTimeUtils.convertDateTime("2017-07-04T00:00:00.000000000 NY"); + Instant day3 = DateTimeUtils.parseInstant("2017-07-04T00:00:00.000000000 NY"); assertEquals(USNYSE.fractionOfBusinessDayRemaining(day1), 3.0 / 3.5); assertEquals(USNYSE.fractionOfBusinessDayComplete(day1), 0.5 / 3.5, 0.0000001); @@ -1588,8 +1605,8 @@ public void testFractionOfBusinessDayLeft() { assertEquals(USNYSE.fractionOfBusinessDayRemaining(day3), 0.0); // half day, market open from 0900 to 1130 - day1 = DateTimeUtils.convertDateTime("2006-01-04T10:00:00.000000000 JP"); - day2 = DateTimeUtils.convertDateTime("2017-02-07T00:00:00.000000000 JP"); + day1 = DateTimeUtils.parseInstant("2006-01-04T10:00:00.000000000 JP"); + day2 = DateTimeUtils.parseInstant("2017-02-07T00:00:00.000000000 JP"); assertEquals(JPOSE.fractionOfBusinessDayRemaining(day1), 1.5 / 2.5); assertEquals(JPOSE.fractionOfBusinessDayComplete(day1), 1.0 / 2.5); assertEquals(JPOSE.fractionOfBusinessDayRemaining(day2), 1.0); @@ -1610,9 +1627,9 @@ public void testMidnightClose() { assertEquals("2019-04-16", UTC.nextBusinessDay("2019-04-15")); assertEquals("2019-04-18", UTC.nextBusinessDay("2019-04-15", 3)); assertEquals("2019-08-19", - UTC.nextBusinessDay(DateTimeUtils.convertDateTime("2019-08-18T00:00:00.000000000 UTC"))); + UTC.nextBusinessDay(DateTimeUtils.parseInstant("2019-08-18T00:00:00.000000000 UTC"))); - assertEquals("2019-05-16", UTC.getBusinessSchedule("2019-05-16").getSOBD().toDateString(TimeZone.TZ_UTC)); - assertEquals("2019-05-17", UTC.getBusinessSchedule("2019-05-16").getEOBD().toDateString(TimeZone.TZ_UTC)); + assertEquals("2019-05-16", DateTimeUtils.formatDate(UTC.getBusinessSchedule("2019-05-16").getSOBD(), TZ_UTC)); + assertEquals("2019-05-17", DateTimeUtils.formatDate(UTC.getBusinessSchedule("2019-05-16").getEOBD(), TZ_UTC)); } } diff --git a/engine/time/src/test/java/io/deephaven/time/calendar/TestDefaultNoHolidayBusinessCalendar.java b/engine/time/src/test/java/io/deephaven/time/calendar/TestDefaultNoHolidayBusinessCalendar.java index a1f90717b8e..46d7b7f2991 100644 --- a/engine/time/src/test/java/io/deephaven/time/calendar/TestDefaultNoHolidayBusinessCalendar.java +++ b/engine/time/src/test/java/io/deephaven/time/calendar/TestDefaultNoHolidayBusinessCalendar.java @@ -5,13 +5,15 @@ import io.deephaven.base.testing.BaseArrayTestCase; import io.deephaven.time.DateTimeUtils; -import io.deephaven.time.TimeZone; import java.io.File; import java.io.FileWriter; +import java.time.ZoneId; public class TestDefaultNoHolidayBusinessCalendar extends BaseArrayTestCase { + private static final ZoneId TZ_NY = ZoneId.of("America/New_York"); + private BusinessCalendar noNonBusinessDays; private BusinessCalendar onlyWeekends; private BusinessCalendar onlyHolidays; @@ -28,7 +30,7 @@ public void setUp() throws Exception { "\n" + "\n" + " noNonBusinessDays\n" + - " TZ_NY\n" + + " NY\n" + " en\n" + " US\n" + " \n" + @@ -48,7 +50,7 @@ public void setUp() throws Exception { "\n" + "\n" + " onlyWeekends\n" + - " TZ_NY\n" + + " NY\n" + " en\n" + " US\n" + " \n" + @@ -70,7 +72,7 @@ public void setUp() throws Exception { "\n" + "\n" + " onlyHolidays\n" + - " TZ_NY\n" + + " NY\n" + " en\n" + " US\n" + " \n" + @@ -93,7 +95,7 @@ public void setUp() throws Exception { "\n" + "\n" + " weekendsAndHolidays\n" + - " TZ_NY\n" + + " NY\n" + " en\n" + " US\n" + " \n" + @@ -159,14 +161,14 @@ public void testNonBusinessDayMethods() { assertEquals(noNonBusinessDays.nonBusinessDaysInRange("2010-01-01", "2019-01-01"), new String[0]); assertEquals( noNonBusinessDays.diffNonBusinessNanos( - DateTimeUtils.convertDateTime("2010-01-01T01:00:00.000000000 NY"), - DateTimeUtils.convertDateTime("2019-01-01T01:00:00.000000000 NY")), + DateTimeUtils.parseInstant("2010-01-01T01:00:00.000000000 NY"), + DateTimeUtils.parseInstant("2019-01-01T01:00:00.000000000 NY")), 0); assertEquals(noNonBusinessDays.numberOfNonBusinessDays("2010-01-01", "2019-01-01"), 0); assertEquals(noNonBusinessDays.name(), "noNonBusinessDays"); - assertEquals(noNonBusinessDays.timeZone(), TimeZone.TZ_NY); + assertEquals(noNonBusinessDays.timeZone(), TZ_NY); assertEquals(noNonBusinessDays.standardBusinessDayLengthNanos(), 6 * DateTimeUtils.HOUR + (30 * DateTimeUtils.MINUTE)); assertEquals(noNonBusinessDays.getBusinessSchedule("2019-06-26").getSOBD(), diff --git a/engine/tuple/build.gradle b/engine/tuple/build.gradle index 707af1b5a4b..1073ff03c1e 100644 --- a/engine/tuple/build.gradle +++ b/engine/tuple/build.gradle @@ -10,8 +10,14 @@ dependencies { api project(':Util') api project(':engine-time') implementation project(':DataStructures') + implementation project(':log-factory') Classpaths.inheritJUnitClassic(project, 'testImplementation') + + testRuntimeOnly project(':log-to-slf4j'), + project(path: ':configs'), + project(path: ':test-configs') + Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') } spotless { diff --git a/engine/tuple/src/main/java/io/deephaven/tuple/serialization/SerializationUtils.java b/engine/tuple/src/main/java/io/deephaven/tuple/serialization/SerializationUtils.java index 8df8f061e50..a41d1bb2a94 100644 --- a/engine/tuple/src/main/java/io/deephaven/tuple/serialization/SerializationUtils.java +++ b/engine/tuple/src/main/java/io/deephaven/tuple/serialization/SerializationUtils.java @@ -3,9 +3,9 @@ */ package io.deephaven.tuple.serialization; -import io.deephaven.time.DateTime; import gnu.trove.map.TIntObjectMap; import gnu.trove.map.hash.TIntObjectHashMap; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.function.ThrowingConsumer; import io.deephaven.util.function.ThrowingSupplier; import org.jetbrains.annotations.NotNull; @@ -15,6 +15,7 @@ import java.io.ObjectInput; import java.io.ObjectOutput; import java.lang.reflect.Constructor; +import java.time.Instant; import java.util.Date; /** @@ -61,8 +62,8 @@ public static Writer getWriter(@NotNull final Class out.writeUTF((String) k); } - if (itemClass == DateTime.class) { - return k -> out.writeLong(((DateTime) k).getNanos()); + if (itemClass == Instant.class) { + return k -> out.writeLong(DateTimeUtils.epochNanos(((Instant) k))); } if (itemClass == Date.class) { return k -> out.writeLong(((Date) k).getTime()); @@ -117,8 +118,8 @@ public static Reader getReader(@NotNull final Class (ITEM_TYPE) in.readUTF(); } - if (itemClass == DateTime.class) { - return () -> (ITEM_TYPE) new DateTime(in.readLong()); + if (itemClass == Instant.class) { + return () -> (ITEM_TYPE) DateTimeUtils.epochNanosToInstant(in.readLong()); } if (itemClass == Date.class) { return () -> (ITEM_TYPE) new Date(in.readLong()); diff --git a/engine/tuple/src/test/java/io/deephaven/tuple/serialization/TestSerializationUtils.java b/engine/tuple/src/test/java/io/deephaven/tuple/serialization/TestSerializationUtils.java index 039ba6a8779..12b6dafb5b4 100644 --- a/engine/tuple/src/test/java/io/deephaven/tuple/serialization/TestSerializationUtils.java +++ b/engine/tuple/src/test/java/io/deephaven/tuple/serialization/TestSerializationUtils.java @@ -3,7 +3,7 @@ */ package io.deephaven.tuple.serialization; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.ArrayTuple; import io.deephaven.tuple.generated.ObjectObjectObjectTuple; import io.deephaven.tuple.generated.ObjectObjectTuple; @@ -97,7 +97,7 @@ private void readObject(@NotNull final ObjectInputStream in) throws IOException public void testAllTypes() throws Exception { // noinspection AutoBoxing final ArrayTuple fullInput = new ArrayTuple((byte) 1, (short) 2, 3, 4L, 5.0F, 6.0D, true, '7', "08", - new DateTime(9), new Date(10), + DateTimeUtils.epochNanosToInstant(9), new Date(10), new ObjectObjectTuple("11-A", "11-B"), new ObjectObjectObjectTuple("12-X", "12-Y", "12-Z"), new EE(13), new SE(14)); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/TupleSourceCreatorImpl.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/TupleSourceCreatorImpl.java index 4c5f13f56e0..4e4b24eeef8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/TupleSourceCreatorImpl.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/TupleSourceCreatorImpl.java @@ -8,12 +8,12 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.TupleSource; import io.deephaven.engine.table.impl.TupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; +import java.time.Instant; import java.util.Arrays; import java.util.Map; import java.util.stream.Collectors; @@ -94,7 +94,7 @@ public TupleSource makeTupleSource(@NotNull final Colum } private static final Map, Class> TYPE_TO_REINTERPRETED = - Map.of(Boolean.class, byte.class, DateTime.class, long.class); + Map.of(Boolean.class, byte.class, Instant.class, long.class); private static Pair columnSourceToTypeNameAndInternalSource( @NotNull final ColumnSource columnSource) { diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanInstantColumnTupleSource.java index f87cdab06d0..bf309c1c091 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanInstantColumnTupleSource.java @@ -10,31 +10,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanBooleanDateTimeColumnTupleSource( + public BooleanBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,7 +47,7 @@ public final ByteByteLongTuple createTuple(final long rowKey) { return new ByteByteLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,7 +56,7 @@ public final ByteByteLongTuple createPreviousTuple(final long rowKey) { return new ByteByteLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,7 +65,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,7 +74,7 @@ public final ByteByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -90,7 +90,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteByteLongTuple return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,15 +129,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteByteLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteByteLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,9 +146,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanBooleanDateTimeColumnTupleSource( + return new BooleanBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanReinterpretedInstantColumnTupleSource.java index 8ea1df71fce..759a762418f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanBooleanReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanBooleanReinterpretedDateTimeColumnTupleSource( + public BooleanBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanBooleanReinterpretedDateTimeColumnTupleSource( + return new BooleanBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteInstantColumnTupleSource.java index 7b00c2da74d..7e80f592c9c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanByteDateTimeColumnTupleSource( + public BooleanByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteByteLongTuple createTuple(final long rowKey) { return new ByteByteLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteByteLongTuple createPreviousTuple(final long rowKey) { return new ByteByteLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteByteLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteByteLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanByteDateTimeColumnTupleSource( + return new BooleanByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteReinterpretedInstantColumnTupleSource.java index 83cdd80d4f2..18f0ba1ca15 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanByteReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanByteReinterpretedDateTimeColumnTupleSource( + public BooleanByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanByteReinterpretedDateTimeColumnTupleSource( + return new BooleanByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterInstantColumnTupleSource.java index 8c9bbc11ef2..0faa7f770ef 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteCharLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanCharacterDateTimeColumnTupleSource( + public BooleanCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteCharLongTuple createTuple(final long rowKey) { return new ByteCharLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteCharLongTuple createPreviousTuple(final long rowKey) { return new ByteCharLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteCharLongTuple createTupleFromValues(@NotNull final Object... va return new ByteCharLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteCharLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteCharLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteCharLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteCharLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteCharLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteCharLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanCharacterDateTimeColumnTupleSource( + return new BooleanCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterReinterpretedInstantColumnTupleSource.java index 696c3c97e21..bb84e2e1db1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanCharacterReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteCharLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanCharacterReinterpretedDateTimeColumnTupleSource( + public BooleanCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteCharLongTuple createTupleFromValues(@NotNull final Object... va return new ByteCharLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteCharLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanCharacterReinterpretedDateTimeColumnTupleSource( + return new BooleanCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleInstantColumnTupleSource.java index 056bfb1f968..358895acd5a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteDoubleLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanDoubleDateTimeColumnTupleSource( + public BooleanDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteDoubleLongTuple createTuple(final long rowKey) { return new ByteDoubleLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteDoubleLongTuple createPreviousTuple(final long rowKey) { return new ByteDoubleLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteDoubleLongTuple createTupleFromValues(@NotNull final Object... return new ByteDoubleLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ByteDoubleLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteDoubleLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteDoubleLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteDoubleLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanDoubleDateTimeColumnTupleSource( + return new BooleanDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleReinterpretedInstantColumnTupleSource.java index 98f8ec2cda4..c2ad1121bdb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDoubleReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteDoubleLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDoubleReinterpretedDateTimeColumnTupleSource( + public BooleanDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteDoubleLongTuple createTupleFromValues(@NotNull final Object... return new ByteDoubleLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDoubleReinterpretedDateTimeColumnTupleSource( + return new BooleanDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatInstantColumnTupleSource.java index 50fbae8a2da..d642fd43725 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteFloatLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanFloatDateTimeColumnTupleSource( + public BooleanFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteFloatLongTuple createTuple(final long rowKey) { return new ByteFloatLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteFloatLongTuple createPreviousTuple(final long rowKey) { return new ByteFloatLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteFloatLongTuple createTupleFromValues(@NotNull final Object... v return new ByteFloatLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ByteFloatLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteFloatLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteFloatLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteFloatLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteFloatLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanFloatDateTimeColumnTupleSource( + return new BooleanFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatReinterpretedInstantColumnTupleSource.java index a2b96a8e44d..8796e249d43 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanFloatReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteFloatLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanFloatReinterpretedDateTimeColumnTupleSource( + public BooleanFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteFloatLongTuple createTupleFromValues(@NotNull final Object... v return new ByteFloatLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteFloatLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanFloatReinterpretedDateTimeColumnTupleSource( + return new BooleanFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantBooleanColumnTupleSource.java index 59d9300c315..7e521363a38 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantBooleanColumnTupleSource.java @@ -10,30 +10,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeBooleanColumnTupleSource( + public BooleanInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,7 +46,7 @@ public BooleanDateTimeBooleanColumnTupleSource( public final ByteLongByteTuple createTuple(final long rowKey) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -55,7 +55,7 @@ public final ByteLongByteTuple createTuple(final long rowKey) { public final ByteLongByteTuple createPreviousTuple(final long rowKey) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -64,7 +64,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -73,7 +73,7 @@ public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... va public final ByteLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -86,7 +86,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -102,7 +102,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -116,7 +116,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -128,16 +128,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongByteTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongByteTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -145,10 +145,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeBooleanColumnTupleSource( + return new BooleanInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantByteColumnTupleSource.java index 460ab2f32aa..b02cc42f9dc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantByteColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeByteColumnTupleSource( + public BooleanInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public BooleanDateTimeByteColumnTupleSource( public final ByteLongByteTuple createTuple(final long rowKey) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongByteTuple createTuple(final long rowKey) { public final ByteLongByteTuple createPreviousTuple(final long rowKey) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... va public final ByteLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongByteTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongByteTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeByteColumnTupleSource( + return new BooleanInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantCharacterColumnTupleSource.java index d794e51088d..bae48746506 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantCharacterColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongCharTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeCharacterColumnTupleSource( + public BooleanInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public BooleanDateTimeCharacterColumnTupleSource( public final ByteLongCharTuple createTuple(final long rowKey) { return new ByteLongCharTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongCharTuple createTuple(final long rowKey) { public final ByteLongCharTuple createPreviousTuple(final long rowKey) { return new ByteLongCharTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongCharTuple createPreviousTuple(final long rowKey) { public final ByteLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongCharTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongCharTuple createTupleFromValues(@NotNull final Object... va public final ByteLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongCharTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongCharTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongCharTuple return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongCharTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongCharTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongCharTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeCharacterColumnTupleSource( + return new BooleanInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantColumnTupleSource.java index 92ee205a5c7..880aa5f8ad7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantColumnTupleSource.java @@ -10,29 +10,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public BooleanDateTimeColumnTupleSource( + public BooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -43,7 +43,7 @@ public BooleanDateTimeColumnTupleSource( public final ByteLongTuple createTuple(final long rowKey) { return new ByteLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -51,7 +51,7 @@ public final ByteLongTuple createTuple(final long rowKey) { public final ByteLongTuple createPreviousTuple(final long rowKey) { return new ByteLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @@ -59,7 +59,7 @@ public final ByteLongTuple createPreviousTuple(final long rowKey) { public final ByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -67,7 +67,7 @@ public final ByteLongTuple createTupleFromValues(@NotNull final Object... values public final ByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -79,7 +79,7 @@ public final void exportElement(@NotNull final ByteLongTuple tupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -91,7 +91,7 @@ public final Object exportElement(@NotNull final ByteLongTuple tuple, int elemen return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -102,7 +102,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongTuple tupl return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -110,15 +110,15 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link BooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link BooleanInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -126,9 +126,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new BooleanDateTimeColumnTupleSource( + return new BooleanInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantDoubleColumnTupleSource.java index dfab46d646d..ceb916dee7f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantDoubleColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongDoubleTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeDoubleColumnTupleSource( + public BooleanInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public BooleanDateTimeDoubleColumnTupleSource( public final ByteLongDoubleTuple createTuple(final long rowKey) { return new ByteLongDoubleTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongDoubleTuple createTuple(final long rowKey) { public final ByteLongDoubleTuple createPreviousTuple(final long rowKey) { return new ByteLongDoubleTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongDoubleTuple createPreviousTuple(final long rowKey) { public final ByteLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongDoubleTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongDoubleTuple createTupleFromValues(@NotNull final Object... public final ByteLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongDoubleTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongDoubleTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongDoubleTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongDoubleTupl return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongDoubleTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongDoubleTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongDoubleTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeDoubleColumnTupleSource( + return new BooleanInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantFloatColumnTupleSource.java index 653d03701fb..525a1f3c164 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantFloatColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongFloatTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeFloatColumnTupleSource( + public BooleanInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public BooleanDateTimeFloatColumnTupleSource( public final ByteLongFloatTuple createTuple(final long rowKey) { return new ByteLongFloatTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongFloatTuple createTuple(final long rowKey) { public final ByteLongFloatTuple createPreviousTuple(final long rowKey) { return new ByteLongFloatTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongFloatTuple createPreviousTuple(final long rowKey) { public final ByteLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongFloatTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongFloatTuple createTupleFromValues(@NotNull final Object... v public final ByteLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongFloatTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongFloatTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongFloatTuple return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongFloatTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongFloatTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongFloatTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeFloatColumnTupleSource( + return new BooleanInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantInstantColumnTupleSource.java index 94df9e08763..bed88848609 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantInstantColumnTupleSource.java @@ -10,31 +10,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public BooleanDateTimeDateTimeColumnTupleSource( + public BooleanInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -46,8 +46,8 @@ public BooleanDateTimeDateTimeColumnTupleSource( public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -55,8 +55,8 @@ public final ByteLongLongTuple createTuple(final long rowKey) { public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -64,8 +64,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -73,8 +73,8 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -86,11 +86,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -102,10 +102,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -116,10 +116,10 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -128,16 +128,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -145,10 +145,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeDateTimeColumnTupleSource( + return new BooleanInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantIntegerColumnTupleSource.java index ffb72e67a5c..55125dd1397 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantIntegerColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongIntTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeIntegerColumnTupleSource( + public BooleanInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public BooleanDateTimeIntegerColumnTupleSource( public final ByteLongIntTuple createTuple(final long rowKey) { return new ByteLongIntTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongIntTuple createTuple(final long rowKey) { public final ByteLongIntTuple createPreviousTuple(final long rowKey) { return new ByteLongIntTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongIntTuple createPreviousTuple(final long rowKey) { public final ByteLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongIntTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongIntTuple createTupleFromValues(@NotNull final Object... val public final ByteLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongIntTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongIntTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongIntTuple tuple, int ele return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongIntTuple t return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongIntTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongIntTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongIntTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeIntegerColumnTupleSource( + return new BooleanInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantLongColumnTupleSource.java index e8c4bca86a5..da18f148774 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantLongColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeLongColumnTupleSource( + public BooleanInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public BooleanDateTimeLongColumnTupleSource( public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeLongColumnTupleSource( + return new BooleanInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantObjectColumnTupleSource.java index 08b11418f8a..70a31e4e14f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantObjectColumnTupleSource.java @@ -10,30 +10,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongObjectTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeObjectColumnTupleSource( + public BooleanInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,7 +46,7 @@ public BooleanDateTimeObjectColumnTupleSource( public final ByteLongObjectTuple createTuple(final long rowKey) { return new ByteLongObjectTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -55,7 +55,7 @@ public final ByteLongObjectTuple createTuple(final long rowKey) { public final ByteLongObjectTuple createPreviousTuple(final long rowKey) { return new ByteLongObjectTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -64,7 +64,7 @@ public final ByteLongObjectTuple createPreviousTuple(final long rowKey) { public final ByteLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongObjectTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -73,7 +73,7 @@ public final ByteLongObjectTuple createTupleFromValues(@NotNull final Object... public final ByteLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongObjectTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -86,7 +86,7 @@ public final void exportElement(@NotNull final ByteLongObjectTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -102,7 +102,7 @@ public final Object exportElement(@NotNull final ByteLongObjectTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -116,7 +116,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongObjectTupl return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -128,16 +128,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongObjectTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongObjectTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongObjectTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -145,10 +145,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeObjectColumnTupleSource( + return new BooleanInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantReinterpretedBooleanColumnTupleSource.java index d33f72c29ce..b83ec71b043 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantReinterpretedBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeReinterpretedBooleanColumnTupleSource( + public BooleanInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public BooleanDateTimeReinterpretedBooleanColumnTupleSource( public final ByteLongByteTuple createTuple(final long rowKey) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongByteTuple createTuple(final long rowKey) { public final ByteLongByteTuple createPreviousTuple(final long rowKey) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... va public final ByteLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongByteTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongByteTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeReinterpretedBooleanColumnTupleSource( + return new BooleanInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantReinterpretedInstantColumnTupleSource.java index 05ea63bab16..3baa38c5cec 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantReinterpretedInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeReinterpretedDateTimeColumnTupleSource( + public BooleanInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public BooleanDateTimeReinterpretedDateTimeColumnTupleSource( public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,8 +66,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeReinterpretedDateTimeColumnTupleSource( + return new BooleanInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantShortColumnTupleSource.java index 0587d79bea8..bcea62153c3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanInstantShortColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongShortTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class BooleanInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanDateTimeShortColumnTupleSource( + public BooleanInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public BooleanDateTimeShortColumnTupleSource( public final ByteLongShortTuple createTuple(final long rowKey) { return new ByteLongShortTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongShortTuple createTuple(final long rowKey) { public final ByteLongShortTuple createPreviousTuple(final long rowKey) { return new ByteLongShortTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongShortTuple createPreviousTuple(final long rowKey) { public final ByteLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongShortTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongShortTuple createTupleFromValues(@NotNull final Object... v public final ByteLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongShortTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongShortTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongShortTuple return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongShortTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongShortTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongShortTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanDateTimeShortColumnTupleSource( + return new BooleanInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerInstantColumnTupleSource.java index fa993d39031..88e5c5e1071 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteIntLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanIntegerDateTimeColumnTupleSource( + public BooleanIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteIntLongTuple createTuple(final long rowKey) { return new ByteIntLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteIntLongTuple createPreviousTuple(final long rowKey) { return new ByteIntLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteIntLongTuple createTupleFromValues(@NotNull final Object... val return new ByteIntLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteIntLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteIntLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteIntLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteIntLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteIntLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteIntLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanIntegerDateTimeColumnTupleSource( + return new BooleanIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerReinterpretedInstantColumnTupleSource.java index de861fffc37..e1e9a367706 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanIntegerReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteIntLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanIntegerReinterpretedDateTimeColumnTupleSource( + public BooleanIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteIntLongTuple createTupleFromValues(@NotNull final Object... val return new ByteIntLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteIntLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanIntegerReinterpretedDateTimeColumnTupleSource( + return new BooleanIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongInstantColumnTupleSource.java index 92496ca7ae2..667ec0c64ba 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanLongDateTimeColumnTupleSource( + public BooleanLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanLongDateTimeColumnTupleSource( + return new BooleanLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongReinterpretedInstantColumnTupleSource.java index 779be240c3f..89dff98296a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanLongReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanLongReinterpretedDateTimeColumnTupleSource( + public BooleanLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanLongReinterpretedDateTimeColumnTupleSource( + return new BooleanLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectInstantColumnTupleSource.java index a43709b3543..d84a8434fd8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectInstantColumnTupleSource.java @@ -10,31 +10,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteObjectLongTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanObjectDateTimeColumnTupleSource( + public BooleanObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,7 +47,7 @@ public final ByteObjectLongTuple createTuple(final long rowKey) { return new ByteObjectLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,7 +56,7 @@ public final ByteObjectLongTuple createPreviousTuple(final long rowKey) { return new ByteObjectLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,7 +65,7 @@ public final ByteObjectLongTuple createTupleFromValues(@NotNull final Object... return new ByteObjectLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,7 +74,7 @@ public final ByteObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ByteObjectLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -90,7 +90,7 @@ public final void exportElement(@NotNull final ByteObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteObjectLongTupl return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,15 +129,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteObjectLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteObjectLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,9 +146,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanObjectDateTimeColumnTupleSource( + return new BooleanObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectReinterpretedInstantColumnTupleSource.java index b0fcb3cde9c..fb456044d5f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanObjectReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteObjectLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanObjectReinterpretedDateTimeColumnTupleSource( + public BooleanObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteObjectLongTuple createTupleFromValues(@NotNull final Object... return new ByteObjectLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanObjectReinterpretedDateTimeColumnTupleSource( + return new BooleanObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanInstantColumnTupleSource.java index c22a50a0562..fbe92a791eb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanReinterpretedBooleanDateTimeColumnTupleSource( + public BooleanReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteByteLongTuple createTuple(final long rowKey) { return new ByteByteLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteByteLongTuple createPreviousTuple(final long rowKey) { return new ByteByteLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteByteLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteByteLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedBooleanDateTimeColumnTupleSource( + return new BooleanReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index d134b61c25d..9b8250008fa 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public BooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new BooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantBooleanColumnTupleSource.java index 3176bb06ac7..943bbee2b43 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeBooleanColumnTupleSource( + public BooleanReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeBooleanColumnTupleSource( + return new BooleanReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantByteColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantByteColumnTupleSource.java index 86fca032341..10293cc2202 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantByteColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeByteColumnTupleSource( + public BooleanReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeByteColumnTupleSource( + return new BooleanReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantCharacterColumnTupleSource.java index 80da6f42571..2ded35ebbf5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongCharTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeCharacterColumnTupleSource( + public BooleanReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongCharTuple createPreviousTuple(final long rowKey) { public final ByteLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongCharTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongCharTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeCharacterColumnTupleSource( + return new BooleanReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantColumnTupleSource.java index cb9476b34c9..2ca736445f5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public BooleanReinterpretedDateTimeColumnTupleSource( + public BooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -61,7 +61,7 @@ public final ByteLongTuple createPreviousTuple(final long rowKey) { public final ByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -81,7 +81,7 @@ public final void exportElement(@NotNull final ByteLongTuple tupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -93,7 +93,7 @@ public final Object exportElement(@NotNull final ByteLongTuple tuple, int elemen return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -119,7 +119,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -130,7 +130,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new BooleanReinterpretedDateTimeColumnTupleSource( + return new BooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantDoubleColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantDoubleColumnTupleSource.java index d97ef7cdd79..29e51fb2bf0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongDoubleTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeDoubleColumnTupleSource( + public BooleanReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongDoubleTuple createPreviousTuple(final long rowKey) { public final ByteLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongDoubleTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongDoubleTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongDoubleTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeDoubleColumnTupleSource( + return new BooleanReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantFloatColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantFloatColumnTupleSource.java index 9817a432f6a..81977cc3f85 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongFloatTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeFloatColumnTupleSource( + public BooleanReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongFloatTuple createPreviousTuple(final long rowKey) { public final ByteLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongFloatTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongFloatTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeFloatColumnTupleSource( + return new BooleanReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantInstantColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantInstantColumnTupleSource.java index 372c6e9cc5b..34f7a8b9394 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeDateTimeColumnTupleSource( + public BooleanReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,8 +66,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeDateTimeColumnTupleSource( + return new BooleanReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantIntegerColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantIntegerColumnTupleSource.java index 6796d674336..935a7a052bf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongIntTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeIntegerColumnTupleSource( + public BooleanReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongIntTuple createPreviousTuple(final long rowKey) { public final ByteLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongIntTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongIntTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongIntTuple tuple, int ele return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeIntegerColumnTupleSource( + return new BooleanReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantLongColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantLongColumnTupleSource.java index c7af1eb6e96..adc500a78a0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantLongColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeLongColumnTupleSource( + public BooleanReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeLongColumnTupleSource( + return new BooleanReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantObjectColumnTupleSource.java index 8fb4f77a10a..fec2a43b184 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantObjectColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongObjectTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeObjectColumnTupleSource( + public BooleanReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongObjectTuple createPreviousTuple(final long rowKey) { public final ByteLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongObjectTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongObjectTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongObjectTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeObjectColumnTupleSource( + return new BooleanReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index fca0cc0c96f..0833eb4de7c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public BooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new BooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantReinterpretedInstantColumnTupleSource.java index ae747225434..89e69769167 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public BooleanReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,8 +66,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new BooleanReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantShortColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantShortColumnTupleSource.java index d34c0bd1d6b..0fb50c33940 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanReinterpretedInstantShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongShortTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class BooleanReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanReinterpretedDateTimeShortColumnTupleSource( + public BooleanReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongShortTuple createPreviousTuple(final long rowKey) { public final ByteLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongShortTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongShortTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanReinterpretedDateTimeShortColumnTupleSource( + return new BooleanReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortInstantColumnTupleSource.java index 5eadc9bbfd5..e637b01596f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteShortLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public BooleanShortDateTimeColumnTupleSource( + public BooleanShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteShortLongTuple createTuple(final long rowKey) { return new ByteShortLongTuple( BooleanUtils.booleanAsByte(columnSource1.getBoolean(rowKey)), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteShortLongTuple createPreviousTuple(final long rowKey) { return new ByteShortLongTuple( BooleanUtils.booleanAsByte(columnSource1.getPrevBoolean(rowKey)), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteShortLongTuple createTupleFromValues(@NotNull final Object... v return new ByteShortLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteShortLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ByteShortLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteShortLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteShortLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteShortLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteShortLongTuple(BooleanUtils.booleanAsByte(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new BooleanShortDateTimeColumnTupleSource( + return new BooleanShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortReinterpretedInstantColumnTupleSource.java index 031becb57d2..2d138b8fbc5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/BooleanShortReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteShortLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Boolean, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class BooleanShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class BooleanShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link BooleanShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public BooleanShortReinterpretedDateTimeColumnTupleSource( + public BooleanShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteShortLongTuple createTupleFromValues(@NotNull final Object... v return new ByteShortLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteShortLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link BooleanShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new BooleanShortReinterpretedDateTimeColumnTupleSource( + return new BooleanShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanInstantColumnTupleSource.java index b73e09cedd7..62331f00b5e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteBooleanDateTimeColumnTupleSource( + public ByteBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteByteLongTuple createTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getByte(rowKey), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteByteLongTuple createPreviousTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getPrevByte(rowKey), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteByteLongTuple return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteBooleanDateTimeColumnTupleSource( + return new ByteBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanReinterpretedInstantColumnTupleSource.java index be10ea762fb..76639469ebd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteBooleanReinterpretedDateTimeColumnTupleSource( + public ByteBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteBooleanReinterpretedDateTimeColumnTupleSource( + return new ByteBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteInstantColumnTupleSource.java index 8b22cb76e10..683830c7b64 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteByteDateTimeColumnTupleSource( + public ByteByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ByteByteLongTuple createTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getByte(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ByteByteLongTuple createPreviousTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteByteDateTimeColumnTupleSource( + return new ByteByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteReinterpretedInstantColumnTupleSource.java index fcfbdfc4564..dd452226d40 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteByteReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteByteReinterpretedDateTimeColumnTupleSource( + public ByteByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteByteReinterpretedDateTimeColumnTupleSource( + return new ByteByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterInstantColumnTupleSource.java index 22d6e979f63..ff8834756e5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteCharacterDateTimeColumnTupleSource( + public ByteCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteCharLongTuple createTuple(final long rowKey) { return new ByteCharLongTuple( columnSource1.getByte(rowKey), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteCharLongTuple createPreviousTuple(final long rowKey) { return new ByteCharLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteCharLongTuple createTupleFromValues(@NotNull final Object... va return new ByteCharLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteCharLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteCharLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteCharLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteCharLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteCharacterDateTimeColumnTupleSource( + return new ByteCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterReinterpretedInstantColumnTupleSource.java index 4d3262631ae..27e15e7a390 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteCharacterReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteCharacterReinterpretedDateTimeColumnTupleSource( + public ByteCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteCharLongTuple createTupleFromValues(@NotNull final Object... va return new ByteCharLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteCharLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteCharacterReinterpretedDateTimeColumnTupleSource( + return new ByteCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleInstantColumnTupleSource.java index 988f81d9a85..ec635532335 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteDoubleDateTimeColumnTupleSource( + public ByteDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteDoubleLongTuple createTuple(final long rowKey) { return new ByteDoubleLongTuple( columnSource1.getByte(rowKey), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteDoubleLongTuple createPreviousTuple(final long rowKey) { return new ByteDoubleLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteDoubleLongTuple createTupleFromValues(@NotNull final Object... return new ByteDoubleLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ByteDoubleLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteDoubleLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteDoubleDateTimeColumnTupleSource( + return new ByteDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleReinterpretedInstantColumnTupleSource.java index 911bc563fbf..992ed8227ff 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDoubleReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDoubleReinterpretedDateTimeColumnTupleSource( + public ByteDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteDoubleLongTuple createTupleFromValues(@NotNull final Object... return new ByteDoubleLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDoubleReinterpretedDateTimeColumnTupleSource( + return new ByteDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatInstantColumnTupleSource.java index e564ccc372b..37fb3631f0a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteFloatDateTimeColumnTupleSource( + public ByteFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteFloatLongTuple createTuple(final long rowKey) { return new ByteFloatLongTuple( columnSource1.getByte(rowKey), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteFloatLongTuple createPreviousTuple(final long rowKey) { return new ByteFloatLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteFloatLongTuple createTupleFromValues(@NotNull final Object... v return new ByteFloatLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ByteFloatLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteFloatLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteFloatLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteFloatDateTimeColumnTupleSource( + return new ByteFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatReinterpretedInstantColumnTupleSource.java index 31a7de70c01..2c66559f912 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteFloatReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteFloatReinterpretedDateTimeColumnTupleSource( + public ByteFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteFloatLongTuple createTupleFromValues(@NotNull final Object... v return new ByteFloatLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteFloatLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteFloatReinterpretedDateTimeColumnTupleSource( + return new ByteFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantBooleanColumnTupleSource.java index ed49e1959ff..e244afe1ca5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ByteInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeBooleanColumnTupleSource( + public ByteInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ByteDateTimeBooleanColumnTupleSource( public final ByteLongByteTuple createTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -57,7 +57,7 @@ public final ByteLongByteTuple createTuple(final long rowKey) { public final ByteLongByteTuple createPreviousTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... va public final ByteLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeBooleanColumnTupleSource( + return new ByteInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantByteColumnTupleSource.java index b11e24f29db..5b9217993c6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantByteColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ByteInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeByteColumnTupleSource( + public ByteInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ByteDateTimeByteColumnTupleSource( public final ByteLongByteTuple createTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -56,7 +56,7 @@ public final ByteLongByteTuple createTuple(final long rowKey) { public final ByteLongByteTuple createPreviousTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -65,7 +65,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -74,7 +74,7 @@ public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... va public final ByteLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeByteColumnTupleSource( + return new ByteInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantCharacterColumnTupleSource.java index 51fae88e9fc..f7bcc4c0eb8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantCharacterColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ByteInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeCharacterColumnTupleSource( + public ByteInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ByteDateTimeCharacterColumnTupleSource( public final ByteLongCharTuple createTuple(final long rowKey) { return new ByteLongCharTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongCharTuple createTuple(final long rowKey) { public final ByteLongCharTuple createPreviousTuple(final long rowKey) { return new ByteLongCharTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongCharTuple createPreviousTuple(final long rowKey) { public final ByteLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongCharTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongCharTuple createTupleFromValues(@NotNull final Object... va public final ByteLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongCharTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongCharTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongCharTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongCharTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongCharTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongCharTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeCharacterColumnTupleSource( + return new ByteInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantColumnTupleSource.java similarity index 78% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantColumnTupleSource.java index 1e0abe7d7bd..e44a7e8eafa 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ByteInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public ByteDateTimeColumnTupleSource( + public ByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -44,7 +44,7 @@ public ByteDateTimeColumnTupleSource( public final ByteLongTuple createTuple(final long rowKey) { return new ByteLongTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -52,7 +52,7 @@ public final ByteLongTuple createTuple(final long rowKey) { public final ByteLongTuple createPreviousTuple(final long rowKey) { return new ByteLongTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @@ -60,7 +60,7 @@ public final ByteLongTuple createPreviousTuple(final long rowKey) { public final ByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -68,7 +68,7 @@ public final ByteLongTuple createTupleFromValues(@NotNull final Object... values public final ByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final ByteLongTuple tupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final ByteLongTuple tuple, int elemen return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -103,7 +103,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongTuple tupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -111,15 +111,15 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ByteInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -127,9 +127,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new ByteDateTimeColumnTupleSource( + return new ByteInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantDoubleColumnTupleSource.java index 294bcf67a88..ea6e654fa0e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantDoubleColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ByteInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeDoubleColumnTupleSource( + public ByteInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ByteDateTimeDoubleColumnTupleSource( public final ByteLongDoubleTuple createTuple(final long rowKey) { return new ByteLongDoubleTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongDoubleTuple createTuple(final long rowKey) { public final ByteLongDoubleTuple createPreviousTuple(final long rowKey) { return new ByteLongDoubleTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongDoubleTuple createPreviousTuple(final long rowKey) { public final ByteLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongDoubleTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongDoubleTuple createTupleFromValues(@NotNull final Object... public final ByteLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongDoubleTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongDoubleTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongDoubleTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongDoubleTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongDoubleTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongDoubleTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongDoubleTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeDoubleColumnTupleSource( + return new ByteInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantFloatColumnTupleSource.java index 39545e7f35b..1443c9abf57 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantFloatColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ByteInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeFloatColumnTupleSource( + public ByteInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ByteDateTimeFloatColumnTupleSource( public final ByteLongFloatTuple createTuple(final long rowKey) { return new ByteLongFloatTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongFloatTuple createTuple(final long rowKey) { public final ByteLongFloatTuple createPreviousTuple(final long rowKey) { return new ByteLongFloatTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongFloatTuple createPreviousTuple(final long rowKey) { public final ByteLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongFloatTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongFloatTuple createTupleFromValues(@NotNull final Object... v public final ByteLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongFloatTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongFloatTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongFloatTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongFloatTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongFloatTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongFloatTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeFloatColumnTupleSource( + return new ByteInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantInstantColumnTupleSource.java index 26f272c64c1..b4a02a9a254 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public ByteDateTimeDateTimeColumnTupleSource( + public ByteInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,8 +47,8 @@ public ByteDateTimeDateTimeColumnTupleSource( public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,8 +56,8 @@ public final ByteLongLongTuple createTuple(final long rowKey) { public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,8 +65,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,8 +74,8 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,10 +117,10 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeDateTimeColumnTupleSource( + return new ByteInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantIntegerColumnTupleSource.java index 884c7f09d38..7e8b4a7c752 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantIntegerColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ByteInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeIntegerColumnTupleSource( + public ByteInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ByteDateTimeIntegerColumnTupleSource( public final ByteLongIntTuple createTuple(final long rowKey) { return new ByteLongIntTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongIntTuple createTuple(final long rowKey) { public final ByteLongIntTuple createPreviousTuple(final long rowKey) { return new ByteLongIntTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongIntTuple createPreviousTuple(final long rowKey) { public final ByteLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongIntTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongIntTuple createTupleFromValues(@NotNull final Object... val public final ByteLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongIntTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongIntTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongIntTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongIntTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongIntTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongIntTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongIntTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeIntegerColumnTupleSource( + return new ByteInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantLongColumnTupleSource.java index f62eae0b4cd..8619aa694d0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantLongColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ByteInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeLongColumnTupleSource( + public ByteInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ByteDateTimeLongColumnTupleSource( public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeLongColumnTupleSource( + return new ByteInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantObjectColumnTupleSource.java index f7e3c4d0bd6..c23ee98e0d2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantObjectColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ByteInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeObjectColumnTupleSource( + public ByteInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ByteDateTimeObjectColumnTupleSource( public final ByteLongObjectTuple createTuple(final long rowKey) { return new ByteLongObjectTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -56,7 +56,7 @@ public final ByteLongObjectTuple createTuple(final long rowKey) { public final ByteLongObjectTuple createPreviousTuple(final long rowKey) { return new ByteLongObjectTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -65,7 +65,7 @@ public final ByteLongObjectTuple createPreviousTuple(final long rowKey) { public final ByteLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongObjectTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -74,7 +74,7 @@ public final ByteLongObjectTuple createTupleFromValues(@NotNull final Object... public final ByteLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongObjectTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ByteLongObjectTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ByteLongObjectTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongObjectTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongObjectTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongObjectTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongObjectTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeObjectColumnTupleSource( + return new ByteInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantReinterpretedBooleanColumnTupleSource.java index d1f6d4cbfef..19e9f64fdd4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantReinterpretedBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ByteInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeReinterpretedBooleanColumnTupleSource( + public ByteInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ByteDateTimeReinterpretedBooleanColumnTupleSource( public final ByteLongByteTuple createTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongByteTuple createTuple(final long rowKey) { public final ByteLongByteTuple createPreviousTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... va public final ByteLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeReinterpretedBooleanColumnTupleSource( + return new ByteInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantReinterpretedInstantColumnTupleSource.java index 2d11a274e5b..9657d2dcfed 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantReinterpretedInstantColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeReinterpretedDateTimeColumnTupleSource( + public ByteInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ByteDateTimeReinterpretedDateTimeColumnTupleSource( public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,8 +66,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeReinterpretedDateTimeColumnTupleSource( + return new ByteInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantShortColumnTupleSource.java index 64c9646f9cd..930e8917302 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteInstantShortColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ByteInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteDateTimeShortColumnTupleSource( + public ByteInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ByteDateTimeShortColumnTupleSource( public final ByteLongShortTuple createTuple(final long rowKey) { return new ByteLongShortTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongShortTuple createTuple(final long rowKey) { public final ByteLongShortTuple createPreviousTuple(final long rowKey) { return new ByteLongShortTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongShortTuple createPreviousTuple(final long rowKey) { public final ByteLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongShortTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongShortTuple createTupleFromValues(@NotNull final Object... v public final ByteLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongShortTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongShortTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongShortTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongShortTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongShortTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongShortTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteDateTimeShortColumnTupleSource( + return new ByteInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerInstantColumnTupleSource.java index ebe29d61af0..5a7468782fd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteIntegerDateTimeColumnTupleSource( + public ByteIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteIntLongTuple createTuple(final long rowKey) { return new ByteIntLongTuple( columnSource1.getByte(rowKey), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteIntLongTuple createPreviousTuple(final long rowKey) { return new ByteIntLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteIntLongTuple createTupleFromValues(@NotNull final Object... val return new ByteIntLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteIntLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteIntLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteIntLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteIntLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteIntegerDateTimeColumnTupleSource( + return new ByteIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerReinterpretedInstantColumnTupleSource.java index 34e0d54009e..9e0d8f5eeb9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteIntegerReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteIntegerReinterpretedDateTimeColumnTupleSource( + public ByteIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteIntLongTuple createTupleFromValues(@NotNull final Object... val return new ByteIntLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteIntLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteIntegerReinterpretedDateTimeColumnTupleSource( + return new ByteIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongInstantColumnTupleSource.java index 06fe510e2f7..50a06f946f7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteLongDateTimeColumnTupleSource( + public ByteLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getByte(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteLongDateTimeColumnTupleSource( + return new ByteLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongReinterpretedInstantColumnTupleSource.java index 1aa5317953b..97b4134e9ca 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteLongReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteLongReinterpretedDateTimeColumnTupleSource( + public ByteLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteLongReinterpretedDateTimeColumnTupleSource( + return new ByteLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectInstantColumnTupleSource.java index 1c9e1f5951e..c6527e297a7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteObjectDateTimeColumnTupleSource( + public ByteObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ByteObjectLongTuple createTuple(final long rowKey) { return new ByteObjectLongTuple( columnSource1.getByte(rowKey), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ByteObjectLongTuple createPreviousTuple(final long rowKey) { return new ByteObjectLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ByteObjectLongTuple createTupleFromValues(@NotNull final Object... return new ByteObjectLongTuple( TypeUtils.unbox((Byte)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ByteObjectLongTuple( TypeUtils.unbox((Byte)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ByteObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ByteObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteObjectLongTupl return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteObjectDateTimeColumnTupleSource( + return new ByteObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectReinterpretedInstantColumnTupleSource.java index 7f91429506f..e692bdd3034 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteObjectReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteObjectReinterpretedDateTimeColumnTupleSource( + public ByteObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteObjectLongTuple createTupleFromValues(@NotNull final Object... return new ByteObjectLongTuple( TypeUtils.unbox((Byte)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteObjectReinterpretedDateTimeColumnTupleSource( + return new ByteObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanInstantColumnTupleSource.java index e24c5612b99..9b677d38e50 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteReinterpretedBooleanDateTimeColumnTupleSource( + public ByteReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteByteLongTuple createTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getByte(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteByteLongTuple createPreviousTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedBooleanDateTimeColumnTupleSource( + return new ByteReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index ee8a1b47829..80a142f7a7a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public ByteReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new ByteReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantBooleanColumnTupleSource.java index bf667595d9b..6185a3c9c55 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeBooleanColumnTupleSource( + public ByteReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeBooleanColumnTupleSource( + return new ByteReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantByteColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantByteColumnTupleSource.java index 8255bccbeda..469f570e252 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantByteColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeByteColumnTupleSource( + public ByteReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeByteColumnTupleSource( + return new ByteReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantCharacterColumnTupleSource.java index 2cb656a50c5..cd948255b87 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeCharacterColumnTupleSource( + public ByteReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongCharTuple createPreviousTuple(final long rowKey) { public final ByteLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongCharTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongCharTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeCharacterColumnTupleSource( + return new ByteReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantColumnTupleSource.java index a67bb0706ad..298f9f036fd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ByteReinterpretedDateTimeColumnTupleSource( + public ByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -60,7 +60,7 @@ public final ByteLongTuple createPreviousTuple(final long rowKey) { public final ByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final ByteLongTuple tupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final ByteLongTuple tuple, int elemen return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ByteReinterpretedDateTimeColumnTupleSource( + return new ByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantDoubleColumnTupleSource.java index 5156f2e9381..10fb8ea91a8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeDoubleColumnTupleSource( + public ByteReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongDoubleTuple createPreviousTuple(final long rowKey) { public final ByteLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongDoubleTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongDoubleTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongDoubleTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeDoubleColumnTupleSource( + return new ByteReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantFloatColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantFloatColumnTupleSource.java index c55689bc9a1..929e6f34ede 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeFloatColumnTupleSource( + public ByteReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongFloatTuple createPreviousTuple(final long rowKey) { public final ByteLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongFloatTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongFloatTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeFloatColumnTupleSource( + return new ByteReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantInstantColumnTupleSource.java index a115359d153..8bcb97d1dc6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeDateTimeColumnTupleSource( + public ByteReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getByte(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,8 +66,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeDateTimeColumnTupleSource( + return new ByteReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantIntegerColumnTupleSource.java index 72d4d384111..4ab537c0fec 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeIntegerColumnTupleSource( + public ByteReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongIntTuple createPreviousTuple(final long rowKey) { public final ByteLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongIntTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongIntTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongIntTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeIntegerColumnTupleSource( + return new ByteReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantLongColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantLongColumnTupleSource.java index 543f368cdea..a6821414344 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeLongColumnTupleSource( + public ByteReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeLongColumnTupleSource( + return new ByteReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantObjectColumnTupleSource.java index d49137ff0b6..2ba92d2b0fe 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeObjectColumnTupleSource( + public ByteReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongObjectTuple createPreviousTuple(final long rowKey) { public final ByteLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongObjectTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongObjectTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongObjectTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeObjectColumnTupleSource( + return new ByteReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index b9b52a667ee..4a07f2a6c12 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public ByteReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new ByteReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantReinterpretedInstantColumnTupleSource.java index 6f2da5f4751..c284fe8f5a3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public ByteReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,8 +65,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new ByteReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantShortColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantShortColumnTupleSource.java index 5a4daed5900..5ada7fc3762 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteReinterpretedInstantShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ByteReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteReinterpretedDateTimeShortColumnTupleSource( + public ByteReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongShortTuple createPreviousTuple(final long rowKey) { public final ByteLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongShortTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongShortTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteReinterpretedDateTimeShortColumnTupleSource( + return new ByteReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortInstantColumnTupleSource.java index 14eaee1cdb5..74b3b2d6722 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ByteShortDateTimeColumnTupleSource( + public ByteShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteShortLongTuple createTuple(final long rowKey) { return new ByteShortLongTuple( columnSource1.getByte(rowKey), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteShortLongTuple createPreviousTuple(final long rowKey) { return new ByteShortLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteShortLongTuple createTupleFromValues(@NotNull final Object... v return new ByteShortLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteShortLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ByteShortLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteShortLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteShortLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ByteShortDateTimeColumnTupleSource( + return new ByteShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortReinterpretedInstantColumnTupleSource.java index 3471fc33c9f..907ed8d319f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ByteShortReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ByteShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ByteShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ByteShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ByteShortReinterpretedDateTimeColumnTupleSource( + public ByteShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteShortLongTuple createTupleFromValues(@NotNull final Object... v return new ByteShortLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteShortLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ByteShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ByteShortReinterpretedDateTimeColumnTupleSource( + return new ByteShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanInstantColumnTupleSource.java index df5d38aadd6..c909e7cbe5d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterBooleanDateTimeColumnTupleSource( + public CharacterBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final CharByteLongTuple createTuple(final long rowKey) { return new CharByteLongTuple( columnSource1.getChar(rowKey), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final CharByteLongTuple createPreviousTuple(final long rowKey) { return new CharByteLongTuple( columnSource1.getPrevChar(rowKey), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final CharByteLongTuple createTupleFromValues(@NotNull final Object... va return new CharByteLongTuple( TypeUtils.unbox((Character)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final CharByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new CharByteLongTuple( TypeUtils.unbox((Character)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final CharByteLongTuple return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterBooleanDateTimeColumnTupleSource( + return new CharacterBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanReinterpretedInstantColumnTupleSource.java index aecd8b862b7..2b65ea53f3d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterBooleanReinterpretedDateTimeColumnTupleSource( + public CharacterBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final CharByteLongTuple createTupleFromValues(@NotNull final Object... va return new CharByteLongTuple( TypeUtils.unbox((Character)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final CharByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final CharByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterBooleanReinterpretedDateTimeColumnTupleSource( + return new CharacterBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteInstantColumnTupleSource.java index 9a63b48d3a1..40b490ca252 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterByteDateTimeColumnTupleSource( + public CharacterByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final CharByteLongTuple createTuple(final long rowKey) { return new CharByteLongTuple( columnSource1.getChar(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final CharByteLongTuple createPreviousTuple(final long rowKey) { return new CharByteLongTuple( columnSource1.getPrevChar(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final CharByteLongTuple createTupleFromValues(@NotNull final Object... va return new CharByteLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final CharByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new CharByteLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharByteLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final CharByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterByteDateTimeColumnTupleSource( + return new CharacterByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteReinterpretedInstantColumnTupleSource.java index 85a9b1db77c..0c5ab21eee3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterByteReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterByteReinterpretedDateTimeColumnTupleSource( + public CharacterByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final CharByteLongTuple createTupleFromValues(@NotNull final Object... va return new CharByteLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharByteLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterByteReinterpretedDateTimeColumnTupleSource( + return new CharacterByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterInstantColumnTupleSource.java index 8445f22fc73..e6149fc23f4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterCharacterDateTimeColumnTupleSource( + public CharacterCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final CharCharLongTuple createTuple(final long rowKey) { return new CharCharLongTuple( columnSource1.getChar(rowKey), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final CharCharLongTuple createPreviousTuple(final long rowKey) { return new CharCharLongTuple( columnSource1.getPrevChar(rowKey), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final CharCharLongTuple createTupleFromValues(@NotNull final Object... va return new CharCharLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final CharCharLongTuple createTupleFromReinterpretedValues(@NotNull final return new CharCharLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final CharCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final CharCharLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final CharCharLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterCharacterDateTimeColumnTupleSource( + return new CharacterCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterReinterpretedInstantColumnTupleSource.java index 5b6d8ea3bf7..3b7364f075b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterCharacterReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterCharacterReinterpretedDateTimeColumnTupleSource( + public CharacterCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final CharCharLongTuple createTupleFromValues(@NotNull final Object... va return new CharCharLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final CharCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final CharCharLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterCharacterReinterpretedDateTimeColumnTupleSource( + return new CharacterCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleInstantColumnTupleSource.java index 456c074e447..712fc15a74e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterDoubleDateTimeColumnTupleSource( + public CharacterDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final CharDoubleLongTuple createTuple(final long rowKey) { return new CharDoubleLongTuple( columnSource1.getChar(rowKey), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final CharDoubleLongTuple createPreviousTuple(final long rowKey) { return new CharDoubleLongTuple( columnSource1.getPrevChar(rowKey), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final CharDoubleLongTuple createTupleFromValues(@NotNull final Object... return new CharDoubleLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final CharDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin return new CharDoubleLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final CharDoubleLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterDoubleDateTimeColumnTupleSource( + return new CharacterDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleReinterpretedInstantColumnTupleSource.java index 50999147caf..36a17421410 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDoubleReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDoubleReinterpretedDateTimeColumnTupleSource( + public CharacterDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final CharDoubleLongTuple createTupleFromValues(@NotNull final Object... return new CharDoubleLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDoubleReinterpretedDateTimeColumnTupleSource( + return new CharacterDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatInstantColumnTupleSource.java index 06d27b55fbd..b762e389741 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterFloatDateTimeColumnTupleSource( + public CharacterFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final CharFloatLongTuple createTuple(final long rowKey) { return new CharFloatLongTuple( columnSource1.getChar(rowKey), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final CharFloatLongTuple createPreviousTuple(final long rowKey) { return new CharFloatLongTuple( columnSource1.getPrevChar(rowKey), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final CharFloatLongTuple createTupleFromValues(@NotNull final Object... v return new CharFloatLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final CharFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina return new CharFloatLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharFloatLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final CharFloatLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterFloatDateTimeColumnTupleSource( + return new CharacterFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatReinterpretedInstantColumnTupleSource.java index b7c6bb67b2a..fadaa4d8841 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterFloatReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterFloatReinterpretedDateTimeColumnTupleSource( + public CharacterFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final CharFloatLongTuple createTupleFromValues(@NotNull final Object... v return new CharFloatLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharFloatLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterFloatReinterpretedDateTimeColumnTupleSource( + return new CharacterFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantBooleanColumnTupleSource.java index 1dc4fb4a9f0..20f0a554514 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeBooleanColumnTupleSource( + public CharacterInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public CharacterDateTimeBooleanColumnTupleSource( public final CharLongByteTuple createTuple(final long rowKey) { return new CharLongByteTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -57,7 +57,7 @@ public final CharLongByteTuple createTuple(final long rowKey) { public final CharLongByteTuple createPreviousTuple(final long rowKey) { return new CharLongByteTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -66,7 +66,7 @@ public final CharLongByteTuple createPreviousTuple(final long rowKey) { public final CharLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongByteTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final CharLongByteTuple createTupleFromValues(@NotNull final Object... va public final CharLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongByteTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeBooleanColumnTupleSource( + return new CharacterInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantByteColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantByteColumnTupleSource.java index b9e8680e5c4..e4bf75e804f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantByteColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeByteColumnTupleSource( + public CharacterInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public CharacterDateTimeByteColumnTupleSource( public final CharLongByteTuple createTuple(final long rowKey) { return new CharLongByteTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final CharLongByteTuple createTuple(final long rowKey) { public final CharLongByteTuple createPreviousTuple(final long rowKey) { return new CharLongByteTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final CharLongByteTuple createPreviousTuple(final long rowKey) { public final CharLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongByteTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -75,7 +75,7 @@ public final CharLongByteTuple createTupleFromValues(@NotNull final Object... va public final CharLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongByteTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new CharLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeByteColumnTupleSource( + return new CharacterInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantCharacterColumnTupleSource.java index 6b0b2042927..cbadd1964cf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantCharacterColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeCharacterColumnTupleSource( + public CharacterInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public CharacterDateTimeCharacterColumnTupleSource( public final CharLongCharTuple createTuple(final long rowKey) { return new CharLongCharTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -56,7 +56,7 @@ public final CharLongCharTuple createTuple(final long rowKey) { public final CharLongCharTuple createPreviousTuple(final long rowKey) { return new CharLongCharTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -65,7 +65,7 @@ public final CharLongCharTuple createPreviousTuple(final long rowKey) { public final CharLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongCharTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -74,7 +74,7 @@ public final CharLongCharTuple createTupleFromValues(@NotNull final Object... va public final CharLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongCharTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final CharLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final CharLongCharTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongCharTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongCharTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongCharTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new CharLongCharTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeCharacterColumnTupleSource( + return new CharacterInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantColumnTupleSource.java index 4b8de75cf39..f792a6c8d1f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public CharacterDateTimeColumnTupleSource( + public CharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -44,7 +44,7 @@ public CharacterDateTimeColumnTupleSource( public final CharLongTuple createTuple(final long rowKey) { return new CharLongTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -52,7 +52,7 @@ public final CharLongTuple createTuple(final long rowKey) { public final CharLongTuple createPreviousTuple(final long rowKey) { return new CharLongTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @@ -60,7 +60,7 @@ public final CharLongTuple createPreviousTuple(final long rowKey) { public final CharLongTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -68,7 +68,7 @@ public final CharLongTuple createTupleFromValues(@NotNull final Object... values public final CharLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final CharLongTuple tupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final CharLongTuple tuple, int elemen return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -103,7 +103,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongTuple tupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -111,15 +111,15 @@ public final Object exportElementReinterpreted(@NotNull final CharLongTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new CharLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link CharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link CharacterInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -127,9 +127,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new CharacterDateTimeColumnTupleSource( + return new CharacterInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantDoubleColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantDoubleColumnTupleSource.java index 2c353f793e1..8f196fc1cf6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantDoubleColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeDoubleColumnTupleSource( + public CharacterInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public CharacterDateTimeDoubleColumnTupleSource( public final CharLongDoubleTuple createTuple(final long rowKey) { return new CharLongDoubleTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -57,7 +57,7 @@ public final CharLongDoubleTuple createTuple(final long rowKey) { public final CharLongDoubleTuple createPreviousTuple(final long rowKey) { return new CharLongDoubleTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -66,7 +66,7 @@ public final CharLongDoubleTuple createPreviousTuple(final long rowKey) { public final CharLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongDoubleTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -75,7 +75,7 @@ public final CharLongDoubleTuple createTupleFromValues(@NotNull final Object... public final CharLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongDoubleTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongDoubleTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongDoubleTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongDoubleTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongDoubleTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongDoubleTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new CharLongDoubleTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeDoubleColumnTupleSource( + return new CharacterInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantFloatColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantFloatColumnTupleSource.java index 605b43ef4c9..161e3247635 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantFloatColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeFloatColumnTupleSource( + public CharacterInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public CharacterDateTimeFloatColumnTupleSource( public final CharLongFloatTuple createTuple(final long rowKey) { return new CharLongFloatTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -57,7 +57,7 @@ public final CharLongFloatTuple createTuple(final long rowKey) { public final CharLongFloatTuple createPreviousTuple(final long rowKey) { return new CharLongFloatTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -66,7 +66,7 @@ public final CharLongFloatTuple createPreviousTuple(final long rowKey) { public final CharLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongFloatTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -75,7 +75,7 @@ public final CharLongFloatTuple createTupleFromValues(@NotNull final Object... v public final CharLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongFloatTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongFloatTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongFloatTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongFloatTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongFloatTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new CharLongFloatTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeFloatColumnTupleSource( + return new CharacterInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantInstantColumnTupleSource.java index 77a3eb77cee..8a6b4cc1378 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public CharacterDateTimeDateTimeColumnTupleSource( + public CharacterInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,8 +47,8 @@ public CharacterDateTimeDateTimeColumnTupleSource( public final CharLongLongTuple createTuple(final long rowKey) { return new CharLongLongTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,8 +56,8 @@ public final CharLongLongTuple createTuple(final long rowKey) { public final CharLongLongTuple createPreviousTuple(final long rowKey) { return new CharLongLongTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,8 +65,8 @@ public final CharLongLongTuple createPreviousTuple(final long rowKey) { public final CharLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,8 +74,8 @@ public final CharLongLongTuple createTupleFromValues(@NotNull final Object... va public final CharLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final CharLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final CharLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,10 +117,10 @@ public final Object exportElementReinterpreted(@NotNull final CharLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeDateTimeColumnTupleSource( + return new CharacterInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantIntegerColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantIntegerColumnTupleSource.java index 88a7c01738d..3c3206dd79a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantIntegerColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeIntegerColumnTupleSource( + public CharacterInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public CharacterDateTimeIntegerColumnTupleSource( public final CharLongIntTuple createTuple(final long rowKey) { return new CharLongIntTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -57,7 +57,7 @@ public final CharLongIntTuple createTuple(final long rowKey) { public final CharLongIntTuple createPreviousTuple(final long rowKey) { return new CharLongIntTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -66,7 +66,7 @@ public final CharLongIntTuple createPreviousTuple(final long rowKey) { public final CharLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongIntTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -75,7 +75,7 @@ public final CharLongIntTuple createTupleFromValues(@NotNull final Object... val public final CharLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongIntTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongIntTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongIntTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongIntTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongIntTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongIntTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new CharLongIntTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeIntegerColumnTupleSource( + return new CharacterInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantLongColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantLongColumnTupleSource.java index d522ad10b74..26ae4142262 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantLongColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeLongColumnTupleSource( + public CharacterInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public CharacterDateTimeLongColumnTupleSource( public final CharLongLongTuple createTuple(final long rowKey) { return new CharLongLongTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final CharLongLongTuple createTuple(final long rowKey) { public final CharLongLongTuple createPreviousTuple(final long rowKey) { return new CharLongLongTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,7 +66,7 @@ public final CharLongLongTuple createPreviousTuple(final long rowKey) { public final CharLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -75,7 +75,7 @@ public final CharLongLongTuple createTupleFromValues(@NotNull final Object... va public final CharLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new CharLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeLongColumnTupleSource( + return new CharacterInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantObjectColumnTupleSource.java index 7c9ccc02820..3b714032772 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantObjectColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeObjectColumnTupleSource( + public CharacterInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public CharacterDateTimeObjectColumnTupleSource( public final CharLongObjectTuple createTuple(final long rowKey) { return new CharLongObjectTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -56,7 +56,7 @@ public final CharLongObjectTuple createTuple(final long rowKey) { public final CharLongObjectTuple createPreviousTuple(final long rowKey) { return new CharLongObjectTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -65,7 +65,7 @@ public final CharLongObjectTuple createPreviousTuple(final long rowKey) { public final CharLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongObjectTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -74,7 +74,7 @@ public final CharLongObjectTuple createTupleFromValues(@NotNull final Object... public final CharLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongObjectTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final CharLongObjectTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final CharLongObjectTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongObjectTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongObjectTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongObjectTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new CharLongObjectTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeObjectColumnTupleSource( + return new CharacterInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantReinterpretedBooleanColumnTupleSource.java index 31e63bfcfd3..0d3d1f6ac31 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantReinterpretedBooleanColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeReinterpretedBooleanColumnTupleSource( + public CharacterInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public CharacterDateTimeReinterpretedBooleanColumnTupleSource( public final CharLongByteTuple createTuple(final long rowKey) { return new CharLongByteTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -58,7 +58,7 @@ public final CharLongByteTuple createTuple(final long rowKey) { public final CharLongByteTuple createPreviousTuple(final long rowKey) { return new CharLongByteTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -67,7 +67,7 @@ public final CharLongByteTuple createPreviousTuple(final long rowKey) { public final CharLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongByteTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -76,7 +76,7 @@ public final CharLongByteTuple createTupleFromValues(@NotNull final Object... va public final CharLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongByteTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final CharLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final CharLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new CharLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeReinterpretedBooleanColumnTupleSource( + return new CharacterInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantReinterpretedInstantColumnTupleSource.java index 38d74f96963..5b1ec505fa6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantReinterpretedInstantColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeReinterpretedDateTimeColumnTupleSource( + public CharacterInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public CharacterDateTimeReinterpretedDateTimeColumnTupleSource( public final CharLongLongTuple createTuple(final long rowKey) { return new CharLongLongTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final CharLongLongTuple createTuple(final long rowKey) { public final CharLongLongTuple createPreviousTuple(final long rowKey) { return new CharLongLongTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,8 +66,8 @@ public final CharLongLongTuple createPreviousTuple(final long rowKey) { public final CharLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final CharLongLongTuple createTupleFromValues(@NotNull final Object... va public final CharLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final CharLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final CharLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new CharLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeReinterpretedDateTimeColumnTupleSource( + return new CharacterInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantShortColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantShortColumnTupleSource.java index 1f292300f5b..c9553801aa1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterInstantShortColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class CharacterInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterDateTimeShortColumnTupleSource( + public CharacterInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public CharacterDateTimeShortColumnTupleSource( public final CharLongShortTuple createTuple(final long rowKey) { return new CharLongShortTuple( columnSource1.getChar(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -57,7 +57,7 @@ public final CharLongShortTuple createTuple(final long rowKey) { public final CharLongShortTuple createPreviousTuple(final long rowKey) { return new CharLongShortTuple( columnSource1.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -66,7 +66,7 @@ public final CharLongShortTuple createPreviousTuple(final long rowKey) { public final CharLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongShortTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -75,7 +75,7 @@ public final CharLongShortTuple createTupleFromValues(@NotNull final Object... v public final CharLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new CharLongShortTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongShortTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongShortTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final CharLongShortTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongShortTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new CharLongShortTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterDateTimeShortColumnTupleSource( + return new CharacterInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerInstantColumnTupleSource.java index 9759a45396b..056cf4d1b04 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterIntegerDateTimeColumnTupleSource( + public CharacterIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final CharIntLongTuple createTuple(final long rowKey) { return new CharIntLongTuple( columnSource1.getChar(rowKey), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final CharIntLongTuple createPreviousTuple(final long rowKey) { return new CharIntLongTuple( columnSource1.getPrevChar(rowKey), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final CharIntLongTuple createTupleFromValues(@NotNull final Object... val return new CharIntLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final CharIntLongTuple createTupleFromReinterpretedValues(@NotNull final return new CharIntLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharIntLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final CharIntLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterIntegerDateTimeColumnTupleSource( + return new CharacterIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerReinterpretedInstantColumnTupleSource.java index 0b33bb5d93f..414886cff9b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterIntegerReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterIntegerReinterpretedDateTimeColumnTupleSource( + public CharacterIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final CharIntLongTuple createTupleFromValues(@NotNull final Object... val return new CharIntLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharIntLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterIntegerReinterpretedDateTimeColumnTupleSource( + return new CharacterIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongInstantColumnTupleSource.java index c2e287679e4..aac3288a61e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterLongDateTimeColumnTupleSource( + public CharacterLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final CharLongLongTuple createTuple(final long rowKey) { return new CharLongLongTuple( columnSource1.getChar(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final CharLongLongTuple createPreviousTuple(final long rowKey) { return new CharLongLongTuple( columnSource1.getPrevChar(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final CharLongLongTuple createTupleFromValues(@NotNull final Object... va return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final CharLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharLongLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterLongDateTimeColumnTupleSource( + return new CharacterLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongReinterpretedInstantColumnTupleSource.java index ab7ea2d13bc..2ae5fc08752 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterLongReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterLongReinterpretedDateTimeColumnTupleSource( + public CharacterLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final CharLongLongTuple createTupleFromValues(@NotNull final Object... va return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final CharLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final CharLongLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterLongReinterpretedDateTimeColumnTupleSource( + return new CharacterLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectInstantColumnTupleSource.java index ca469c055ad..6e289587b08 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterObjectDateTimeColumnTupleSource( + public CharacterObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final CharObjectLongTuple createTuple(final long rowKey) { return new CharObjectLongTuple( columnSource1.getChar(rowKey), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final CharObjectLongTuple createPreviousTuple(final long rowKey) { return new CharObjectLongTuple( columnSource1.getPrevChar(rowKey), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final CharObjectLongTuple createTupleFromValues(@NotNull final Object... return new CharObjectLongTuple( TypeUtils.unbox((Character)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final CharObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin return new CharObjectLongTuple( TypeUtils.unbox((Character)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final CharObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final CharObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final CharObjectLongTupl return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterObjectDateTimeColumnTupleSource( + return new CharacterObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectReinterpretedInstantColumnTupleSource.java index 36c5b315dbe..b01688b883b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterObjectReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterObjectReinterpretedDateTimeColumnTupleSource( + public CharacterObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final CharObjectLongTuple createTupleFromValues(@NotNull final Object... return new CharObjectLongTuple( TypeUtils.unbox((Character)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterObjectReinterpretedDateTimeColumnTupleSource( + return new CharacterObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanInstantColumnTupleSource.java index 9d82e83637f..8a07ab0696b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterReinterpretedBooleanDateTimeColumnTupleSource( + public CharacterReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final CharByteLongTuple createTuple(final long rowKey) { return new CharByteLongTuple( columnSource1.getChar(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final CharByteLongTuple createPreviousTuple(final long rowKey) { return new CharByteLongTuple( columnSource1.getPrevChar(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final CharByteLongTuple createTupleFromValues(@NotNull final Object... va return new CharByteLongTuple( TypeUtils.unbox((Character)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final CharByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new CharByteLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final CharByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final CharByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final CharByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedBooleanDateTimeColumnTupleSource( + return new CharacterReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index 99c7d7b60b3..a53a6dfdd84 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public CharacterReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final CharByteLongTuple createTupleFromValues(@NotNull final Object... va return new CharByteLongTuple( TypeUtils.unbox((Character)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final CharByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final CharByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new CharacterReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantBooleanColumnTupleSource.java index 887160ec758..ace882b4ca6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeBooleanColumnTupleSource( + public CharacterReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final CharLongByteTuple createPreviousTuple(final long rowKey) { public final CharLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongByteTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final CharLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final CharLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeBooleanColumnTupleSource( + return new CharacterReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantByteColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantByteColumnTupleSource.java index c28818a8971..8254b99fbaa 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeByteColumnTupleSource( + public CharacterReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final CharLongByteTuple createPreviousTuple(final long rowKey) { public final CharLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongByteTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeByteColumnTupleSource( + return new CharacterReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantCharacterColumnTupleSource.java index 3f10367054e..a6ad3a8e1cf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantCharacterColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeCharacterColumnTupleSource( + public CharacterReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final CharLongCharTuple createPreviousTuple(final long rowKey) { public final CharLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongCharTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final CharLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final CharLongCharTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeCharacterColumnTupleSource( + return new CharacterReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantColumnTupleSource.java index a7a11b07de6..d872f3e25b1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public CharacterReinterpretedDateTimeColumnTupleSource( + public CharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -60,7 +60,7 @@ public final CharLongTuple createPreviousTuple(final long rowKey) { public final CharLongTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final CharLongTuple tupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final CharLongTuple tuple, int elemen return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new CharacterReinterpretedDateTimeColumnTupleSource( + return new CharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantDoubleColumnTupleSource.java index 36b1cb49515..2fce5d1221f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeDoubleColumnTupleSource( + public CharacterReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final CharLongDoubleTuple createPreviousTuple(final long rowKey) { public final CharLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongDoubleTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongDoubleTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongDoubleTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeDoubleColumnTupleSource( + return new CharacterReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantFloatColumnTupleSource.java index aa88ab1e68b..b7bc94d0a04 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeFloatColumnTupleSource( + public CharacterReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final CharLongFloatTuple createPreviousTuple(final long rowKey) { public final CharLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongFloatTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongFloatTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeFloatColumnTupleSource( + return new CharacterReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantInstantColumnTupleSource.java index b94ed6928cd..7734e582aea 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeDateTimeColumnTupleSource( + public CharacterReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final CharLongLongTuple createTuple(final long rowKey) { return new CharLongLongTuple( columnSource1.getChar(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final CharLongLongTuple createPreviousTuple(final long rowKey) { return new CharLongLongTuple( columnSource1.getPrevChar(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,8 +66,8 @@ public final CharLongLongTuple createPreviousTuple(final long rowKey) { public final CharLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final CharLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final CharLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final CharLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final CharLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeDateTimeColumnTupleSource( + return new CharacterReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantIntegerColumnTupleSource.java index d0b397c23ad..74dbc943feb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeIntegerColumnTupleSource( + public CharacterReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final CharLongIntTuple createPreviousTuple(final long rowKey) { public final CharLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongIntTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongIntTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongIntTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeIntegerColumnTupleSource( + return new CharacterReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantLongColumnTupleSource.java index afeca36802f..cc4ccfa8a68 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeLongColumnTupleSource( + public CharacterReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final CharLongLongTuple createPreviousTuple(final long rowKey) { public final CharLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final CharLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final CharLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeLongColumnTupleSource( + return new CharacterReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantObjectColumnTupleSource.java index cdb12ba39f7..c155c77afca 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeObjectColumnTupleSource( + public CharacterReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final CharLongObjectTuple createPreviousTuple(final long rowKey) { public final CharLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongObjectTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongObjectTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongObjectTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeObjectColumnTupleSource( + return new CharacterReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index 16ed1c84812..7faee463e30 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public CharacterReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final CharLongByteTuple createPreviousTuple(final long rowKey) { public final CharLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongByteTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final CharLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final CharLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new CharacterReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantReinterpretedInstantColumnTupleSource.java index d386b137d7a..98ea8094e3c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public CharacterReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,8 +65,8 @@ public final CharLongLongTuple createPreviousTuple(final long rowKey) { public final CharLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongLongTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final CharLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final CharLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new CharacterReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantShortColumnTupleSource.java index c2df3de5e34..c331e9c9cf3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterReinterpretedInstantShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class CharacterReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterReinterpretedDateTimeShortColumnTupleSource( + public CharacterReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final CharLongShortTuple createPreviousTuple(final long rowKey) { public final CharLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new CharLongShortTuple( TypeUtils.unbox((Character)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final CharLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final CharLongShortTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterReinterpretedDateTimeShortColumnTupleSource( + return new CharacterReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortInstantColumnTupleSource.java index 97545d81d78..d8993cb3233 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public CharacterShortDateTimeColumnTupleSource( + public CharacterShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final CharShortLongTuple createTuple(final long rowKey) { return new CharShortLongTuple( columnSource1.getChar(rowKey), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final CharShortLongTuple createPreviousTuple(final long rowKey) { return new CharShortLongTuple( columnSource1.getPrevChar(rowKey), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final CharShortLongTuple createTupleFromValues(@NotNull final Object... v return new CharShortLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final CharShortLongTuple createTupleFromReinterpretedValues(@NotNull fina return new CharShortLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharShortLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final CharShortLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); CharChunk chunk1 = chunks[0].asCharChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new CharShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new CharShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new CharacterShortDateTimeColumnTupleSource( + return new CharacterShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortReinterpretedInstantColumnTupleSource.java index bd395ff123a..22524f592b3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/CharacterShortReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.CharShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Character, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class CharacterShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class CharacterShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link CharacterShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public CharacterShortReinterpretedDateTimeColumnTupleSource( + public CharacterShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final CharShortLongTuple createTupleFromValues(@NotNull final Object... v return new CharShortLongTuple( TypeUtils.unbox((Character)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final CharShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final CharShortLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link CharacterShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new CharacterShortReinterpretedDateTimeColumnTupleSource( + return new CharacterShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanInstantColumnTupleSource.java index ec93eb97460..daf311c9b6b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleBooleanDateTimeColumnTupleSource( + public DoubleBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final DoubleByteLongTuple createTuple(final long rowKey) { return new DoubleByteLongTuple( columnSource1.getDouble(rowKey), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final DoubleByteLongTuple createPreviousTuple(final long rowKey) { return new DoubleByteLongTuple( columnSource1.getPrevDouble(rowKey), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final DoubleByteLongTuple createTupleFromValues(@NotNull final Object... return new DoubleByteLongTuple( TypeUtils.unbox((Double)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final DoubleByteLongTuple createTupleFromReinterpretedValues(@NotNull fin return new DoubleByteLongTuple( TypeUtils.unbox((Double)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleByteLongTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleByteLongTupl return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleBooleanDateTimeColumnTupleSource( + return new DoubleBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanReinterpretedInstantColumnTupleSource.java index b8422f2a116..9da23b50e2c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleBooleanReinterpretedDateTimeColumnTupleSource( + public DoubleBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final DoubleByteLongTuple createTupleFromValues(@NotNull final Object... return new DoubleByteLongTuple( TypeUtils.unbox((Double)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final DoubleByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final DoubleByteLongTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleBooleanReinterpretedDateTimeColumnTupleSource( + return new DoubleBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteInstantColumnTupleSource.java index 62a92ee145e..6faecf3f040 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleByteDateTimeColumnTupleSource( + public DoubleByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final DoubleByteLongTuple createTuple(final long rowKey) { return new DoubleByteLongTuple( columnSource1.getDouble(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final DoubleByteLongTuple createPreviousTuple(final long rowKey) { return new DoubleByteLongTuple( columnSource1.getPrevDouble(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final DoubleByteLongTuple createTupleFromValues(@NotNull final Object... return new DoubleByteLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final DoubleByteLongTuple createTupleFromReinterpretedValues(@NotNull fin return new DoubleByteLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleByteLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleByteLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleByteDateTimeColumnTupleSource( + return new DoubleByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteReinterpretedInstantColumnTupleSource.java index 19e2f1a0b0d..0d6f6440a08 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleByteReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleByteReinterpretedDateTimeColumnTupleSource( + public DoubleByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final DoubleByteLongTuple createTupleFromValues(@NotNull final Object... return new DoubleByteLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleByteLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleByteReinterpretedDateTimeColumnTupleSource( + return new DoubleByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterInstantColumnTupleSource.java index e0615661028..405c53b0a35 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleCharacterDateTimeColumnTupleSource( + public DoubleCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final DoubleCharLongTuple createTuple(final long rowKey) { return new DoubleCharLongTuple( columnSource1.getDouble(rowKey), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final DoubleCharLongTuple createPreviousTuple(final long rowKey) { return new DoubleCharLongTuple( columnSource1.getPrevDouble(rowKey), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final DoubleCharLongTuple createTupleFromValues(@NotNull final Object... return new DoubleCharLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final DoubleCharLongTuple createTupleFromReinterpretedValues(@NotNull fin return new DoubleCharLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleCharLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleCharLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleCharLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleCharacterDateTimeColumnTupleSource( + return new DoubleCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterReinterpretedInstantColumnTupleSource.java index ecb8505e562..6b3b3324da1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleCharacterReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleCharacterReinterpretedDateTimeColumnTupleSource( + public DoubleCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final DoubleCharLongTuple createTupleFromValues(@NotNull final Object... return new DoubleCharLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleCharLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleCharLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleCharacterReinterpretedDateTimeColumnTupleSource( + return new DoubleCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleInstantColumnTupleSource.java index 14a0cf2419f..c1f6fa174f8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleDoubleDateTimeColumnTupleSource( + public DoubleDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final DoubleDoubleLongTuple createTuple(final long rowKey) { return new DoubleDoubleLongTuple( columnSource1.getDouble(rowKey), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final DoubleDoubleLongTuple createPreviousTuple(final long rowKey) { return new DoubleDoubleLongTuple( columnSource1.getPrevDouble(rowKey), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final DoubleDoubleLongTuple createTupleFromValues(@NotNull final Object.. return new DoubleDoubleLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final DoubleDoubleLongTuple createTupleFromReinterpretedValues(@NotNull f return new DoubleDoubleLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final DoubleDoubleLongTu return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final DoubleDoubleLongTuple tuple, in return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleDoubleLongTu return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleDoubleDateTimeColumnTupleSource( + return new DoubleDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleReinterpretedInstantColumnTupleSource.java index 6736afef47b..60e06de6499 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDoubleReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDoubleReinterpretedDateTimeColumnTupleSource( + public DoubleDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final DoubleDoubleLongTuple createTupleFromValues(@NotNull final Object.. return new DoubleDoubleLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final DoubleDoubleLongTu return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final DoubleDoubleLongTuple tuple, in return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDoubleReinterpretedDateTimeColumnTupleSource( + return new DoubleDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatInstantColumnTupleSource.java index 00d0f36a90f..ba386c4b07d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleFloatDateTimeColumnTupleSource( + public DoubleFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final DoubleFloatLongTuple createTuple(final long rowKey) { return new DoubleFloatLongTuple( columnSource1.getDouble(rowKey), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final DoubleFloatLongTuple createPreviousTuple(final long rowKey) { return new DoubleFloatLongTuple( columnSource1.getPrevDouble(rowKey), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final DoubleFloatLongTuple createTupleFromValues(@NotNull final Object... return new DoubleFloatLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final DoubleFloatLongTuple createTupleFromReinterpretedValues(@NotNull fi return new DoubleFloatLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleFloatLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleFloatLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleFloatLongTup return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleFloatDateTimeColumnTupleSource( + return new DoubleFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatReinterpretedInstantColumnTupleSource.java index 0c0042206ba..aff76016b01 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleFloatReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleFloatReinterpretedDateTimeColumnTupleSource( + public DoubleFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final DoubleFloatLongTuple createTupleFromValues(@NotNull final Object... return new DoubleFloatLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleFloatLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleFloatLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleFloatReinterpretedDateTimeColumnTupleSource( + return new DoubleFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantBooleanColumnTupleSource.java index 1cdf12655da..7a0772f5747 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeBooleanColumnTupleSource( + public DoubleInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public DoubleDateTimeBooleanColumnTupleSource( public final DoubleLongByteTuple createTuple(final long rowKey) { return new DoubleLongByteTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -57,7 +57,7 @@ public final DoubleLongByteTuple createTuple(final long rowKey) { public final DoubleLongByteTuple createPreviousTuple(final long rowKey) { return new DoubleLongByteTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -66,7 +66,7 @@ public final DoubleLongByteTuple createPreviousTuple(final long rowKey) { public final DoubleLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongByteTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final DoubleLongByteTuple createTupleFromValues(@NotNull final Object... public final DoubleLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongByteTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongByteTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongByteTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongByteTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeBooleanColumnTupleSource( + return new DoubleInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantByteColumnTupleSource.java index 830e7b566aa..c4cac0b949d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantByteColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeByteColumnTupleSource( + public DoubleInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public DoubleDateTimeByteColumnTupleSource( public final DoubleLongByteTuple createTuple(final long rowKey) { return new DoubleLongByteTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final DoubleLongByteTuple createTuple(final long rowKey) { public final DoubleLongByteTuple createPreviousTuple(final long rowKey) { return new DoubleLongByteTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final DoubleLongByteTuple createPreviousTuple(final long rowKey) { public final DoubleLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongByteTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -75,7 +75,7 @@ public final DoubleLongByteTuple createTupleFromValues(@NotNull final Object... public final DoubleLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongByteTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongByteTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongByteTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongByteTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new DoubleLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeByteColumnTupleSource( + return new DoubleInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantCharacterColumnTupleSource.java index 2ae3c8db086..283711b38d6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantCharacterColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeCharacterColumnTupleSource( + public DoubleInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public DoubleDateTimeCharacterColumnTupleSource( public final DoubleLongCharTuple createTuple(final long rowKey) { return new DoubleLongCharTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -57,7 +57,7 @@ public final DoubleLongCharTuple createTuple(final long rowKey) { public final DoubleLongCharTuple createPreviousTuple(final long rowKey) { return new DoubleLongCharTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -66,7 +66,7 @@ public final DoubleLongCharTuple createPreviousTuple(final long rowKey) { public final DoubleLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongCharTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -75,7 +75,7 @@ public final DoubleLongCharTuple createTupleFromValues(@NotNull final Object... public final DoubleLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongCharTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongCharTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongCharTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongCharTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongCharTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongCharTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new DoubleLongCharTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeCharacterColumnTupleSource( + return new DoubleInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantColumnTupleSource.java index fc0ccf9c4e9..13271296076 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public DoubleDateTimeColumnTupleSource( + public DoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -44,7 +44,7 @@ public DoubleDateTimeColumnTupleSource( public final DoubleLongTuple createTuple(final long rowKey) { return new DoubleLongTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -52,7 +52,7 @@ public final DoubleLongTuple createTuple(final long rowKey) { public final DoubleLongTuple createPreviousTuple(final long rowKey) { return new DoubleLongTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @@ -60,7 +60,7 @@ public final DoubleLongTuple createPreviousTuple(final long rowKey) { public final DoubleLongTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -68,7 +68,7 @@ public final DoubleLongTuple createTupleFromValues(@NotNull final Object... valu public final DoubleLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final DoubleLongTuple tu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final DoubleLongTuple tuple, int elem return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -103,7 +103,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongTuple tu return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -111,15 +111,15 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongTuple tu protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new DoubleLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link DoubleInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -127,9 +127,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new DoubleDateTimeColumnTupleSource( + return new DoubleInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantDoubleColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantDoubleColumnTupleSource.java index caf90a36346..5efdeac2acc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantDoubleColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeDoubleColumnTupleSource( + public DoubleInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public DoubleDateTimeDoubleColumnTupleSource( public final DoubleLongDoubleTuple createTuple(final long rowKey) { return new DoubleLongDoubleTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -56,7 +56,7 @@ public final DoubleLongDoubleTuple createTuple(final long rowKey) { public final DoubleLongDoubleTuple createPreviousTuple(final long rowKey) { return new DoubleLongDoubleTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -65,7 +65,7 @@ public final DoubleLongDoubleTuple createPreviousTuple(final long rowKey) { public final DoubleLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongDoubleTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -74,7 +74,7 @@ public final DoubleLongDoubleTuple createTupleFromValues(@NotNull final Object.. public final DoubleLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongDoubleTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final DoubleLongDoubleTu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final DoubleLongDoubleTuple tuple, in return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongDoubleTu return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongDoubleTu protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongDoubleTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new DoubleLongDoubleTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeDoubleColumnTupleSource( + return new DoubleInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantFloatColumnTupleSource.java index b793ce71942..8e9590364b4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantFloatColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeFloatColumnTupleSource( + public DoubleInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public DoubleDateTimeFloatColumnTupleSource( public final DoubleLongFloatTuple createTuple(final long rowKey) { return new DoubleLongFloatTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -57,7 +57,7 @@ public final DoubleLongFloatTuple createTuple(final long rowKey) { public final DoubleLongFloatTuple createPreviousTuple(final long rowKey) { return new DoubleLongFloatTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -66,7 +66,7 @@ public final DoubleLongFloatTuple createPreviousTuple(final long rowKey) { public final DoubleLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongFloatTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -75,7 +75,7 @@ public final DoubleLongFloatTuple createTupleFromValues(@NotNull final Object... public final DoubleLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongFloatTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongFloatTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongFloatTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongFloatTup return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongFloatTup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongFloatTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new DoubleLongFloatTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeFloatColumnTupleSource( + return new DoubleInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantInstantColumnTupleSource.java index 1b2f1141bf3..d0ab180081b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public DoubleDateTimeDateTimeColumnTupleSource( + public DoubleInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,8 +47,8 @@ public DoubleDateTimeDateTimeColumnTupleSource( public final DoubleLongLongTuple createTuple(final long rowKey) { return new DoubleLongLongTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,8 +56,8 @@ public final DoubleLongLongTuple createTuple(final long rowKey) { public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { return new DoubleLongLongTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,8 +65,8 @@ public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,8 +74,8 @@ public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... public final DoubleLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final DoubleLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final DoubleLongLongTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,10 +117,10 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongLongTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongLongTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeDateTimeColumnTupleSource( + return new DoubleInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantIntegerColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantIntegerColumnTupleSource.java index 4b0d7e40a4d..a69f2e95000 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantIntegerColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeIntegerColumnTupleSource( + public DoubleInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public DoubleDateTimeIntegerColumnTupleSource( public final DoubleLongIntTuple createTuple(final long rowKey) { return new DoubleLongIntTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -57,7 +57,7 @@ public final DoubleLongIntTuple createTuple(final long rowKey) { public final DoubleLongIntTuple createPreviousTuple(final long rowKey) { return new DoubleLongIntTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -66,7 +66,7 @@ public final DoubleLongIntTuple createPreviousTuple(final long rowKey) { public final DoubleLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongIntTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -75,7 +75,7 @@ public final DoubleLongIntTuple createTupleFromValues(@NotNull final Object... v public final DoubleLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongIntTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongIntTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongIntTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongIntTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongIntTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongIntTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new DoubleLongIntTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeIntegerColumnTupleSource( + return new DoubleInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantLongColumnTupleSource.java index aec641e4110..0ae5350c8ca 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantLongColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeLongColumnTupleSource( + public DoubleInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public DoubleDateTimeLongColumnTupleSource( public final DoubleLongLongTuple createTuple(final long rowKey) { return new DoubleLongLongTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final DoubleLongLongTuple createTuple(final long rowKey) { public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { return new DoubleLongLongTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,7 +66,7 @@ public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -75,7 +75,7 @@ public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... public final DoubleLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongLongTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongLongTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongLongTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new DoubleLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeLongColumnTupleSource( + return new DoubleInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantObjectColumnTupleSource.java index 30d92a60191..710e8171fb6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantObjectColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeObjectColumnTupleSource( + public DoubleInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public DoubleDateTimeObjectColumnTupleSource( public final DoubleLongObjectTuple createTuple(final long rowKey) { return new DoubleLongObjectTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -56,7 +56,7 @@ public final DoubleLongObjectTuple createTuple(final long rowKey) { public final DoubleLongObjectTuple createPreviousTuple(final long rowKey) { return new DoubleLongObjectTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -65,7 +65,7 @@ public final DoubleLongObjectTuple createPreviousTuple(final long rowKey) { public final DoubleLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongObjectTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -74,7 +74,7 @@ public final DoubleLongObjectTuple createTupleFromValues(@NotNull final Object.. public final DoubleLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongObjectTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final DoubleLongObjectTu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final DoubleLongObjectTuple tuple, in return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongObjectTu return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongObjectTu protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongObjectTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new DoubleLongObjectTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeObjectColumnTupleSource( + return new DoubleInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantReinterpretedBooleanColumnTupleSource.java index 1a1c077514e..212b9596e14 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantReinterpretedBooleanColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeReinterpretedBooleanColumnTupleSource( + public DoubleInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public DoubleDateTimeReinterpretedBooleanColumnTupleSource( public final DoubleLongByteTuple createTuple(final long rowKey) { return new DoubleLongByteTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -58,7 +58,7 @@ public final DoubleLongByteTuple createTuple(final long rowKey) { public final DoubleLongByteTuple createPreviousTuple(final long rowKey) { return new DoubleLongByteTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -67,7 +67,7 @@ public final DoubleLongByteTuple createPreviousTuple(final long rowKey) { public final DoubleLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongByteTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -76,7 +76,7 @@ public final DoubleLongByteTuple createTupleFromValues(@NotNull final Object... public final DoubleLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongByteTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final DoubleLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final DoubleLongByteTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongByteTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongByteTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new DoubleLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeReinterpretedBooleanColumnTupleSource( + return new DoubleInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantReinterpretedInstantColumnTupleSource.java index bc95902a3c1..4320542427a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantReinterpretedInstantColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeReinterpretedDateTimeColumnTupleSource( + public DoubleInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public DoubleDateTimeReinterpretedDateTimeColumnTupleSource( public final DoubleLongLongTuple createTuple(final long rowKey) { return new DoubleLongLongTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final DoubleLongLongTuple createTuple(final long rowKey) { public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { return new DoubleLongLongTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,8 +66,8 @@ public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... public final DoubleLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final DoubleLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final DoubleLongLongTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongLongTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongLongTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new DoubleLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeReinterpretedDateTimeColumnTupleSource( + return new DoubleInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantShortColumnTupleSource.java index 5f69c2f4799..c451a1d1ebc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleInstantShortColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class DoubleInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleDateTimeShortColumnTupleSource( + public DoubleInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public DoubleDateTimeShortColumnTupleSource( public final DoubleLongShortTuple createTuple(final long rowKey) { return new DoubleLongShortTuple( columnSource1.getDouble(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -57,7 +57,7 @@ public final DoubleLongShortTuple createTuple(final long rowKey) { public final DoubleLongShortTuple createPreviousTuple(final long rowKey) { return new DoubleLongShortTuple( columnSource1.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -66,7 +66,7 @@ public final DoubleLongShortTuple createPreviousTuple(final long rowKey) { public final DoubleLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongShortTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -75,7 +75,7 @@ public final DoubleLongShortTuple createTupleFromValues(@NotNull final Object... public final DoubleLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new DoubleLongShortTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongShortTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongShortTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongShortTup return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongShortTup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongShortTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new DoubleLongShortTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleDateTimeShortColumnTupleSource( + return new DoubleInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerInstantColumnTupleSource.java index 5e16c35cf33..e556a827a9b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleIntegerDateTimeColumnTupleSource( + public DoubleIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final DoubleIntLongTuple createTuple(final long rowKey) { return new DoubleIntLongTuple( columnSource1.getDouble(rowKey), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final DoubleIntLongTuple createPreviousTuple(final long rowKey) { return new DoubleIntLongTuple( columnSource1.getPrevDouble(rowKey), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final DoubleIntLongTuple createTupleFromValues(@NotNull final Object... v return new DoubleIntLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final DoubleIntLongTuple createTupleFromReinterpretedValues(@NotNull fina return new DoubleIntLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleIntLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleIntLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleIntLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleIntegerDateTimeColumnTupleSource( + return new DoubleIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerReinterpretedInstantColumnTupleSource.java index 689e3e7d112..954a53b9cf3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleIntegerReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleIntegerReinterpretedDateTimeColumnTupleSource( + public DoubleIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final DoubleIntLongTuple createTupleFromValues(@NotNull final Object... v return new DoubleIntLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleIntLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleIntLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleIntegerReinterpretedDateTimeColumnTupleSource( + return new DoubleIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongInstantColumnTupleSource.java index bdd372c8d72..1c09629c7c9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleLongDateTimeColumnTupleSource( + public DoubleLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final DoubleLongLongTuple createTuple(final long rowKey) { return new DoubleLongLongTuple( columnSource1.getDouble(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { return new DoubleLongLongTuple( columnSource1.getPrevDouble(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final DoubleLongLongTuple createTupleFromReinterpretedValues(@NotNull fin return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleLongLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleLongLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleLongDateTimeColumnTupleSource( + return new DoubleLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongReinterpretedInstantColumnTupleSource.java index 1d2d5e5311b..1ccb50020a9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleLongReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleLongReinterpretedDateTimeColumnTupleSource( + public DoubleLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final DoubleLongLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final DoubleLongLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleLongReinterpretedDateTimeColumnTupleSource( + return new DoubleLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectInstantColumnTupleSource.java index c50cbb1bb29..4041f77f5b0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleObjectDateTimeColumnTupleSource( + public DoubleObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final DoubleObjectLongTuple createTuple(final long rowKey) { return new DoubleObjectLongTuple( columnSource1.getDouble(rowKey), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final DoubleObjectLongTuple createPreviousTuple(final long rowKey) { return new DoubleObjectLongTuple( columnSource1.getPrevDouble(rowKey), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final DoubleObjectLongTuple createTupleFromValues(@NotNull final Object.. return new DoubleObjectLongTuple( TypeUtils.unbox((Double)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final DoubleObjectLongTuple createTupleFromReinterpretedValues(@NotNull f return new DoubleObjectLongTuple( TypeUtils.unbox((Double)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final DoubleObjectLongTu return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final DoubleObjectLongTuple tuple, in return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleObjectLongTu return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleObjectDateTimeColumnTupleSource( + return new DoubleObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectReinterpretedInstantColumnTupleSource.java index 5a2f221a8a2..38f1a839198 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleObjectReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleObjectReinterpretedDateTimeColumnTupleSource( + public DoubleObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final DoubleObjectLongTuple createTupleFromValues(@NotNull final Object.. return new DoubleObjectLongTuple( TypeUtils.unbox((Double)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleObjectLongTu return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleObjectLongTuple tuple, in return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleObjectReinterpretedDateTimeColumnTupleSource( + return new DoubleObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanInstantColumnTupleSource.java index 9eee37adcbd..2a51b38cfd5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleReinterpretedBooleanDateTimeColumnTupleSource( + public DoubleReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final DoubleByteLongTuple createTuple(final long rowKey) { return new DoubleByteLongTuple( columnSource1.getDouble(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final DoubleByteLongTuple createPreviousTuple(final long rowKey) { return new DoubleByteLongTuple( columnSource1.getPrevDouble(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final DoubleByteLongTuple createTupleFromValues(@NotNull final Object... return new DoubleByteLongTuple( TypeUtils.unbox((Double)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final DoubleByteLongTuple createTupleFromReinterpretedValues(@NotNull fin return new DoubleByteLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final DoubleByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final DoubleByteLongTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleByteLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedBooleanDateTimeColumnTupleSource( + return new DoubleReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index 83fb85b3212..8805c807a82 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public DoubleReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final DoubleByteLongTuple createTupleFromValues(@NotNull final Object... return new DoubleByteLongTuple( TypeUtils.unbox((Double)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final DoubleByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final DoubleByteLongTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new DoubleReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantBooleanColumnTupleSource.java index be458c1ce6c..48e6f4f951e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeBooleanColumnTupleSource( + public DoubleReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final DoubleLongByteTuple createPreviousTuple(final long rowKey) { public final DoubleLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongByteTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final DoubleLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final DoubleLongByteTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeBooleanColumnTupleSource( + return new DoubleReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantByteColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantByteColumnTupleSource.java index 0b4a0f9f335..79e0ed779b2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeByteColumnTupleSource( + public DoubleReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final DoubleLongByteTuple createPreviousTuple(final long rowKey) { public final DoubleLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongByteTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongByteTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeByteColumnTupleSource( + return new DoubleReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantCharacterColumnTupleSource.java index a406bdcd962..78e5c34c044 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeCharacterColumnTupleSource( + public DoubleReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final DoubleLongCharTuple createPreviousTuple(final long rowKey) { public final DoubleLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongCharTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongCharTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongCharTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeCharacterColumnTupleSource( + return new DoubleReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantColumnTupleSource.java index 319d15b89ae..276a29009a2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DoubleReinterpretedDateTimeColumnTupleSource( + public DoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -60,7 +60,7 @@ public final DoubleLongTuple createPreviousTuple(final long rowKey) { public final DoubleLongTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final DoubleLongTuple tu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final DoubleLongTuple tuple, int elem return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DoubleReinterpretedDateTimeColumnTupleSource( + return new DoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantDoubleColumnTupleSource.java index f7888ad134a..310eb39146a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantDoubleColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeDoubleColumnTupleSource( + public DoubleReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final DoubleLongDoubleTuple createPreviousTuple(final long rowKey) { public final DoubleLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongDoubleTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final DoubleLongDoubleTu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final DoubleLongDoubleTuple tuple, in return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeDoubleColumnTupleSource( + return new DoubleReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantFloatColumnTupleSource.java index 8066c050639..602d8483f17 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeFloatColumnTupleSource( + public DoubleReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final DoubleLongFloatTuple createPreviousTuple(final long rowKey) { public final DoubleLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongFloatTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongFloatTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongFloatTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeFloatColumnTupleSource( + return new DoubleReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantInstantColumnTupleSource.java index e08cc3a9bcf..32a2f5143c3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeDateTimeColumnTupleSource( + public DoubleReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final DoubleLongLongTuple createTuple(final long rowKey) { return new DoubleLongLongTuple( columnSource1.getDouble(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { return new DoubleLongLongTuple( columnSource1.getPrevDouble(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,8 +66,8 @@ public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final DoubleLongLongTuple createTupleFromReinterpretedValues(@NotNull fin return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final DoubleLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final DoubleLongLongTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleLongLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeDateTimeColumnTupleSource( + return new DoubleReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantIntegerColumnTupleSource.java index 50e4190fee2..006bdc405d7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeIntegerColumnTupleSource( + public DoubleReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final DoubleLongIntTuple createPreviousTuple(final long rowKey) { public final DoubleLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongIntTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongIntTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongIntTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeIntegerColumnTupleSource( + return new DoubleReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantLongColumnTupleSource.java index 824aea1f86e..8926aef03e8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeLongColumnTupleSource( + public DoubleReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final DoubleLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final DoubleLongLongTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeLongColumnTupleSource( + return new DoubleReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantObjectColumnTupleSource.java index 6d9a4bf1b9c..f31a4c8d6e2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeObjectColumnTupleSource( + public DoubleReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final DoubleLongObjectTuple createPreviousTuple(final long rowKey) { public final DoubleLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongObjectTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongObjectTu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongObjectTuple tuple, in return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeObjectColumnTupleSource( + return new DoubleReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index 72aeb6e95a7..faf2cbdb84d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public DoubleReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final DoubleLongByteTuple createPreviousTuple(final long rowKey) { public final DoubleLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongByteTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final DoubleLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final DoubleLongByteTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new DoubleReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantReinterpretedInstantColumnTupleSource.java index 232ef123890..cb061cd00ee 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public DoubleReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,8 +65,8 @@ public final DoubleLongLongTuple createPreviousTuple(final long rowKey) { public final DoubleLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongLongTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final DoubleLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final DoubleLongLongTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new DoubleReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantShortColumnTupleSource.java index 240771c5a20..75a2d5e4041 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleReinterpretedInstantShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class DoubleReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleReinterpretedDateTimeShortColumnTupleSource( + public DoubleReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final DoubleLongShortTuple createPreviousTuple(final long rowKey) { public final DoubleLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new DoubleLongShortTuple( TypeUtils.unbox((Double)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final DoubleLongShortTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final DoubleLongShortTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleReinterpretedDateTimeShortColumnTupleSource( + return new DoubleReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortInstantColumnTupleSource.java index c1cf66eb89e..f1a909d3b48 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DoubleShortDateTimeColumnTupleSource( + public DoubleShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final DoubleShortLongTuple createTuple(final long rowKey) { return new DoubleShortLongTuple( columnSource1.getDouble(rowKey), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final DoubleShortLongTuple createPreviousTuple(final long rowKey) { return new DoubleShortLongTuple( columnSource1.getPrevDouble(rowKey), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final DoubleShortLongTuple createTupleFromValues(@NotNull final Object... return new DoubleShortLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final DoubleShortLongTuple createTupleFromReinterpretedValues(@NotNull fi return new DoubleShortLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleShortLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleShortLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final DoubleShortLongTup return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); DoubleChunk chunk1 = chunks[0].asDoubleChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new DoubleShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new DoubleShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DoubleShortDateTimeColumnTupleSource( + return new DoubleShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortReinterpretedInstantColumnTupleSource.java index 618c54339c7..f93a4accb23 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DoubleShortReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.DoubleShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Double, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DoubleShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class DoubleShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DoubleShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DoubleShortReinterpretedDateTimeColumnTupleSource( + public DoubleShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final DoubleShortLongTuple createTupleFromValues(@NotNull final Object... return new DoubleShortLongTuple( TypeUtils.unbox((Double)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final DoubleShortLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final DoubleShortLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DoubleShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DoubleShortReinterpretedDateTimeColumnTupleSource( + return new DoubleShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanInstantColumnTupleSource.java index 3e3af1e1494..a5fd29ce4c0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatBooleanDateTimeColumnTupleSource( + public FloatBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final FloatByteLongTuple createTuple(final long rowKey) { return new FloatByteLongTuple( columnSource1.getFloat(rowKey), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final FloatByteLongTuple createPreviousTuple(final long rowKey) { return new FloatByteLongTuple( columnSource1.getPrevFloat(rowKey), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final FloatByteLongTuple createTupleFromValues(@NotNull final Object... v return new FloatByteLongTuple( TypeUtils.unbox((Float)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final FloatByteLongTuple createTupleFromReinterpretedValues(@NotNull fina return new FloatByteLongTuple( TypeUtils.unbox((Float)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatByteLongTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatByteLongTuple return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatBooleanDateTimeColumnTupleSource( + return new FloatBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanReinterpretedInstantColumnTupleSource.java index 429f5975af9..f8ae92eb825 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatBooleanReinterpretedDateTimeColumnTupleSource( + public FloatBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final FloatByteLongTuple createTupleFromValues(@NotNull final Object... v return new FloatByteLongTuple( TypeUtils.unbox((Float)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final FloatByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final FloatByteLongTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatBooleanReinterpretedDateTimeColumnTupleSource( + return new FloatBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteInstantColumnTupleSource.java index 27c23084b87..f163a843d07 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatByteDateTimeColumnTupleSource( + public FloatByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final FloatByteLongTuple createTuple(final long rowKey) { return new FloatByteLongTuple( columnSource1.getFloat(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final FloatByteLongTuple createPreviousTuple(final long rowKey) { return new FloatByteLongTuple( columnSource1.getPrevFloat(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final FloatByteLongTuple createTupleFromValues(@NotNull final Object... v return new FloatByteLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final FloatByteLongTuple createTupleFromReinterpretedValues(@NotNull fina return new FloatByteLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatByteLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatByteDateTimeColumnTupleSource( + return new FloatByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteReinterpretedInstantColumnTupleSource.java index a18923e450f..bfc3dec6bbf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatByteReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatByteReinterpretedDateTimeColumnTupleSource( + public FloatByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final FloatByteLongTuple createTupleFromValues(@NotNull final Object... v return new FloatByteLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatByteLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatByteReinterpretedDateTimeColumnTupleSource( + return new FloatByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterInstantColumnTupleSource.java index dbee5d50d01..20605a473cb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatCharacterDateTimeColumnTupleSource( + public FloatCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final FloatCharLongTuple createTuple(final long rowKey) { return new FloatCharLongTuple( columnSource1.getFloat(rowKey), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final FloatCharLongTuple createPreviousTuple(final long rowKey) { return new FloatCharLongTuple( columnSource1.getPrevFloat(rowKey), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final FloatCharLongTuple createTupleFromValues(@NotNull final Object... v return new FloatCharLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final FloatCharLongTuple createTupleFromReinterpretedValues(@NotNull fina return new FloatCharLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatCharLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatCharLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatCharacterDateTimeColumnTupleSource( + return new FloatCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterReinterpretedInstantColumnTupleSource.java index 20dddbebe2c..a759ac3671f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatCharacterReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatCharacterReinterpretedDateTimeColumnTupleSource( + public FloatCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final FloatCharLongTuple createTupleFromValues(@NotNull final Object... v return new FloatCharLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatCharLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatCharacterReinterpretedDateTimeColumnTupleSource( + return new FloatCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleInstantColumnTupleSource.java index 465c47688b3..5bd6565a11d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatDoubleDateTimeColumnTupleSource( + public FloatDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final FloatDoubleLongTuple createTuple(final long rowKey) { return new FloatDoubleLongTuple( columnSource1.getFloat(rowKey), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final FloatDoubleLongTuple createPreviousTuple(final long rowKey) { return new FloatDoubleLongTuple( columnSource1.getPrevFloat(rowKey), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final FloatDoubleLongTuple createTupleFromValues(@NotNull final Object... return new FloatDoubleLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final FloatDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fi return new FloatDoubleLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatDoubleLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatDoubleLongTup return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatDoubleDateTimeColumnTupleSource( + return new FloatDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleReinterpretedInstantColumnTupleSource.java index 258a972ae98..1c099f7b3a7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDoubleReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDoubleReinterpretedDateTimeColumnTupleSource( + public FloatDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final FloatDoubleLongTuple createTupleFromValues(@NotNull final Object... return new FloatDoubleLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatDoubleLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDoubleReinterpretedDateTimeColumnTupleSource( + return new FloatDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatInstantColumnTupleSource.java index 5908956b56e..06c3b0fc708 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatFloatDateTimeColumnTupleSource( + public FloatFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final FloatFloatLongTuple createTuple(final long rowKey) { return new FloatFloatLongTuple( columnSource1.getFloat(rowKey), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final FloatFloatLongTuple createPreviousTuple(final long rowKey) { return new FloatFloatLongTuple( columnSource1.getPrevFloat(rowKey), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final FloatFloatLongTuple createTupleFromValues(@NotNull final Object... return new FloatFloatLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final FloatFloatLongTuple createTupleFromReinterpretedValues(@NotNull fin return new FloatFloatLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final FloatFloatLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final FloatFloatLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatFloatLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatFloatDateTimeColumnTupleSource( + return new FloatFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatReinterpretedInstantColumnTupleSource.java index 7cbb4d69e1f..815e550ad92 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatFloatReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatFloatReinterpretedDateTimeColumnTupleSource( + public FloatFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final FloatFloatLongTuple createTupleFromValues(@NotNull final Object... return new FloatFloatLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final FloatFloatLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final FloatFloatLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatFloatReinterpretedDateTimeColumnTupleSource( + return new FloatFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantBooleanColumnTupleSource.java index 562a133475e..832ff8cb631 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class FloatInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeBooleanColumnTupleSource( + public FloatInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public FloatDateTimeBooleanColumnTupleSource( public final FloatLongByteTuple createTuple(final long rowKey) { return new FloatLongByteTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -57,7 +57,7 @@ public final FloatLongByteTuple createTuple(final long rowKey) { public final FloatLongByteTuple createPreviousTuple(final long rowKey) { return new FloatLongByteTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -66,7 +66,7 @@ public final FloatLongByteTuple createPreviousTuple(final long rowKey) { public final FloatLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongByteTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final FloatLongByteTuple createTupleFromValues(@NotNull final Object... v public final FloatLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongByteTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeBooleanColumnTupleSource( + return new FloatInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantByteColumnTupleSource.java index 96c30c2c85d..1d447f68b05 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantByteColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class FloatInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeByteColumnTupleSource( + public FloatInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public FloatDateTimeByteColumnTupleSource( public final FloatLongByteTuple createTuple(final long rowKey) { return new FloatLongByteTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final FloatLongByteTuple createTuple(final long rowKey) { public final FloatLongByteTuple createPreviousTuple(final long rowKey) { return new FloatLongByteTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final FloatLongByteTuple createPreviousTuple(final long rowKey) { public final FloatLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongByteTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -75,7 +75,7 @@ public final FloatLongByteTuple createTupleFromValues(@NotNull final Object... v public final FloatLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongByteTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new FloatLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeByteColumnTupleSource( + return new FloatInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantCharacterColumnTupleSource.java index 3bee529ddbe..d1b7b62ff11 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantCharacterColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class FloatInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeCharacterColumnTupleSource( + public FloatInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public FloatDateTimeCharacterColumnTupleSource( public final FloatLongCharTuple createTuple(final long rowKey) { return new FloatLongCharTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -57,7 +57,7 @@ public final FloatLongCharTuple createTuple(final long rowKey) { public final FloatLongCharTuple createPreviousTuple(final long rowKey) { return new FloatLongCharTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -66,7 +66,7 @@ public final FloatLongCharTuple createPreviousTuple(final long rowKey) { public final FloatLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongCharTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -75,7 +75,7 @@ public final FloatLongCharTuple createTupleFromValues(@NotNull final Object... v public final FloatLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongCharTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongCharTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongCharTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongCharTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongCharTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new FloatLongCharTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeCharacterColumnTupleSource( + return new FloatInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantColumnTupleSource.java similarity index 78% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantColumnTupleSource.java index 88be9e35dce..1748bb27f4f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link FloatInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public FloatDateTimeColumnTupleSource( + public FloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -44,7 +44,7 @@ public FloatDateTimeColumnTupleSource( public final FloatLongTuple createTuple(final long rowKey) { return new FloatLongTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -52,7 +52,7 @@ public final FloatLongTuple createTuple(final long rowKey) { public final FloatLongTuple createPreviousTuple(final long rowKey) { return new FloatLongTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @@ -60,7 +60,7 @@ public final FloatLongTuple createPreviousTuple(final long rowKey) { public final FloatLongTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -68,7 +68,7 @@ public final FloatLongTuple createTupleFromValues(@NotNull final Object... value public final FloatLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final FloatLongTuple tup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final FloatLongTuple tuple, int eleme return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -103,7 +103,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongTuple tup return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -111,15 +111,15 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongTuple tup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new FloatLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link FloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link FloatInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -127,9 +127,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new FloatDateTimeColumnTupleSource( + return new FloatInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantDoubleColumnTupleSource.java index eef908e5616..21343bcf5f8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantDoubleColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class FloatInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeDoubleColumnTupleSource( + public FloatInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public FloatDateTimeDoubleColumnTupleSource( public final FloatLongDoubleTuple createTuple(final long rowKey) { return new FloatLongDoubleTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -57,7 +57,7 @@ public final FloatLongDoubleTuple createTuple(final long rowKey) { public final FloatLongDoubleTuple createPreviousTuple(final long rowKey) { return new FloatLongDoubleTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -66,7 +66,7 @@ public final FloatLongDoubleTuple createPreviousTuple(final long rowKey) { public final FloatLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongDoubleTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -75,7 +75,7 @@ public final FloatLongDoubleTuple createTupleFromValues(@NotNull final Object... public final FloatLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongDoubleTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongDoubleTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongDoubleTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongDoubleTup return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongDoubleTup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongDoubleTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new FloatLongDoubleTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeDoubleColumnTupleSource( + return new FloatInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantFloatColumnTupleSource.java index db9ef89abc4..4ff51bf43cf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantFloatColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class FloatInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeFloatColumnTupleSource( + public FloatInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public FloatDateTimeFloatColumnTupleSource( public final FloatLongFloatTuple createTuple(final long rowKey) { return new FloatLongFloatTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -56,7 +56,7 @@ public final FloatLongFloatTuple createTuple(final long rowKey) { public final FloatLongFloatTuple createPreviousTuple(final long rowKey) { return new FloatLongFloatTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -65,7 +65,7 @@ public final FloatLongFloatTuple createPreviousTuple(final long rowKey) { public final FloatLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongFloatTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -74,7 +74,7 @@ public final FloatLongFloatTuple createTupleFromValues(@NotNull final Object... public final FloatLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongFloatTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final FloatLongFloatTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final FloatLongFloatTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongFloatTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongFloatTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongFloatTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new FloatLongFloatTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeFloatColumnTupleSource( + return new FloatInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantInstantColumnTupleSource.java index 13c56fcb4bd..4dcf825f250 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public FloatDateTimeDateTimeColumnTupleSource( + public FloatInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,8 +47,8 @@ public FloatDateTimeDateTimeColumnTupleSource( public final FloatLongLongTuple createTuple(final long rowKey) { return new FloatLongLongTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,8 +56,8 @@ public final FloatLongLongTuple createTuple(final long rowKey) { public final FloatLongLongTuple createPreviousTuple(final long rowKey) { return new FloatLongLongTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,8 +65,8 @@ public final FloatLongLongTuple createPreviousTuple(final long rowKey) { public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,8 +74,8 @@ public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... v public final FloatLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final FloatLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final FloatLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,10 +117,10 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeDateTimeColumnTupleSource( + return new FloatInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantIntegerColumnTupleSource.java index 6fe42aef51d..1ffacced1c8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantIntegerColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class FloatInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeIntegerColumnTupleSource( + public FloatInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public FloatDateTimeIntegerColumnTupleSource( public final FloatLongIntTuple createTuple(final long rowKey) { return new FloatLongIntTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -57,7 +57,7 @@ public final FloatLongIntTuple createTuple(final long rowKey) { public final FloatLongIntTuple createPreviousTuple(final long rowKey) { return new FloatLongIntTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -66,7 +66,7 @@ public final FloatLongIntTuple createPreviousTuple(final long rowKey) { public final FloatLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongIntTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -75,7 +75,7 @@ public final FloatLongIntTuple createTupleFromValues(@NotNull final Object... va public final FloatLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongIntTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongIntTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongIntTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongIntTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongIntTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongIntTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new FloatLongIntTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeIntegerColumnTupleSource( + return new FloatInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantLongColumnTupleSource.java index 41f4d79c17e..80fe5b0198d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantLongColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class FloatInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeLongColumnTupleSource( + public FloatInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public FloatDateTimeLongColumnTupleSource( public final FloatLongLongTuple createTuple(final long rowKey) { return new FloatLongLongTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final FloatLongLongTuple createTuple(final long rowKey) { public final FloatLongLongTuple createPreviousTuple(final long rowKey) { return new FloatLongLongTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,7 +66,7 @@ public final FloatLongLongTuple createPreviousTuple(final long rowKey) { public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -75,7 +75,7 @@ public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... v public final FloatLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new FloatLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeLongColumnTupleSource( + return new FloatInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantObjectColumnTupleSource.java index 56d7e20f0e2..77b369fe1ab 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantObjectColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class FloatInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeObjectColumnTupleSource( + public FloatInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public FloatDateTimeObjectColumnTupleSource( public final FloatLongObjectTuple createTuple(final long rowKey) { return new FloatLongObjectTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -56,7 +56,7 @@ public final FloatLongObjectTuple createTuple(final long rowKey) { public final FloatLongObjectTuple createPreviousTuple(final long rowKey) { return new FloatLongObjectTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -65,7 +65,7 @@ public final FloatLongObjectTuple createPreviousTuple(final long rowKey) { public final FloatLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongObjectTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -74,7 +74,7 @@ public final FloatLongObjectTuple createTupleFromValues(@NotNull final Object... public final FloatLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongObjectTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final FloatLongObjectTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final FloatLongObjectTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongObjectTup return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongObjectTup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongObjectTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new FloatLongObjectTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeObjectColumnTupleSource( + return new FloatInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantReinterpretedBooleanColumnTupleSource.java index b269bae0a55..e936a565c23 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantReinterpretedBooleanColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class FloatInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeReinterpretedBooleanColumnTupleSource( + public FloatInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public FloatDateTimeReinterpretedBooleanColumnTupleSource( public final FloatLongByteTuple createTuple(final long rowKey) { return new FloatLongByteTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -58,7 +58,7 @@ public final FloatLongByteTuple createTuple(final long rowKey) { public final FloatLongByteTuple createPreviousTuple(final long rowKey) { return new FloatLongByteTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -67,7 +67,7 @@ public final FloatLongByteTuple createPreviousTuple(final long rowKey) { public final FloatLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongByteTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -76,7 +76,7 @@ public final FloatLongByteTuple createTupleFromValues(@NotNull final Object... v public final FloatLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongByteTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final FloatLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final FloatLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new FloatLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeReinterpretedBooleanColumnTupleSource( + return new FloatInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantReinterpretedInstantColumnTupleSource.java index 7e3970120f7..f243f39d855 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantReinterpretedInstantColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeReinterpretedDateTimeColumnTupleSource( + public FloatInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public FloatDateTimeReinterpretedDateTimeColumnTupleSource( public final FloatLongLongTuple createTuple(final long rowKey) { return new FloatLongLongTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final FloatLongLongTuple createTuple(final long rowKey) { public final FloatLongLongTuple createPreviousTuple(final long rowKey) { return new FloatLongLongTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,8 +66,8 @@ public final FloatLongLongTuple createPreviousTuple(final long rowKey) { public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... v public final FloatLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final FloatLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final FloatLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new FloatLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeReinterpretedDateTimeColumnTupleSource( + return new FloatInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantShortColumnTupleSource.java index 7339b3acf54..02b328221f8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatInstantShortColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class FloatInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatDateTimeShortColumnTupleSource( + public FloatInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public FloatDateTimeShortColumnTupleSource( public final FloatLongShortTuple createTuple(final long rowKey) { return new FloatLongShortTuple( columnSource1.getFloat(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -57,7 +57,7 @@ public final FloatLongShortTuple createTuple(final long rowKey) { public final FloatLongShortTuple createPreviousTuple(final long rowKey) { return new FloatLongShortTuple( columnSource1.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -66,7 +66,7 @@ public final FloatLongShortTuple createPreviousTuple(final long rowKey) { public final FloatLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongShortTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -75,7 +75,7 @@ public final FloatLongShortTuple createTupleFromValues(@NotNull final Object... public final FloatLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new FloatLongShortTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongShortTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongShortTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongShortTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongShortTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongShortTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new FloatLongShortTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatDateTimeShortColumnTupleSource( + return new FloatInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerInstantColumnTupleSource.java index ba9dbe2f19a..5e7464ec511 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatIntegerDateTimeColumnTupleSource( + public FloatIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final FloatIntLongTuple createTuple(final long rowKey) { return new FloatIntLongTuple( columnSource1.getFloat(rowKey), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final FloatIntLongTuple createPreviousTuple(final long rowKey) { return new FloatIntLongTuple( columnSource1.getPrevFloat(rowKey), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final FloatIntLongTuple createTupleFromValues(@NotNull final Object... va return new FloatIntLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final FloatIntLongTuple createTupleFromReinterpretedValues(@NotNull final return new FloatIntLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatIntLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatIntLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatIntLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatIntegerDateTimeColumnTupleSource( + return new FloatIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerReinterpretedInstantColumnTupleSource.java index f5822af4a25..f324a769646 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatIntegerReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatIntegerReinterpretedDateTimeColumnTupleSource( + public FloatIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final FloatIntLongTuple createTupleFromValues(@NotNull final Object... va return new FloatIntLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatIntLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatIntLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatIntegerReinterpretedDateTimeColumnTupleSource( + return new FloatIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongInstantColumnTupleSource.java index bc4f4d4fc23..881560394d2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatLongDateTimeColumnTupleSource( + public FloatLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final FloatLongLongTuple createTuple(final long rowKey) { return new FloatLongLongTuple( columnSource1.getFloat(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final FloatLongLongTuple createPreviousTuple(final long rowKey) { return new FloatLongLongTuple( columnSource1.getPrevFloat(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... v return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final FloatLongLongTuple createTupleFromReinterpretedValues(@NotNull fina return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatLongLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatLongDateTimeColumnTupleSource( + return new FloatLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongReinterpretedInstantColumnTupleSource.java index d13d2e90451..28b4488035f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatLongReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatLongReinterpretedDateTimeColumnTupleSource( + public FloatLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... v return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final FloatLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final FloatLongLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatLongReinterpretedDateTimeColumnTupleSource( + return new FloatLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectInstantColumnTupleSource.java index 94ca8cca715..e487262bbf8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatObjectDateTimeColumnTupleSource( + public FloatObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final FloatObjectLongTuple createTuple(final long rowKey) { return new FloatObjectLongTuple( columnSource1.getFloat(rowKey), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final FloatObjectLongTuple createPreviousTuple(final long rowKey) { return new FloatObjectLongTuple( columnSource1.getPrevFloat(rowKey), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final FloatObjectLongTuple createTupleFromValues(@NotNull final Object... return new FloatObjectLongTuple( TypeUtils.unbox((Float)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final FloatObjectLongTuple createTupleFromReinterpretedValues(@NotNull fi return new FloatObjectLongTuple( TypeUtils.unbox((Float)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final FloatObjectLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final FloatObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatObjectLongTup return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatObjectDateTimeColumnTupleSource( + return new FloatObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectReinterpretedInstantColumnTupleSource.java index 8a97bf30251..9380b13a6e1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatObjectReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatObjectReinterpretedDateTimeColumnTupleSource( + public FloatObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final FloatObjectLongTuple createTupleFromValues(@NotNull final Object... return new FloatObjectLongTuple( TypeUtils.unbox((Float)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatObjectLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatObjectReinterpretedDateTimeColumnTupleSource( + return new FloatObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanInstantColumnTupleSource.java index 6cd9924a1f0..dbaa71bcdea 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatReinterpretedBooleanDateTimeColumnTupleSource( + public FloatReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final FloatByteLongTuple createTuple(final long rowKey) { return new FloatByteLongTuple( columnSource1.getFloat(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final FloatByteLongTuple createPreviousTuple(final long rowKey) { return new FloatByteLongTuple( columnSource1.getPrevFloat(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final FloatByteLongTuple createTupleFromValues(@NotNull final Object... v return new FloatByteLongTuple( TypeUtils.unbox((Float)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final FloatByteLongTuple createTupleFromReinterpretedValues(@NotNull fina return new FloatByteLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final FloatByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final FloatByteLongTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedBooleanDateTimeColumnTupleSource( + return new FloatReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index 3e5975062df..fae8ae59056 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public FloatReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final FloatByteLongTuple createTupleFromValues(@NotNull final Object... v return new FloatByteLongTuple( TypeUtils.unbox((Float)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final FloatByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final FloatByteLongTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new FloatReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantBooleanColumnTupleSource.java index c8445d11739..6afecf8b618 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeBooleanColumnTupleSource( + public FloatReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final FloatLongByteTuple createPreviousTuple(final long rowKey) { public final FloatLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongByteTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final FloatLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final FloatLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeBooleanColumnTupleSource( + return new FloatReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantByteColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantByteColumnTupleSource.java index 5314d902c58..34d7e994fc9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeByteColumnTupleSource( + public FloatReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final FloatLongByteTuple createPreviousTuple(final long rowKey) { public final FloatLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongByteTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeByteColumnTupleSource( + return new FloatReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantCharacterColumnTupleSource.java index e01385f65ef..0aef702d7f0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeCharacterColumnTupleSource( + public FloatReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final FloatLongCharTuple createPreviousTuple(final long rowKey) { public final FloatLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongCharTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongCharTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeCharacterColumnTupleSource( + return new FloatReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantColumnTupleSource.java index ed52706310e..b97028c2153 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public FloatReinterpretedDateTimeColumnTupleSource( + public FloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -60,7 +60,7 @@ public final FloatLongTuple createPreviousTuple(final long rowKey) { public final FloatLongTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final FloatLongTuple tup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final FloatLongTuple tuple, int eleme return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new FloatReinterpretedDateTimeColumnTupleSource( + return new FloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantDoubleColumnTupleSource.java index 86c2632ebd8..1fdb1eb4328 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeDoubleColumnTupleSource( + public FloatReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final FloatLongDoubleTuple createPreviousTuple(final long rowKey) { public final FloatLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongDoubleTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongDoubleTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongDoubleTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeDoubleColumnTupleSource( + return new FloatReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantFloatColumnTupleSource.java index ccfcf0cb057..b42aee5864c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantFloatColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeFloatColumnTupleSource( + public FloatReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final FloatLongFloatTuple createPreviousTuple(final long rowKey) { public final FloatLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongFloatTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final FloatLongFloatTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final FloatLongFloatTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeFloatColumnTupleSource( + return new FloatReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantInstantColumnTupleSource.java index 7e0227bb594..da928f8fa04 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeDateTimeColumnTupleSource( + public FloatReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final FloatLongLongTuple createTuple(final long rowKey) { return new FloatLongLongTuple( columnSource1.getFloat(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final FloatLongLongTuple createPreviousTuple(final long rowKey) { return new FloatLongLongTuple( columnSource1.getPrevFloat(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,8 +66,8 @@ public final FloatLongLongTuple createPreviousTuple(final long rowKey) { public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final FloatLongLongTuple createTupleFromReinterpretedValues(@NotNull fina return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final FloatLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final FloatLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeDateTimeColumnTupleSource( + return new FloatReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantIntegerColumnTupleSource.java index 98e302a62eb..8a0ae4f0650 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeIntegerColumnTupleSource( + public FloatReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final FloatLongIntTuple createPreviousTuple(final long rowKey) { public final FloatLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongIntTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongIntTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongIntTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeIntegerColumnTupleSource( + return new FloatReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantLongColumnTupleSource.java index 4c54d8461c9..4572ca89b97 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeLongColumnTupleSource( + public FloatReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final FloatLongLongTuple createPreviousTuple(final long rowKey) { public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final FloatLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final FloatLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeLongColumnTupleSource( + return new FloatReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantObjectColumnTupleSource.java index d7fa9419a11..91249505f3d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeObjectColumnTupleSource( + public FloatReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final FloatLongObjectTuple createPreviousTuple(final long rowKey) { public final FloatLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongObjectTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongObjectTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongObjectTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeObjectColumnTupleSource( + return new FloatReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index 3d9067eb60b..77b71b5accc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public FloatReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final FloatLongByteTuple createPreviousTuple(final long rowKey) { public final FloatLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongByteTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final FloatLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final FloatLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new FloatReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantReinterpretedInstantColumnTupleSource.java index 6660fd3221d..d3201c456ea 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public FloatReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,8 +65,8 @@ public final FloatLongLongTuple createPreviousTuple(final long rowKey) { public final FloatLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongLongTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final FloatLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final FloatLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new FloatReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantShortColumnTupleSource.java index 614e9a26d31..becd0a34168 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatReinterpretedInstantShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class FloatReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatReinterpretedDateTimeShortColumnTupleSource( + public FloatReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final FloatLongShortTuple createPreviousTuple(final long rowKey) { public final FloatLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new FloatLongShortTuple( TypeUtils.unbox((Float)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final FloatLongShortTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final FloatLongShortTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatReinterpretedDateTimeShortColumnTupleSource( + return new FloatReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortInstantColumnTupleSource.java index 001660978bb..cda91803c79 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public FloatShortDateTimeColumnTupleSource( + public FloatShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final FloatShortLongTuple createTuple(final long rowKey) { return new FloatShortLongTuple( columnSource1.getFloat(rowKey), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final FloatShortLongTuple createPreviousTuple(final long rowKey) { return new FloatShortLongTuple( columnSource1.getPrevFloat(rowKey), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final FloatShortLongTuple createTupleFromValues(@NotNull final Object... return new FloatShortLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final FloatShortLongTuple createTupleFromReinterpretedValues(@NotNull fin return new FloatShortLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatShortLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatShortLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final FloatShortLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); FloatChunk chunk1 = chunks[0].asFloatChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new FloatShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new FloatShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new FloatShortDateTimeColumnTupleSource( + return new FloatShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortReinterpretedInstantColumnTupleSource.java index 5d2a1752277..2feadeed5a9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/FloatShortReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.FloatShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Float, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class FloatShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class FloatShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link FloatShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public FloatShortReinterpretedDateTimeColumnTupleSource( + public FloatShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final FloatShortLongTuple createTupleFromValues(@NotNull final Object... return new FloatShortLongTuple( TypeUtils.unbox((Float)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final FloatShortLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final FloatShortLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link FloatShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new FloatShortReinterpretedDateTimeColumnTupleSource( + return new FloatShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanBooleanColumnTupleSource.java index ec16bf96062..7e7e2fb4bef 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanBooleanColumnTupleSource.java @@ -10,29 +10,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -45,7 +45,7 @@ public DateTimeBooleanBooleanColumnTupleSource( @Override public final LongByteByteTuple createTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -54,7 +54,7 @@ public final LongByteByteTuple createTuple(final long rowKey) { @Override public final LongByteByteTuple createPreviousTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -63,7 +63,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -72,7 +72,7 @@ public final LongByteByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -82,7 +82,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -99,7 +99,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -113,7 +113,7 @@ public final Object exportElement(@NotNull final LongByteByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -127,28 +127,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanBooleanColumnTupleSource( + return new InstantBooleanBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanByteColumnTupleSource.java index e7e807ef842..03ff6367a66 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanByteColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanByteColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeBooleanByteColumnTupleSource( @Override public final LongByteByteTuple createTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteByteTuple createTuple(final long rowKey) { @Override public final LongByteByteTuple createPreviousTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanByteColumnTupleSource( + return new InstantBooleanByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanCharacterColumnTupleSource.java index 86333126c0d..cad91dfb525 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanCharacterColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteCharTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeBooleanCharacterColumnTupleSource( @Override public final LongByteCharTuple createTuple(final long rowKey) { return new LongByteCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), columnSource3.getChar(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteCharTuple createTuple(final long rowKey) { @Override public final LongByteCharTuple createPreviousTuple(final long rowKey) { return new LongByteCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), columnSource3.getPrevChar(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteCharTuple createPreviousTuple(final long rowKey) { @Override public final LongByteCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteCharTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteCharTuple @Override public final Object exportElement(@NotNull final LongByteCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteCharTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteCharTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanCharacterColumnTupleSource( + return new InstantBooleanCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanColumnTupleSource.java index ad178645a99..92afa4d7619 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -42,7 +42,7 @@ public DateTimeBooleanColumnTupleSource( @Override public final LongByteTuple createTuple(final long rowKey) { return new LongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)) ); } @@ -50,7 +50,7 @@ public final LongByteTuple createTuple(final long rowKey) { @Override public final LongByteTuple createPreviousTuple(final long rowKey) { return new LongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)) ); } @@ -58,7 +58,7 @@ public final LongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]) ); } @@ -66,7 +66,7 @@ public final LongByteTuple createTupleFromValues(@NotNull final Object... values @Override public final LongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]) ); } @@ -75,7 +75,7 @@ public final LongByteTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongByteTuple tupl @Override public final Object exportElement(@NotNull final LongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -99,7 +99,7 @@ public final Object exportElement(@NotNull final LongByteTuple tuple, int elemen @Override public final Object exportElementReinterpreted(@NotNull final LongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -109,26 +109,26 @@ public final Object exportElementReinterpreted(@NotNull final LongByteTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new LongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantBooleanColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeBooleanColumnTupleSource( + return new InstantBooleanColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanDoubleColumnTupleSource.java index 9d6df705b5e..28c7746a742 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanDoubleColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteDoubleTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeBooleanDoubleColumnTupleSource( @Override public final LongByteDoubleTuple createTuple(final long rowKey) { return new LongByteDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), columnSource3.getDouble(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteDoubleTuple createTuple(final long rowKey) { @Override public final LongByteDoubleTuple createPreviousTuple(final long rowKey) { return new LongByteDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), columnSource3.getPrevDouble(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongByteDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteDoubleTuple createTupleFromValues(@NotNull final Object... @Override public final LongByteDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteDoubleTupl @Override public final Object exportElement(@NotNull final LongByteDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteDoubleTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongByteDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteDoubleTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanDoubleColumnTupleSource( + return new InstantBooleanDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanFloatColumnTupleSource.java index 728e16e0f42..d22f4560a55 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanFloatColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteFloatTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanFloatColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeBooleanFloatColumnTupleSource( @Override public final LongByteFloatTuple createTuple(final long rowKey) { return new LongByteFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), columnSource3.getFloat(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteFloatTuple createTuple(final long rowKey) { @Override public final LongByteFloatTuple createPreviousTuple(final long rowKey) { return new LongByteFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), columnSource3.getPrevFloat(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongByteFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteFloatTuple createTupleFromValues(@NotNull final Object... v @Override public final LongByteFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteFloatTuple @Override public final Object exportElement(@NotNull final LongByteFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteFloatTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongByteFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteFloatTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanFloatColumnTupleSource( + return new InstantBooleanFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanInstantColumnTupleSource.java index 6cca25e34b4..d2c3ed9f079 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanInstantColumnTupleSource.java @@ -10,31 +10,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeBooleanDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -45,36 +45,36 @@ public DateTimeBooleanDateTimeColumnTupleSource( @Override public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -82,7 +82,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -90,7 +90,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -99,13 +99,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -113,13 +113,13 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -127,28 +127,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanDateTimeColumnTupleSource( + return new InstantBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanIntegerColumnTupleSource.java index 0947a93265a..61026939c36 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanIntegerColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteIntTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeBooleanIntegerColumnTupleSource( @Override public final LongByteIntTuple createTuple(final long rowKey) { return new LongByteIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), columnSource3.getInt(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteIntTuple createTuple(final long rowKey) { @Override public final LongByteIntTuple createPreviousTuple(final long rowKey) { return new LongByteIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), columnSource3.getPrevInt(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteIntTuple createPreviousTuple(final long rowKey) { @Override public final LongByteIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteIntTuple createTupleFromValues(@NotNull final Object... val @Override public final LongByteIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteIntTuple t @Override public final Object exportElement(@NotNull final LongByteIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteIntTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongByteIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteIntTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanIntegerColumnTupleSource( + return new InstantBooleanIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanLongColumnTupleSource.java index 01ad161a338..9493ada5e72 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanLongColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanLongColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeBooleanLongColumnTupleSource( @Override public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { @Override public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), columnSource3.getPrevLong(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteLongTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanLongColumnTupleSource( + return new InstantBooleanLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanObjectColumnTupleSource.java index 7058292e59b..9a2c27ca8bc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanObjectColumnTupleSource.java @@ -10,29 +10,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteObjectTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanObjectColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -45,7 +45,7 @@ public DateTimeBooleanObjectColumnTupleSource( @Override public final LongByteObjectTuple createTuple(final long rowKey) { return new LongByteObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), columnSource3.get(rowKey) ); @@ -54,7 +54,7 @@ public final LongByteObjectTuple createTuple(final long rowKey) { @Override public final LongByteObjectTuple createPreviousTuple(final long rowKey) { return new LongByteObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), columnSource3.getPrev(rowKey) ); @@ -63,7 +63,7 @@ public final LongByteObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongByteObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), values[2] ); @@ -72,7 +72,7 @@ public final LongByteObjectTuple createTupleFromValues(@NotNull final Object... @Override public final LongByteObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), values[2] ); @@ -82,7 +82,7 @@ public final LongByteObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -99,7 +99,7 @@ public final void exportElement(@NotNull final LongByteObjectTupl @Override public final Object exportElement(@NotNull final LongByteObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -113,7 +113,7 @@ public final Object exportElement(@NotNull final LongByteObjectTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongByteObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -127,28 +127,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteObjectTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanObjectColumnTupleSource( + return new InstantBooleanObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanReinterpretedBooleanColumnTupleSource.java index 6108d3838ad..6da6e7dbc36 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanReinterpretedBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeBooleanReinterpretedBooleanColumnTupleSource( @Override public final LongByteByteTuple createTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteByteTuple createTuple(final long rowKey) { @Override public final LongByteByteTuple createPreviousTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanReinterpretedBooleanColumnTupleSource( + return new InstantBooleanReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanReinterpretedInstantColumnTupleSource.java index cfdb97c550a..c2560475366 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanReinterpretedInstantColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeBooleanReinterpretedDateTimeColumnTupleSource( @Override public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { @Override public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), columnSource3.getPrevLong(rowKey) ); @@ -65,16 +65,16 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanReinterpretedDateTimeColumnTupleSource( + return new InstantBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanShortColumnTupleSource.java index 584b962b6b0..d08b3cdbeba 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeBooleanShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantBooleanShortColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteShortTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Boolean, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Boolean, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeBooleanShortColumnTupleSource extends AbstractTupleSource { +public class InstantBooleanShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeBooleanShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantBooleanShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeBooleanShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantBooleanShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeBooleanShortColumnTupleSource( @Override public final LongByteShortTuple createTuple(final long rowKey) { return new LongByteShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), columnSource3.getShort(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteShortTuple createTuple(final long rowKey) { @Override public final LongByteShortTuple createPreviousTuple(final long rowKey) { return new LongByteShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), columnSource3.getPrevShort(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteShortTuple createPreviousTuple(final long rowKey) { @Override public final LongByteShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteShortTuple createTupleFromValues(@NotNull final Object... v @Override public final LongByteShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteShortTuple @Override public final Object exportElement(@NotNull final LongByteShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteShortTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongByteShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteShortTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), BooleanUtils.booleanAsByte(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeBooleanShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantBooleanShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeBooleanShortColumnTupleSource( + return new InstantBooleanShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteBooleanColumnTupleSource.java index 3726bc2145a..aa7036a1f10 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantByteBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeByteBooleanColumnTupleSource( @Override public final LongByteByteTuple createTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -56,7 +56,7 @@ public final LongByteByteTuple createTuple(final long rowKey) { @Override public final LongByteByteTuple createPreviousTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteBooleanColumnTupleSource( + return new InstantByteBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteByteColumnTupleSource.java index 16692bba57d..945d8cc17fa 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteByteColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteByteColumnTupleSource extends AbstractTupleSource { +public class InstantByteByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeByteByteColumnTupleSource( @Override public final LongByteByteTuple createTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getByte(rowKey) ); @@ -55,7 +55,7 @@ public final LongByteByteTuple createTuple(final long rowKey) { @Override public final LongByteByteTuple createPreviousTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -64,7 +64,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -73,7 +73,7 @@ public final LongByteByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -83,7 +83,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongByteByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteByteColumnTupleSource( + return new InstantByteByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteCharacterColumnTupleSource.java index 3f2b68e1af5..863209ccbf5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantByteCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeByteCharacterColumnTupleSource( @Override public final LongByteCharTuple createTuple(final long rowKey) { return new LongByteCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getChar(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteCharTuple createTuple(final long rowKey) { @Override public final LongByteCharTuple createPreviousTuple(final long rowKey) { return new LongByteCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevChar(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteCharTuple createPreviousTuple(final long rowKey) { @Override public final LongByteCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteCharTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteCharTuple @Override public final Object exportElement(@NotNull final LongByteCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteCharTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteCharTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteCharacterColumnTupleSource( + return new InstantByteCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteColumnTupleSource.java similarity index 78% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteColumnTupleSource.java index 91cbfce41ca..7fe1991e5b8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteColumnTupleSource extends AbstractTupleSource { +public class InstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantByteColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -43,7 +43,7 @@ public DateTimeByteColumnTupleSource( @Override public final LongByteTuple createTuple(final long rowKey) { return new LongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey) ); } @@ -51,7 +51,7 @@ public final LongByteTuple createTuple(final long rowKey) { @Override public final LongByteTuple createPreviousTuple(final long rowKey) { return new LongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey) ); } @@ -59,7 +59,7 @@ public final LongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]) ); } @@ -67,7 +67,7 @@ public final LongByteTuple createTupleFromValues(@NotNull final Object... values @Override public final LongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]) ); } @@ -76,7 +76,7 @@ public final LongByteTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongByteTuple tupl @Override public final Object exportElement(@NotNull final LongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -100,7 +100,7 @@ public final Object exportElement(@NotNull final LongByteTuple tuple, int elemen @Override public final Object exportElementReinterpreted(@NotNull final LongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -110,26 +110,26 @@ public final Object exportElementReinterpreted(@NotNull final LongByteTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii))); + destinationObjectChunk.set(ii, new LongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeByteColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantByteColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeByteColumnTupleSource( + return new InstantByteColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteDoubleColumnTupleSource.java index dfc8a79b9e7..dbf1a1815dc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantByteDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeByteDoubleColumnTupleSource( @Override public final LongByteDoubleTuple createTuple(final long rowKey) { return new LongByteDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getDouble(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteDoubleTuple createTuple(final long rowKey) { @Override public final LongByteDoubleTuple createPreviousTuple(final long rowKey) { return new LongByteDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevDouble(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongByteDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteDoubleTuple createTupleFromValues(@NotNull final Object... @Override public final LongByteDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteDoubleTupl @Override public final Object exportElement(@NotNull final LongByteDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteDoubleTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongByteDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteDoubleTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteDoubleColumnTupleSource( + return new InstantByteDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteFloatColumnTupleSource.java index 57e89bb17bf..f905ada5051 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteFloatColumnTupleSource extends AbstractTupleSource { +public class InstantByteFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeByteFloatColumnTupleSource( @Override public final LongByteFloatTuple createTuple(final long rowKey) { return new LongByteFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getFloat(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteFloatTuple createTuple(final long rowKey) { @Override public final LongByteFloatTuple createPreviousTuple(final long rowKey) { return new LongByteFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevFloat(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongByteFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteFloatTuple createTupleFromValues(@NotNull final Object... v @Override public final LongByteFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteFloatTuple @Override public final Object exportElement(@NotNull final LongByteFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteFloatTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongByteFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteFloatTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteFloatColumnTupleSource( + return new InstantByteFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteInstantColumnTupleSource.java index c1f8665cb99..c8e8ed24a0d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeByteDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -46,36 +46,36 @@ public DateTimeByteDateTimeColumnTupleSource( @Override public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,13 +114,13 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteDateTimeColumnTupleSource( + return new InstantByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteIntegerColumnTupleSource.java index 51d24aa3a9a..12d2b124e02 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantByteIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeByteIntegerColumnTupleSource( @Override public final LongByteIntTuple createTuple(final long rowKey) { return new LongByteIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getInt(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteIntTuple createTuple(final long rowKey) { @Override public final LongByteIntTuple createPreviousTuple(final long rowKey) { return new LongByteIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevInt(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteIntTuple createPreviousTuple(final long rowKey) { @Override public final LongByteIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteIntTuple createTupleFromValues(@NotNull final Object... val @Override public final LongByteIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteIntTuple t @Override public final Object exportElement(@NotNull final LongByteIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteIntTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongByteIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteIntTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteIntegerColumnTupleSource( + return new InstantByteIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteLongColumnTupleSource.java index bcf87d9a61f..73ea4def137 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteLongColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteLongColumnTupleSource extends AbstractTupleSource { +public class InstantByteLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeByteLongColumnTupleSource( @Override public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { @Override public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteLongTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteLongColumnTupleSource( + return new InstantByteLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteObjectColumnTupleSource.java index fd437d21460..5ecdc254799 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteObjectColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteObjectColumnTupleSource extends AbstractTupleSource { +public class InstantByteObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeByteObjectColumnTupleSource( @Override public final LongByteObjectTuple createTuple(final long rowKey) { return new LongByteObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.get(rowKey) ); @@ -55,7 +55,7 @@ public final LongByteObjectTuple createTuple(final long rowKey) { @Override public final LongByteObjectTuple createPreviousTuple(final long rowKey) { return new LongByteObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrev(rowKey) ); @@ -64,7 +64,7 @@ public final LongByteObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongByteObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), values[2] ); @@ -73,7 +73,7 @@ public final LongByteObjectTuple createTupleFromValues(@NotNull final Object... @Override public final LongByteObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), values[2] ); @@ -83,7 +83,7 @@ public final LongByteObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongByteObjectTupl @Override public final Object exportElement(@NotNull final LongByteObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongByteObjectTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongByteObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteObjectTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteObjectColumnTupleSource( + return new InstantByteObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteReinterpretedBooleanColumnTupleSource.java index c414c052ef3..5c2d063dc3b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteReinterpretedBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantByteReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeByteReinterpretedBooleanColumnTupleSource( @Override public final LongByteByteTuple createTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteByteTuple createTuple(final long rowKey) { @Override public final LongByteByteTuple createPreviousTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteReinterpretedBooleanColumnTupleSource( + return new InstantByteReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteReinterpretedInstantColumnTupleSource.java index 1a1d9c3ae5e..b5562ad8816 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeByteReinterpretedDateTimeColumnTupleSource( @Override public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { @Override public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,16 +65,16 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteReinterpretedDateTimeColumnTupleSource( + return new InstantByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteShortColumnTupleSource.java index fd5a529ea96..b9183e098c0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeByteShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantByteShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeByteShortColumnTupleSource extends AbstractTupleSource { +public class InstantByteShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeByteShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantByteShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeByteShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantByteShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeByteShortColumnTupleSource( @Override public final LongByteShortTuple createTuple(final long rowKey) { return new LongByteShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getShort(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteShortTuple createTuple(final long rowKey) { @Override public final LongByteShortTuple createPreviousTuple(final long rowKey) { return new LongByteShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevShort(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteShortTuple createPreviousTuple(final long rowKey) { @Override public final LongByteShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteShortTuple createTupleFromValues(@NotNull final Object... v @Override public final LongByteShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteShortTuple @Override public final Object exportElement(@NotNull final LongByteShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteShortTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongByteShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteShortTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeByteShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantByteShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeByteShortColumnTupleSource( + return new InstantByteShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterBooleanColumnTupleSource.java index 6616f58d2eb..cc6a7815bd1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeCharacterBooleanColumnTupleSource( @Override public final LongCharByteTuple createTuple(final long rowKey) { return new LongCharByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -56,7 +56,7 @@ public final LongCharByteTuple createTuple(final long rowKey) { @Override public final LongCharByteTuple createPreviousTuple(final long rowKey) { return new LongCharByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -65,7 +65,7 @@ public final LongCharByteTuple createPreviousTuple(final long rowKey) { @Override public final LongCharByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongCharByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongCharByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharByteTuple @Override public final Object exportElement(@NotNull final LongCharByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongCharByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongCharByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongCharByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterBooleanColumnTupleSource( + return new InstantCharacterBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterByteColumnTupleSource.java index 5b3a422df73..2a6874acb23 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterByteColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterByteColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeCharacterByteColumnTupleSource( @Override public final LongCharByteTuple createTuple(final long rowKey) { return new LongCharByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongCharByteTuple createTuple(final long rowKey) { @Override public final LongCharByteTuple createPreviousTuple(final long rowKey) { return new LongCharByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongCharByteTuple createPreviousTuple(final long rowKey) { @Override public final LongCharByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -74,7 +74,7 @@ public final LongCharByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongCharByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharByteTuple @Override public final Object exportElement(@NotNull final LongCharByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongCharByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongCharByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongCharByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterByteColumnTupleSource( + return new InstantCharacterByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterCharacterColumnTupleSource.java index 1ad63d89d8a..b34ad0409b9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterCharacterColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeCharacterCharacterColumnTupleSource( @Override public final LongCharCharTuple createTuple(final long rowKey) { return new LongCharCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), columnSource3.getChar(rowKey) ); @@ -55,7 +55,7 @@ public final LongCharCharTuple createTuple(final long rowKey) { @Override public final LongCharCharTuple createPreviousTuple(final long rowKey) { return new LongCharCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), columnSource3.getPrevChar(rowKey) ); @@ -64,7 +64,7 @@ public final LongCharCharTuple createPreviousTuple(final long rowKey) { @Override public final LongCharCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -73,7 +73,7 @@ public final LongCharCharTuple createTupleFromValues(@NotNull final Object... va @Override public final LongCharCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -83,7 +83,7 @@ public final LongCharCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongCharCharTuple @Override public final Object exportElement(@NotNull final LongCharCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongCharCharTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongCharCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharCharTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongCharCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterCharacterColumnTupleSource( + return new InstantCharacterCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterColumnTupleSource.java index ed77414830a..e5560c0fa41 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -43,7 +43,7 @@ public DateTimeCharacterColumnTupleSource( @Override public final LongCharTuple createTuple(final long rowKey) { return new LongCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey) ); } @@ -51,7 +51,7 @@ public final LongCharTuple createTuple(final long rowKey) { @Override public final LongCharTuple createPreviousTuple(final long rowKey) { return new LongCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey) ); } @@ -59,7 +59,7 @@ public final LongCharTuple createPreviousTuple(final long rowKey) { @Override public final LongCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]) ); } @@ -67,7 +67,7 @@ public final LongCharTuple createTupleFromValues(@NotNull final Object... values @Override public final LongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]) ); } @@ -76,7 +76,7 @@ public final LongCharTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongCharTuple tupl @Override public final Object exportElement(@NotNull final LongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -100,7 +100,7 @@ public final Object exportElement(@NotNull final LongCharTuple tuple, int elemen @Override public final Object exportElementReinterpreted(@NotNull final LongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -110,26 +110,26 @@ public final Object exportElementReinterpreted(@NotNull final LongCharTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii))); + destinationObjectChunk.set(ii, new LongCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantCharacterColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeCharacterColumnTupleSource( + return new InstantCharacterColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterDoubleColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterDoubleColumnTupleSource.java index f26c51e2f57..7ef7d83bfe5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeCharacterDoubleColumnTupleSource( @Override public final LongCharDoubleTuple createTuple(final long rowKey) { return new LongCharDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), columnSource3.getDouble(rowKey) ); @@ -56,7 +56,7 @@ public final LongCharDoubleTuple createTuple(final long rowKey) { @Override public final LongCharDoubleTuple createPreviousTuple(final long rowKey) { return new LongCharDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), columnSource3.getPrevDouble(rowKey) ); @@ -65,7 +65,7 @@ public final LongCharDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongCharDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -74,7 +74,7 @@ public final LongCharDoubleTuple createTupleFromValues(@NotNull final Object... @Override public final LongCharDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongCharDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharDoubleTupl @Override public final Object exportElement(@NotNull final LongCharDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongCharDoubleTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongCharDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharDoubleTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongCharDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterDoubleColumnTupleSource( + return new InstantCharacterDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterFloatColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterFloatColumnTupleSource.java index 983affbd669..aab93a3c5ad 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterFloatColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeCharacterFloatColumnTupleSource( @Override public final LongCharFloatTuple createTuple(final long rowKey) { return new LongCharFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), columnSource3.getFloat(rowKey) ); @@ -56,7 +56,7 @@ public final LongCharFloatTuple createTuple(final long rowKey) { @Override public final LongCharFloatTuple createPreviousTuple(final long rowKey) { return new LongCharFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), columnSource3.getPrevFloat(rowKey) ); @@ -65,7 +65,7 @@ public final LongCharFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongCharFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -74,7 +74,7 @@ public final LongCharFloatTuple createTupleFromValues(@NotNull final Object... v @Override public final LongCharFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongCharFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharFloatTuple @Override public final Object exportElement(@NotNull final LongCharFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongCharFloatTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongCharFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharFloatTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongCharFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterFloatColumnTupleSource( + return new InstantCharacterFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterInstantColumnTupleSource.java index 81f0e92da85..76e50fb9aaf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeCharacterDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -46,36 +46,36 @@ public DateTimeCharacterDateTimeColumnTupleSource( @Override public final LongCharLongTuple createTuple(final long rowKey) { return new LongCharLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongCharLongTuple createPreviousTuple(final long rowKey) { return new LongCharLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongCharLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongCharLongTuple @Override public final Object exportElement(@NotNull final LongCharLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,13 +114,13 @@ public final Object exportElement(@NotNull final LongCharLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongCharLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongCharLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterDateTimeColumnTupleSource( + return new InstantCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterIntegerColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterIntegerColumnTupleSource.java index 131d2c991fb..4f279cad03b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeCharacterIntegerColumnTupleSource( @Override public final LongCharIntTuple createTuple(final long rowKey) { return new LongCharIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), columnSource3.getInt(rowKey) ); @@ -56,7 +56,7 @@ public final LongCharIntTuple createTuple(final long rowKey) { @Override public final LongCharIntTuple createPreviousTuple(final long rowKey) { return new LongCharIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), columnSource3.getPrevInt(rowKey) ); @@ -65,7 +65,7 @@ public final LongCharIntTuple createPreviousTuple(final long rowKey) { @Override public final LongCharIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -74,7 +74,7 @@ public final LongCharIntTuple createTupleFromValues(@NotNull final Object... val @Override public final LongCharIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharIntTuple t @Override public final Object exportElement(@NotNull final LongCharIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongCharIntTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongCharIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharIntTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongCharIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterIntegerColumnTupleSource( + return new InstantCharacterIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterLongColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterLongColumnTupleSource.java index 0999ad6a6e0..1cedcbe6657 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterLongColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterLongColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeCharacterLongColumnTupleSource( @Override public final LongCharLongTuple createTuple(final long rowKey) { return new LongCharLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongCharLongTuple createTuple(final long rowKey) { @Override public final LongCharLongTuple createPreviousTuple(final long rowKey) { return new LongCharLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,7 +65,7 @@ public final LongCharLongTuple createPreviousTuple(final long rowKey) { @Override public final LongCharLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -74,7 +74,7 @@ public final LongCharLongTuple createTupleFromValues(@NotNull final Object... va @Override public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharLongTuple @Override public final Object exportElement(@NotNull final LongCharLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongCharLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongCharLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongCharLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterLongColumnTupleSource( + return new InstantCharacterLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterObjectColumnTupleSource.java index 20d81beff24..271a2060281 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterObjectColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterObjectColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeCharacterObjectColumnTupleSource( @Override public final LongCharObjectTuple createTuple(final long rowKey) { return new LongCharObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), columnSource3.get(rowKey) ); @@ -55,7 +55,7 @@ public final LongCharObjectTuple createTuple(final long rowKey) { @Override public final LongCharObjectTuple createPreviousTuple(final long rowKey) { return new LongCharObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), columnSource3.getPrev(rowKey) ); @@ -64,7 +64,7 @@ public final LongCharObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongCharObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), values[2] ); @@ -73,7 +73,7 @@ public final LongCharObjectTuple createTupleFromValues(@NotNull final Object... @Override public final LongCharObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), values[2] ); @@ -83,7 +83,7 @@ public final LongCharObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongCharObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongCharObjectTupl @Override public final Object exportElement(@NotNull final LongCharObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongCharObjectTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongCharObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharObjectTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongCharObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterObjectColumnTupleSource( + return new InstantCharacterObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterReinterpretedBooleanColumnTupleSource.java index aaa27eecd71..245b55d63d3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterReinterpretedBooleanColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeCharacterReinterpretedBooleanColumnTupleSource( @Override public final LongCharByteTuple createTuple(final long rowKey) { return new LongCharByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), columnSource3.getByte(rowKey) ); @@ -57,7 +57,7 @@ public final LongCharByteTuple createTuple(final long rowKey) { @Override public final LongCharByteTuple createPreviousTuple(final long rowKey) { return new LongCharByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -66,7 +66,7 @@ public final LongCharByteTuple createPreviousTuple(final long rowKey) { @Override public final LongCharByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -75,7 +75,7 @@ public final LongCharByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongCharByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -85,7 +85,7 @@ public final LongCharByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongCharByteTuple @Override public final Object exportElement(@NotNull final LongCharByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongCharByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongCharByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongCharByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterReinterpretedBooleanColumnTupleSource( + return new InstantCharacterReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterReinterpretedInstantColumnTupleSource.java index 456079a66f2..63826135b68 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeCharacterReinterpretedDateTimeColumnTupleSource( @Override public final LongCharLongTuple createTuple(final long rowKey) { return new LongCharLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongCharLongTuple createTuple(final long rowKey) { @Override public final LongCharLongTuple createPreviousTuple(final long rowKey) { return new LongCharLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,16 +65,16 @@ public final LongCharLongTuple createPreviousTuple(final long rowKey) { @Override public final LongCharLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongCharLongTuple @Override public final Object exportElement(@NotNull final LongCharLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongCharLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongCharLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongCharLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterReinterpretedDateTimeColumnTupleSource( + return new InstantCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterShortColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterShortColumnTupleSource.java index ae01fa7f81a..fd79ce04f0d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeCharacterShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantCharacterShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Character, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Character, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeCharacterShortColumnTupleSource extends AbstractTupleSource { +public class InstantCharacterShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeCharacterShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantCharacterShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeCharacterShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantCharacterShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeCharacterShortColumnTupleSource( @Override public final LongCharShortTuple createTuple(final long rowKey) { return new LongCharShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getChar(rowKey), columnSource3.getShort(rowKey) ); @@ -56,7 +56,7 @@ public final LongCharShortTuple createTuple(final long rowKey) { @Override public final LongCharShortTuple createPreviousTuple(final long rowKey) { return new LongCharShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevChar(rowKey), columnSource3.getPrevShort(rowKey) ); @@ -65,7 +65,7 @@ public final LongCharShortTuple createPreviousTuple(final long rowKey) { @Override public final LongCharShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -74,7 +74,7 @@ public final LongCharShortTuple createTupleFromValues(@NotNull final Object... v @Override public final LongCharShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongCharShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongCharShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharShortTuple @Override public final Object exportElement(@NotNull final LongCharShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongCharShortTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongCharShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongCharShortTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongCharShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeCharacterShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantCharacterShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeCharacterShortColumnTupleSource( + return new InstantCharacterShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleBooleanColumnTupleSource.java index 70a7d064d77..68b5598fe1a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeDoubleBooleanColumnTupleSource( @Override public final LongDoubleByteTuple createTuple(final long rowKey) { return new LongDoubleByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -56,7 +56,7 @@ public final LongDoubleByteTuple createTuple(final long rowKey) { @Override public final LongDoubleByteTuple createPreviousTuple(final long rowKey) { return new LongDoubleByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -65,7 +65,7 @@ public final LongDoubleByteTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongDoubleByteTuple createTupleFromValues(@NotNull final Object... @Override public final LongDoubleByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleByteTupl @Override public final Object exportElement(@NotNull final LongDoubleByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongDoubleByteTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleByteTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongDoubleByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleBooleanColumnTupleSource( + return new InstantDoubleBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleByteColumnTupleSource.java index cf163750ec0..7bf6cdc3c37 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleByteColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleByteColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeDoubleByteColumnTupleSource( @Override public final LongDoubleByteTuple createTuple(final long rowKey) { return new LongDoubleByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongDoubleByteTuple createTuple(final long rowKey) { @Override public final LongDoubleByteTuple createPreviousTuple(final long rowKey) { return new LongDoubleByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongDoubleByteTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -74,7 +74,7 @@ public final LongDoubleByteTuple createTupleFromValues(@NotNull final Object... @Override public final LongDoubleByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleByteTupl @Override public final Object exportElement(@NotNull final LongDoubleByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongDoubleByteTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleByteTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleByteColumnTupleSource( + return new InstantDoubleByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleCharacterColumnTupleSource.java index 2a50e8a4ca7..8a762181ed5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeDoubleCharacterColumnTupleSource( @Override public final LongDoubleCharTuple createTuple(final long rowKey) { return new LongDoubleCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), columnSource3.getChar(rowKey) ); @@ -56,7 +56,7 @@ public final LongDoubleCharTuple createTuple(final long rowKey) { @Override public final LongDoubleCharTuple createPreviousTuple(final long rowKey) { return new LongDoubleCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), columnSource3.getPrevChar(rowKey) ); @@ -65,7 +65,7 @@ public final LongDoubleCharTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -74,7 +74,7 @@ public final LongDoubleCharTuple createTupleFromValues(@NotNull final Object... @Override public final LongDoubleCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleCharTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleCharTupl @Override public final Object exportElement(@NotNull final LongDoubleCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongDoubleCharTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleCharTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleCharacterColumnTupleSource( + return new InstantDoubleCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleColumnTupleSource.java index 85154a506a4..2eee80228ba 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -43,7 +43,7 @@ public DateTimeDoubleColumnTupleSource( @Override public final LongDoubleTuple createTuple(final long rowKey) { return new LongDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey) ); } @@ -51,7 +51,7 @@ public final LongDoubleTuple createTuple(final long rowKey) { @Override public final LongDoubleTuple createPreviousTuple(final long rowKey) { return new LongDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey) ); } @@ -59,7 +59,7 @@ public final LongDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]) ); } @@ -67,7 +67,7 @@ public final LongDoubleTuple createTupleFromValues(@NotNull final Object... valu @Override public final LongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]) ); } @@ -76,7 +76,7 @@ public final LongDoubleTuple createTupleFromReinterpretedValues(@NotNull final O @Override public final void exportElement(@NotNull final LongDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongDoubleTuple tu @Override public final Object exportElement(@NotNull final LongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -100,7 +100,7 @@ public final Object exportElement(@NotNull final LongDoubleTuple tuple, int elem @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -110,26 +110,26 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleTuple tu protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantDoubleColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeDoubleColumnTupleSource( + return new InstantDoubleColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleDoubleColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleDoubleColumnTupleSource.java index 63365beb00f..0ae31cffa45 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleDoubleColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeDoubleDoubleColumnTupleSource( @Override public final LongDoubleDoubleTuple createTuple(final long rowKey) { return new LongDoubleDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), columnSource3.getDouble(rowKey) ); @@ -55,7 +55,7 @@ public final LongDoubleDoubleTuple createTuple(final long rowKey) { @Override public final LongDoubleDoubleTuple createPreviousTuple(final long rowKey) { return new LongDoubleDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), columnSource3.getPrevDouble(rowKey) ); @@ -64,7 +64,7 @@ public final LongDoubleDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -73,7 +73,7 @@ public final LongDoubleDoubleTuple createTupleFromValues(@NotNull final Object.. @Override public final LongDoubleDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -83,7 +83,7 @@ public final LongDoubleDoubleTuple createTupleFromReinterpretedValues(@NotNull f @Override public final void exportElement(@NotNull final LongDoubleDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongDoubleDoubleTu @Override public final Object exportElement(@NotNull final LongDoubleDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongDoubleDoubleTuple tuple, in @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleDoubleTu @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleDoubleColumnTupleSource( + return new InstantDoubleDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleFloatColumnTupleSource.java index af1e2a59bcc..52dfd5d60b1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleFloatColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeDoubleFloatColumnTupleSource( @Override public final LongDoubleFloatTuple createTuple(final long rowKey) { return new LongDoubleFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), columnSource3.getFloat(rowKey) ); @@ -56,7 +56,7 @@ public final LongDoubleFloatTuple createTuple(final long rowKey) { @Override public final LongDoubleFloatTuple createPreviousTuple(final long rowKey) { return new LongDoubleFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), columnSource3.getPrevFloat(rowKey) ); @@ -65,7 +65,7 @@ public final LongDoubleFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -74,7 +74,7 @@ public final LongDoubleFloatTuple createTupleFromValues(@NotNull final Object... @Override public final LongDoubleFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleFloatTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongDoubleFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleFloatTup @Override public final Object exportElement(@NotNull final LongDoubleFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongDoubleFloatTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleFloatTup @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleFloatColumnTupleSource( + return new InstantDoubleFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleInstantColumnTupleSource.java index 92309e5991e..6d50affbd37 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeDoubleDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -46,36 +46,36 @@ public DateTimeDoubleDateTimeColumnTupleSource( @Override public final LongDoubleLongTuple createTuple(final long rowKey) { return new LongDoubleLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongDoubleLongTuple createPreviousTuple(final long rowKey) { return new LongDoubleLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongDoubleLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongDoubleLongTupl @Override public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,13 +114,13 @@ public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleLongTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongDoubleLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleDateTimeColumnTupleSource( + return new InstantDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleIntegerColumnTupleSource.java index b90180cf0c6..64fb4bae80f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeDoubleIntegerColumnTupleSource( @Override public final LongDoubleIntTuple createTuple(final long rowKey) { return new LongDoubleIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), columnSource3.getInt(rowKey) ); @@ -56,7 +56,7 @@ public final LongDoubleIntTuple createTuple(final long rowKey) { @Override public final LongDoubleIntTuple createPreviousTuple(final long rowKey) { return new LongDoubleIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), columnSource3.getPrevInt(rowKey) ); @@ -65,7 +65,7 @@ public final LongDoubleIntTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -74,7 +74,7 @@ public final LongDoubleIntTuple createTupleFromValues(@NotNull final Object... v @Override public final LongDoubleIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleIntTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongDoubleIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleIntTuple @Override public final Object exportElement(@NotNull final LongDoubleIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongDoubleIntTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleIntTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleIntegerColumnTupleSource( + return new InstantDoubleIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleLongColumnTupleSource.java index 21e1a04f11e..fe2b51969f4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleLongColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleLongColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeDoubleLongColumnTupleSource( @Override public final LongDoubleLongTuple createTuple(final long rowKey) { return new LongDoubleLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongDoubleLongTuple createTuple(final long rowKey) { @Override public final LongDoubleLongTuple createPreviousTuple(final long rowKey) { return new LongDoubleLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,7 +65,7 @@ public final LongDoubleLongTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -74,7 +74,7 @@ public final LongDoubleLongTuple createTupleFromValues(@NotNull final Object... @Override public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleLongTupl @Override public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleLongTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleLongColumnTupleSource( + return new InstantDoubleLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleObjectColumnTupleSource.java index 17e7088a975..d881d80cc76 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleObjectColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleObjectColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeDoubleObjectColumnTupleSource( @Override public final LongDoubleObjectTuple createTuple(final long rowKey) { return new LongDoubleObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), columnSource3.get(rowKey) ); @@ -55,7 +55,7 @@ public final LongDoubleObjectTuple createTuple(final long rowKey) { @Override public final LongDoubleObjectTuple createPreviousTuple(final long rowKey) { return new LongDoubleObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), columnSource3.getPrev(rowKey) ); @@ -64,7 +64,7 @@ public final LongDoubleObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), values[2] ); @@ -73,7 +73,7 @@ public final LongDoubleObjectTuple createTupleFromValues(@NotNull final Object.. @Override public final LongDoubleObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), values[2] ); @@ -83,7 +83,7 @@ public final LongDoubleObjectTuple createTupleFromReinterpretedValues(@NotNull f @Override public final void exportElement(@NotNull final LongDoubleObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongDoubleObjectTu @Override public final Object exportElement(@NotNull final LongDoubleObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongDoubleObjectTuple tuple, in @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleObjectTu @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleObjectColumnTupleSource( + return new InstantDoubleObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleReinterpretedBooleanColumnTupleSource.java index 2058e015c35..d8c478688eb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleReinterpretedBooleanColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeDoubleReinterpretedBooleanColumnTupleSource( @Override public final LongDoubleByteTuple createTuple(final long rowKey) { return new LongDoubleByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), columnSource3.getByte(rowKey) ); @@ -57,7 +57,7 @@ public final LongDoubleByteTuple createTuple(final long rowKey) { @Override public final LongDoubleByteTuple createPreviousTuple(final long rowKey) { return new LongDoubleByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -66,7 +66,7 @@ public final LongDoubleByteTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -75,7 +75,7 @@ public final LongDoubleByteTuple createTupleFromValues(@NotNull final Object... @Override public final LongDoubleByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -85,7 +85,7 @@ public final LongDoubleByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongDoubleByteTupl @Override public final Object exportElement(@NotNull final LongDoubleByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongDoubleByteTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleByteTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleReinterpretedBooleanColumnTupleSource( + return new InstantDoubleReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleReinterpretedInstantColumnTupleSource.java index 261c46f3b25..6bffeb19a90 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeDoubleReinterpretedDateTimeColumnTupleSource( @Override public final LongDoubleLongTuple createTuple(final long rowKey) { return new LongDoubleLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongDoubleLongTuple createTuple(final long rowKey) { @Override public final LongDoubleLongTuple createPreviousTuple(final long rowKey) { return new LongDoubleLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,16 +65,16 @@ public final LongDoubleLongTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongDoubleLongTupl @Override public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleLongTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleReinterpretedDateTimeColumnTupleSource( + return new InstantDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleShortColumnTupleSource.java index 33705dee546..72860e2a0f3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDoubleShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantDoubleShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Double, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Double, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDoubleShortColumnTupleSource extends AbstractTupleSource { +public class InstantDoubleShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDoubleShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantDoubleShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDoubleShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantDoubleShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeDoubleShortColumnTupleSource( @Override public final LongDoubleShortTuple createTuple(final long rowKey) { return new LongDoubleShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getDouble(rowKey), columnSource3.getShort(rowKey) ); @@ -56,7 +56,7 @@ public final LongDoubleShortTuple createTuple(final long rowKey) { @Override public final LongDoubleShortTuple createPreviousTuple(final long rowKey) { return new LongDoubleShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevDouble(rowKey), columnSource3.getPrevShort(rowKey) ); @@ -65,7 +65,7 @@ public final LongDoubleShortTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -74,7 +74,7 @@ public final LongDoubleShortTuple createTupleFromValues(@NotNull final Object... @Override public final LongDoubleShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongDoubleShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleShortTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongDoubleShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleShortTup @Override public final Object exportElement(@NotNull final LongDoubleShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongDoubleShortTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongDoubleShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleShortTup @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongDoubleShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDoubleShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantDoubleShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDoubleShortColumnTupleSource( + return new InstantDoubleShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatBooleanColumnTupleSource.java index 1353830423c..e1a52aabcf6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantFloatBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeFloatBooleanColumnTupleSource( @Override public final LongFloatByteTuple createTuple(final long rowKey) { return new LongFloatByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -56,7 +56,7 @@ public final LongFloatByteTuple createTuple(final long rowKey) { @Override public final LongFloatByteTuple createPreviousTuple(final long rowKey) { return new LongFloatByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -65,7 +65,7 @@ public final LongFloatByteTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongFloatByteTuple createTupleFromValues(@NotNull final Object... v @Override public final LongFloatByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatByteTuple @Override public final Object exportElement(@NotNull final LongFloatByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongFloatByteTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongFloatByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongFloatByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatBooleanColumnTupleSource( + return new InstantFloatBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatByteColumnTupleSource.java index 3e03133bc2f..9737b898e55 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatByteColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatByteColumnTupleSource extends AbstractTupleSource { +public class InstantFloatByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeFloatByteColumnTupleSource( @Override public final LongFloatByteTuple createTuple(final long rowKey) { return new LongFloatByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongFloatByteTuple createTuple(final long rowKey) { @Override public final LongFloatByteTuple createPreviousTuple(final long rowKey) { return new LongFloatByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongFloatByteTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -74,7 +74,7 @@ public final LongFloatByteTuple createTupleFromValues(@NotNull final Object... v @Override public final LongFloatByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatByteTuple @Override public final Object exportElement(@NotNull final LongFloatByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongFloatByteTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongFloatByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongFloatByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatByteColumnTupleSource( + return new InstantFloatByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatCharacterColumnTupleSource.java index 3335be786ab..b55480998c6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantFloatCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeFloatCharacterColumnTupleSource( @Override public final LongFloatCharTuple createTuple(final long rowKey) { return new LongFloatCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), columnSource3.getChar(rowKey) ); @@ -56,7 +56,7 @@ public final LongFloatCharTuple createTuple(final long rowKey) { @Override public final LongFloatCharTuple createPreviousTuple(final long rowKey) { return new LongFloatCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), columnSource3.getPrevChar(rowKey) ); @@ -65,7 +65,7 @@ public final LongFloatCharTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -74,7 +74,7 @@ public final LongFloatCharTuple createTupleFromValues(@NotNull final Object... v @Override public final LongFloatCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatCharTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatCharTuple @Override public final Object exportElement(@NotNull final LongFloatCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongFloatCharTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongFloatCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatCharTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongFloatCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatCharacterColumnTupleSource( + return new InstantFloatCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatColumnTupleSource.java index 532113b0ca7..90f7b55c049 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class InstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantFloatColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -43,7 +43,7 @@ public DateTimeFloatColumnTupleSource( @Override public final LongFloatTuple createTuple(final long rowKey) { return new LongFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey) ); } @@ -51,7 +51,7 @@ public final LongFloatTuple createTuple(final long rowKey) { @Override public final LongFloatTuple createPreviousTuple(final long rowKey) { return new LongFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey) ); } @@ -59,7 +59,7 @@ public final LongFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]) ); } @@ -67,7 +67,7 @@ public final LongFloatTuple createTupleFromValues(@NotNull final Object... value @Override public final LongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]) ); } @@ -76,7 +76,7 @@ public final LongFloatTuple createTupleFromReinterpretedValues(@NotNull final Ob @Override public final void exportElement(@NotNull final LongFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongFloatTuple tup @Override public final Object exportElement(@NotNull final LongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -100,7 +100,7 @@ public final Object exportElement(@NotNull final LongFloatTuple tuple, int eleme @Override public final Object exportElementReinterpreted(@NotNull final LongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -110,26 +110,26 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatTuple tup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii))); + destinationObjectChunk.set(ii, new LongFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantFloatColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeFloatColumnTupleSource( + return new InstantFloatColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatDoubleColumnTupleSource.java index 85ab69ce98f..c9c390156af 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantFloatDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeFloatDoubleColumnTupleSource( @Override public final LongFloatDoubleTuple createTuple(final long rowKey) { return new LongFloatDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), columnSource3.getDouble(rowKey) ); @@ -56,7 +56,7 @@ public final LongFloatDoubleTuple createTuple(final long rowKey) { @Override public final LongFloatDoubleTuple createPreviousTuple(final long rowKey) { return new LongFloatDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), columnSource3.getPrevDouble(rowKey) ); @@ -65,7 +65,7 @@ public final LongFloatDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -74,7 +74,7 @@ public final LongFloatDoubleTuple createTupleFromValues(@NotNull final Object... @Override public final LongFloatDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatDoubleTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongFloatDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatDoubleTup @Override public final Object exportElement(@NotNull final LongFloatDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongFloatDoubleTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongFloatDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatDoubleTup @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongFloatDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatDoubleColumnTupleSource( + return new InstantFloatDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatFloatColumnTupleSource.java index cf8f82a279f..d3aafc7f252 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatFloatColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatFloatColumnTupleSource extends AbstractTupleSource { +public class InstantFloatFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeFloatFloatColumnTupleSource( @Override public final LongFloatFloatTuple createTuple(final long rowKey) { return new LongFloatFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), columnSource3.getFloat(rowKey) ); @@ -55,7 +55,7 @@ public final LongFloatFloatTuple createTuple(final long rowKey) { @Override public final LongFloatFloatTuple createPreviousTuple(final long rowKey) { return new LongFloatFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), columnSource3.getPrevFloat(rowKey) ); @@ -64,7 +64,7 @@ public final LongFloatFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -73,7 +73,7 @@ public final LongFloatFloatTuple createTupleFromValues(@NotNull final Object... @Override public final LongFloatFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -83,7 +83,7 @@ public final LongFloatFloatTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongFloatFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongFloatFloatTupl @Override public final Object exportElement(@NotNull final LongFloatFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongFloatFloatTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongFloatFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatFloatTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongFloatFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatFloatColumnTupleSource( + return new InstantFloatFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatInstantColumnTupleSource.java index 2f9518bbc74..9a9c9f98c58 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeFloatDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -46,36 +46,36 @@ public DateTimeFloatDateTimeColumnTupleSource( @Override public final LongFloatLongTuple createTuple(final long rowKey) { return new LongFloatLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongFloatLongTuple createPreviousTuple(final long rowKey) { return new LongFloatLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongFloatLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongFloatLongTuple @Override public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,13 +114,13 @@ public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongFloatLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongFloatLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatDateTimeColumnTupleSource( + return new InstantFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatIntegerColumnTupleSource.java index 29514f456ec..69380d966d9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantFloatIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeFloatIntegerColumnTupleSource( @Override public final LongFloatIntTuple createTuple(final long rowKey) { return new LongFloatIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), columnSource3.getInt(rowKey) ); @@ -56,7 +56,7 @@ public final LongFloatIntTuple createTuple(final long rowKey) { @Override public final LongFloatIntTuple createPreviousTuple(final long rowKey) { return new LongFloatIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), columnSource3.getPrevInt(rowKey) ); @@ -65,7 +65,7 @@ public final LongFloatIntTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -74,7 +74,7 @@ public final LongFloatIntTuple createTupleFromValues(@NotNull final Object... va @Override public final LongFloatIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongFloatIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatIntTuple @Override public final Object exportElement(@NotNull final LongFloatIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongFloatIntTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongFloatIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatIntTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongFloatIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatIntegerColumnTupleSource( + return new InstantFloatIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatLongColumnTupleSource.java index 2a475a96394..0cda5ec0851 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatLongColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatLongColumnTupleSource extends AbstractTupleSource { +public class InstantFloatLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeFloatLongColumnTupleSource( @Override public final LongFloatLongTuple createTuple(final long rowKey) { return new LongFloatLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongFloatLongTuple createTuple(final long rowKey) { @Override public final LongFloatLongTuple createPreviousTuple(final long rowKey) { return new LongFloatLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,7 +65,7 @@ public final LongFloatLongTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -74,7 +74,7 @@ public final LongFloatLongTuple createTupleFromValues(@NotNull final Object... v @Override public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatLongTuple @Override public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongFloatLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongFloatLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatLongColumnTupleSource( + return new InstantFloatLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatObjectColumnTupleSource.java index cc3d874ad83..709bd5faacf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatObjectColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatObjectColumnTupleSource extends AbstractTupleSource { +public class InstantFloatObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeFloatObjectColumnTupleSource( @Override public final LongFloatObjectTuple createTuple(final long rowKey) { return new LongFloatObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), columnSource3.get(rowKey) ); @@ -55,7 +55,7 @@ public final LongFloatObjectTuple createTuple(final long rowKey) { @Override public final LongFloatObjectTuple createPreviousTuple(final long rowKey) { return new LongFloatObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), columnSource3.getPrev(rowKey) ); @@ -64,7 +64,7 @@ public final LongFloatObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), values[2] ); @@ -73,7 +73,7 @@ public final LongFloatObjectTuple createTupleFromValues(@NotNull final Object... @Override public final LongFloatObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), values[2] ); @@ -83,7 +83,7 @@ public final LongFloatObjectTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongFloatObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongFloatObjectTup @Override public final Object exportElement(@NotNull final LongFloatObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongFloatObjectTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongFloatObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatObjectTup @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongFloatObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatObjectColumnTupleSource( + return new InstantFloatObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatReinterpretedBooleanColumnTupleSource.java index 3ee275a1ab9..ba59f0ef624 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatReinterpretedBooleanColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantFloatReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeFloatReinterpretedBooleanColumnTupleSource( @Override public final LongFloatByteTuple createTuple(final long rowKey) { return new LongFloatByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), columnSource3.getByte(rowKey) ); @@ -57,7 +57,7 @@ public final LongFloatByteTuple createTuple(final long rowKey) { @Override public final LongFloatByteTuple createPreviousTuple(final long rowKey) { return new LongFloatByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -66,7 +66,7 @@ public final LongFloatByteTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -75,7 +75,7 @@ public final LongFloatByteTuple createTupleFromValues(@NotNull final Object... v @Override public final LongFloatByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -85,7 +85,7 @@ public final LongFloatByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongFloatByteTuple @Override public final Object exportElement(@NotNull final LongFloatByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongFloatByteTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongFloatByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongFloatByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatReinterpretedBooleanColumnTupleSource( + return new InstantFloatReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatReinterpretedInstantColumnTupleSource.java index e13a5d90444..1451ce91726 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeFloatReinterpretedDateTimeColumnTupleSource( @Override public final LongFloatLongTuple createTuple(final long rowKey) { return new LongFloatLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongFloatLongTuple createTuple(final long rowKey) { @Override public final LongFloatLongTuple createPreviousTuple(final long rowKey) { return new LongFloatLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,16 +65,16 @@ public final LongFloatLongTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongFloatLongTuple @Override public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongFloatLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongFloatLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatReinterpretedDateTimeColumnTupleSource( + return new InstantFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatShortColumnTupleSource.java index 5b3bcd9b5d2..27311c0f91c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeFloatShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantFloatShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Float, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Float, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeFloatShortColumnTupleSource extends AbstractTupleSource { +public class InstantFloatShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeFloatShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantFloatShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeFloatShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantFloatShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeFloatShortColumnTupleSource( @Override public final LongFloatShortTuple createTuple(final long rowKey) { return new LongFloatShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getFloat(rowKey), columnSource3.getShort(rowKey) ); @@ -56,7 +56,7 @@ public final LongFloatShortTuple createTuple(final long rowKey) { @Override public final LongFloatShortTuple createPreviousTuple(final long rowKey) { return new LongFloatShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevFloat(rowKey), columnSource3.getPrevShort(rowKey) ); @@ -65,7 +65,7 @@ public final LongFloatShortTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -74,7 +74,7 @@ public final LongFloatShortTuple createTupleFromValues(@NotNull final Object... @Override public final LongFloatShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongFloatShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatShortTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongFloatShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatShortTupl @Override public final Object exportElement(@NotNull final LongFloatShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongFloatShortTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongFloatShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatShortTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongFloatShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeFloatShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantFloatShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeFloatShortColumnTupleSource( + return new InstantFloatShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantBooleanColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantBooleanColumnTupleSource.java index e229c88a46c..74d70a8d55d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantBooleanColumnTupleSource.java @@ -10,30 +10,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -45,8 +45,8 @@ public DateTimeDateTimeBooleanColumnTupleSource( @Override public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -54,8 +54,8 @@ public final LongLongByteTuple createTuple(final long rowKey) { @Override public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -63,8 +63,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -72,8 +72,8 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -82,11 +82,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -99,10 +99,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -113,10 +113,10 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -127,28 +127,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeBooleanColumnTupleSource( + return new InstantInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantByteColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantByteColumnTupleSource.java index 0691243669c..6d536082496 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantByteColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class InstantInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,8 +46,8 @@ public DateTimeDateTimeByteColumnTupleSource( @Override public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -55,8 +55,8 @@ public final LongLongByteTuple createTuple(final long rowKey) { @Override public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -64,8 +64,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -73,8 +73,8 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -114,10 +114,10 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeByteColumnTupleSource( + return new InstantInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantCharacterColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantCharacterColumnTupleSource.java index 33de115d629..c73fa1da88d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantCharacterColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,8 +46,8 @@ public DateTimeDateTimeCharacterColumnTupleSource( @Override public final LongLongCharTuple createTuple(final long rowKey) { return new LongLongCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -55,8 +55,8 @@ public final LongLongCharTuple createTuple(final long rowKey) { @Override public final LongLongCharTuple createPreviousTuple(final long rowKey) { return new LongLongCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -64,8 +64,8 @@ public final LongLongCharTuple createPreviousTuple(final long rowKey) { @Override public final LongLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -73,8 +73,8 @@ public final LongLongCharTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongCharTuple @Override public final Object exportElement(@NotNull final LongLongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -114,10 +114,10 @@ public final Object exportElement(@NotNull final LongLongCharTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongCharTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeCharacterColumnTupleSource( + return new InstantInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantColumnTupleSource.java similarity index 64% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantColumnTupleSource.java index 3f366fe1bb1..76cfc1cd8b3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongTuple; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; - public DateTimeDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + public InstantInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -41,32 +41,32 @@ public DateTimeDateTimeColumnTupleSource( @Override public final LongLongTuple createTuple(final long rowKey) { return new LongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @Override public final LongLongTuple createPreviousTuple(final long rowKey) { return new LongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @Override public final LongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]) ); } @Override public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -74,11 +74,11 @@ public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -87,10 +87,10 @@ public final void exportElement(@NotNull final LongLongTuple tupl @Override public final Object exportElement(@NotNull final LongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -98,36 +98,36 @@ public final Object exportElement(@NotNull final LongLongTuple tuple, int elemen @Override public final Object exportElementReinterpreted(@NotNull final LongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new LongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2 ) { - return new DateTimeDateTimeColumnTupleSource( + return new InstantInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantDoubleColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantDoubleColumnTupleSource.java index d8a92c1e1c9..36c0868cf39 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantDoubleColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,8 +46,8 @@ public DateTimeDateTimeDoubleColumnTupleSource( @Override public final LongLongDoubleTuple createTuple(final long rowKey) { return new LongLongDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -55,8 +55,8 @@ public final LongLongDoubleTuple createTuple(final long rowKey) { @Override public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { return new LongLongDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -64,8 +64,8 @@ public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -73,8 +73,8 @@ public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... @Override public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongDoubleTupl @Override public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -114,10 +114,10 @@ public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongLongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongDoubleTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeDoubleColumnTupleSource( + return new InstantInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantFloatColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantFloatColumnTupleSource.java index 59bbb5d4c76..21dc26c8f39 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantFloatColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class InstantInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,8 +46,8 @@ public DateTimeDateTimeFloatColumnTupleSource( @Override public final LongLongFloatTuple createTuple(final long rowKey) { return new LongLongFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -55,8 +55,8 @@ public final LongLongFloatTuple createTuple(final long rowKey) { @Override public final LongLongFloatTuple createPreviousTuple(final long rowKey) { return new LongLongFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -64,8 +64,8 @@ public final LongLongFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -73,8 +73,8 @@ public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... v @Override public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongFloatTuple @Override public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -114,10 +114,10 @@ public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongLongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongFloatTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeFloatColumnTupleSource( + return new InstantInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantInstantColumnTupleSource.java similarity index 58% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantInstantColumnTupleSource.java index aad8fce55a6..89b0f131cd3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantInstantColumnTupleSource.java @@ -10,30 +10,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public DateTimeDateTimeDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + public InstantInstantInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -44,36 +44,36 @@ public DateTimeDateTimeDateTimeColumnTupleSource( @Override public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -81,15 +81,15 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -98,13 +98,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -112,13 +112,13 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -126,28 +126,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeDateTimeColumnTupleSource( + return new InstantInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantIntegerColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantIntegerColumnTupleSource.java index 10893228420..94d20343f11 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantIntegerColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,8 +46,8 @@ public DateTimeDateTimeIntegerColumnTupleSource( @Override public final LongLongIntTuple createTuple(final long rowKey) { return new LongLongIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -55,8 +55,8 @@ public final LongLongIntTuple createTuple(final long rowKey) { @Override public final LongLongIntTuple createPreviousTuple(final long rowKey) { return new LongLongIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -64,8 +64,8 @@ public final LongLongIntTuple createPreviousTuple(final long rowKey) { @Override public final LongLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -73,8 +73,8 @@ public final LongLongIntTuple createTupleFromValues(@NotNull final Object... val @Override public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongIntTuple t @Override public final Object exportElement(@NotNull final LongLongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -114,10 +114,10 @@ public final Object exportElement(@NotNull final LongLongIntTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongLongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongIntTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeIntegerColumnTupleSource( + return new InstantInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantLongColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantLongColumnTupleSource.java index 5a9c2902112..89da0458757 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantLongColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class InstantInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,8 +46,8 @@ public DateTimeDateTimeLongColumnTupleSource( @Override public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -55,8 +55,8 @@ public final LongLongLongTuple createTuple(final long rowKey) { @Override public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -64,8 +64,8 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -73,8 +73,8 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -114,10 +114,10 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeLongColumnTupleSource( + return new InstantInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantObjectColumnTupleSource.java similarity index 68% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantObjectColumnTupleSource.java index fc2a1b8ace1..fcbc78dcfb6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantObjectColumnTupleSource.java @@ -10,29 +10,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongObjectTuple; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class InstantInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -44,8 +44,8 @@ public DateTimeDateTimeObjectColumnTupleSource( @Override public final LongLongObjectTuple createTuple(final long rowKey) { return new LongLongObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -53,8 +53,8 @@ public final LongLongObjectTuple createTuple(final long rowKey) { @Override public final LongLongObjectTuple createPreviousTuple(final long rowKey) { return new LongLongObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -62,8 +62,8 @@ public final LongLongObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -71,8 +71,8 @@ public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... @Override public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -81,11 +81,11 @@ public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -98,10 +98,10 @@ public final void exportElement(@NotNull final LongLongObjectTupl @Override public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -112,10 +112,10 @@ public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongLongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -126,28 +126,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongObjectTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeObjectColumnTupleSource( + return new InstantInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantReinterpretedBooleanColumnTupleSource.java similarity index 68% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantReinterpretedBooleanColumnTupleSource.java index 8e2c93f22aa..5b94d929f4f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantReinterpretedBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,8 +47,8 @@ public DateTimeDateTimeReinterpretedBooleanColumnTupleSource( @Override public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -56,8 +56,8 @@ public final LongLongByteTuple createTuple(final long rowKey) { @Override public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -65,8 +65,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -74,8 +74,8 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -84,11 +84,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -115,10 +115,10 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeReinterpretedBooleanColumnTupleSource( + return new InstantInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantReinterpretedInstantColumnTupleSource.java similarity index 66% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantReinterpretedInstantColumnTupleSource.java index e4f19b44bfa..ed049df959b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantReinterpretedInstantColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,8 +46,8 @@ public DateTimeDateTimeReinterpretedDateTimeColumnTupleSource( @Override public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -55,8 +55,8 @@ public final LongLongLongTuple createTuple(final long rowKey) { @Override public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -64,17 +64,17 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -83,15 +83,15 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,10 +114,10 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeReinterpretedDateTimeColumnTupleSource( + return new InstantInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantShortColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantShortColumnTupleSource.java index 953cfec5145..2bb5677119d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantInstantShortColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class InstantInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource1; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeDateTimeShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + public InstantInstantShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,8 +46,8 @@ public DateTimeDateTimeShortColumnTupleSource( @Override public final LongLongShortTuple createTuple(final long rowKey) { return new LongLongShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -55,8 +55,8 @@ public final LongLongShortTuple createTuple(final long rowKey) { @Override public final LongLongShortTuple createPreviousTuple(final long rowKey) { return new LongLongShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -64,8 +64,8 @@ public final LongLongShortTuple createPreviousTuple(final long rowKey) { @Override public final LongLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -73,8 +73,8 @@ public final LongLongShortTuple createTupleFromValues(@NotNull final Object... v @Override public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongShortTuple @Override public final Object exportElement(@NotNull final LongLongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -114,10 +114,10 @@ public final Object exportElement(@NotNull final LongLongShortTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongLongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongShortTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeDateTimeShortColumnTupleSource( + return new InstantInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerBooleanColumnTupleSource.java index 19bec39cc93..9df75ab2e87 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeIntegerBooleanColumnTupleSource( @Override public final LongIntByteTuple createTuple(final long rowKey) { return new LongIntByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -56,7 +56,7 @@ public final LongIntByteTuple createTuple(final long rowKey) { @Override public final LongIntByteTuple createPreviousTuple(final long rowKey) { return new LongIntByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -65,7 +65,7 @@ public final LongIntByteTuple createPreviousTuple(final long rowKey) { @Override public final LongIntByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongIntByteTuple createTupleFromValues(@NotNull final Object... val @Override public final LongIntByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntByteTuple t @Override public final Object exportElement(@NotNull final LongIntByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongIntByteTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongIntByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntByteTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongIntByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerBooleanColumnTupleSource( + return new InstantIntegerBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerByteColumnTupleSource.java index db918af7f18..e184f18333c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerByteColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerByteColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeIntegerByteColumnTupleSource( @Override public final LongIntByteTuple createTuple(final long rowKey) { return new LongIntByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongIntByteTuple createTuple(final long rowKey) { @Override public final LongIntByteTuple createPreviousTuple(final long rowKey) { return new LongIntByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongIntByteTuple createPreviousTuple(final long rowKey) { @Override public final LongIntByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -74,7 +74,7 @@ public final LongIntByteTuple createTupleFromValues(@NotNull final Object... val @Override public final LongIntByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntByteTuple t @Override public final Object exportElement(@NotNull final LongIntByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongIntByteTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongIntByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntByteTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongIntByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerByteColumnTupleSource( + return new InstantIntegerByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerCharacterColumnTupleSource.java index 95eac324f91..992422e28f0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeIntegerCharacterColumnTupleSource( @Override public final LongIntCharTuple createTuple(final long rowKey) { return new LongIntCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), columnSource3.getChar(rowKey) ); @@ -56,7 +56,7 @@ public final LongIntCharTuple createTuple(final long rowKey) { @Override public final LongIntCharTuple createPreviousTuple(final long rowKey) { return new LongIntCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), columnSource3.getPrevChar(rowKey) ); @@ -65,7 +65,7 @@ public final LongIntCharTuple createPreviousTuple(final long rowKey) { @Override public final LongIntCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -74,7 +74,7 @@ public final LongIntCharTuple createTupleFromValues(@NotNull final Object... val @Override public final LongIntCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntCharTuple t @Override public final Object exportElement(@NotNull final LongIntCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongIntCharTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongIntCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntCharTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongIntCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerCharacterColumnTupleSource( + return new InstantIntegerCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerColumnTupleSource.java index 18a0351fcf9..1c6639712ae 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -43,7 +43,7 @@ public DateTimeIntegerColumnTupleSource( @Override public final LongIntTuple createTuple(final long rowKey) { return new LongIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey) ); } @@ -51,7 +51,7 @@ public final LongIntTuple createTuple(final long rowKey) { @Override public final LongIntTuple createPreviousTuple(final long rowKey) { return new LongIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey) ); } @@ -59,7 +59,7 @@ public final LongIntTuple createPreviousTuple(final long rowKey) { @Override public final LongIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]) ); } @@ -67,7 +67,7 @@ public final LongIntTuple createTupleFromValues(@NotNull final Object... values) @Override public final LongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]) ); } @@ -76,7 +76,7 @@ public final LongIntTuple createTupleFromReinterpretedValues(@NotNull final Obje @Override public final void exportElement(@NotNull final LongIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongIntTuple tuple @Override public final Object exportElement(@NotNull final LongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -100,7 +100,7 @@ public final Object exportElement(@NotNull final LongIntTuple tuple, int element @Override public final Object exportElementReinterpreted(@NotNull final LongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -110,26 +110,26 @@ public final Object exportElementReinterpreted(@NotNull final LongIntTuple tuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii))); + destinationObjectChunk.set(ii, new LongIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantIntegerColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeIntegerColumnTupleSource( + return new InstantIntegerColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerDoubleColumnTupleSource.java index e21993743a3..05d01bcddcb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeIntegerDoubleColumnTupleSource( @Override public final LongIntDoubleTuple createTuple(final long rowKey) { return new LongIntDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), columnSource3.getDouble(rowKey) ); @@ -56,7 +56,7 @@ public final LongIntDoubleTuple createTuple(final long rowKey) { @Override public final LongIntDoubleTuple createPreviousTuple(final long rowKey) { return new LongIntDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), columnSource3.getPrevDouble(rowKey) ); @@ -65,7 +65,7 @@ public final LongIntDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongIntDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -74,7 +74,7 @@ public final LongIntDoubleTuple createTupleFromValues(@NotNull final Object... v @Override public final LongIntDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntDoubleTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongIntDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntDoubleTuple @Override public final Object exportElement(@NotNull final LongIntDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongIntDoubleTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongIntDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntDoubleTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongIntDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerDoubleColumnTupleSource( + return new InstantIntegerDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerFloatColumnTupleSource.java index b5e53b6a029..ef9f8ee52e9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerFloatColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeIntegerFloatColumnTupleSource( @Override public final LongIntFloatTuple createTuple(final long rowKey) { return new LongIntFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), columnSource3.getFloat(rowKey) ); @@ -56,7 +56,7 @@ public final LongIntFloatTuple createTuple(final long rowKey) { @Override public final LongIntFloatTuple createPreviousTuple(final long rowKey) { return new LongIntFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), columnSource3.getPrevFloat(rowKey) ); @@ -65,7 +65,7 @@ public final LongIntFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongIntFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -74,7 +74,7 @@ public final LongIntFloatTuple createTupleFromValues(@NotNull final Object... va @Override public final LongIntFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntFloatTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntFloatTuple @Override public final Object exportElement(@NotNull final LongIntFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongIntFloatTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongIntFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntFloatTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongIntFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerFloatColumnTupleSource( + return new InstantIntegerFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerInstantColumnTupleSource.java index d5e5f57a1bf..2f945f74127 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeIntegerDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -46,36 +46,36 @@ public DateTimeIntegerDateTimeColumnTupleSource( @Override public final LongIntLongTuple createTuple(final long rowKey) { return new LongIntLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongIntLongTuple createPreviousTuple(final long rowKey) { return new LongIntLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongIntLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongIntLongTuple t @Override public final Object exportElement(@NotNull final LongIntLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,13 +114,13 @@ public final Object exportElement(@NotNull final LongIntLongTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongIntLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntLongTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongIntLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerDateTimeColumnTupleSource( + return new InstantIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerIntegerColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerIntegerColumnTupleSource.java index 2529b240a96..3cc6156b3a7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerIntegerColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeIntegerIntegerColumnTupleSource( @Override public final LongIntIntTuple createTuple(final long rowKey) { return new LongIntIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), columnSource3.getInt(rowKey) ); @@ -55,7 +55,7 @@ public final LongIntIntTuple createTuple(final long rowKey) { @Override public final LongIntIntTuple createPreviousTuple(final long rowKey) { return new LongIntIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), columnSource3.getPrevInt(rowKey) ); @@ -64,7 +64,7 @@ public final LongIntIntTuple createPreviousTuple(final long rowKey) { @Override public final LongIntIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -73,7 +73,7 @@ public final LongIntIntTuple createTupleFromValues(@NotNull final Object... valu @Override public final LongIntIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -83,7 +83,7 @@ public final LongIntIntTuple createTupleFromReinterpretedValues(@NotNull final O @Override public final void exportElement(@NotNull final LongIntIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongIntIntTuple tu @Override public final Object exportElement(@NotNull final LongIntIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongIntIntTuple tuple, int elem @Override public final Object exportElementReinterpreted(@NotNull final LongIntIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntIntTuple tu @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongIntIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerIntegerColumnTupleSource( + return new InstantIntegerIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerLongColumnTupleSource.java index 13ffb2bc1f6..32b077c9081 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerLongColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerLongColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeIntegerLongColumnTupleSource( @Override public final LongIntLongTuple createTuple(final long rowKey) { return new LongIntLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongIntLongTuple createTuple(final long rowKey) { @Override public final LongIntLongTuple createPreviousTuple(final long rowKey) { return new LongIntLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,7 +65,7 @@ public final LongIntLongTuple createPreviousTuple(final long rowKey) { @Override public final LongIntLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -74,7 +74,7 @@ public final LongIntLongTuple createTupleFromValues(@NotNull final Object... val @Override public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntLongTuple t @Override public final Object exportElement(@NotNull final LongIntLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongIntLongTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongIntLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntLongTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongIntLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerLongColumnTupleSource( + return new InstantIntegerLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerObjectColumnTupleSource.java index 53cdc15a815..8bcdaebd097 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerObjectColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerObjectColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeIntegerObjectColumnTupleSource( @Override public final LongIntObjectTuple createTuple(final long rowKey) { return new LongIntObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), columnSource3.get(rowKey) ); @@ -55,7 +55,7 @@ public final LongIntObjectTuple createTuple(final long rowKey) { @Override public final LongIntObjectTuple createPreviousTuple(final long rowKey) { return new LongIntObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), columnSource3.getPrev(rowKey) ); @@ -64,7 +64,7 @@ public final LongIntObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongIntObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), values[2] ); @@ -73,7 +73,7 @@ public final LongIntObjectTuple createTupleFromValues(@NotNull final Object... v @Override public final LongIntObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), values[2] ); @@ -83,7 +83,7 @@ public final LongIntObjectTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongIntObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongIntObjectTuple @Override public final Object exportElement(@NotNull final LongIntObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongIntObjectTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongIntObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntObjectTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongIntObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerObjectColumnTupleSource( + return new InstantIntegerObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerReinterpretedBooleanColumnTupleSource.java index a2cf4493205..d61ce9fedb4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerReinterpretedBooleanColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeIntegerReinterpretedBooleanColumnTupleSource( @Override public final LongIntByteTuple createTuple(final long rowKey) { return new LongIntByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), columnSource3.getByte(rowKey) ); @@ -57,7 +57,7 @@ public final LongIntByteTuple createTuple(final long rowKey) { @Override public final LongIntByteTuple createPreviousTuple(final long rowKey) { return new LongIntByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -66,7 +66,7 @@ public final LongIntByteTuple createPreviousTuple(final long rowKey) { @Override public final LongIntByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -75,7 +75,7 @@ public final LongIntByteTuple createTupleFromValues(@NotNull final Object... val @Override public final LongIntByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -85,7 +85,7 @@ public final LongIntByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongIntByteTuple t @Override public final Object exportElement(@NotNull final LongIntByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongIntByteTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongIntByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntByteTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongIntByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerReinterpretedBooleanColumnTupleSource( + return new InstantIntegerReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerReinterpretedInstantColumnTupleSource.java index 9fc1dcb6c2a..4d9b803fe68 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeIntegerReinterpretedDateTimeColumnTupleSource( @Override public final LongIntLongTuple createTuple(final long rowKey) { return new LongIntLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongIntLongTuple createTuple(final long rowKey) { @Override public final LongIntLongTuple createPreviousTuple(final long rowKey) { return new LongIntLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,16 +65,16 @@ public final LongIntLongTuple createPreviousTuple(final long rowKey) { @Override public final LongIntLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongIntLongTuple t @Override public final Object exportElement(@NotNull final LongIntLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongIntLongTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongIntLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntLongTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongIntLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerReinterpretedDateTimeColumnTupleSource( + return new InstantIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerShortColumnTupleSource.java index f6b36af16d1..7a2c749d6ba 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeIntegerShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantIntegerShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Integer, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Integer, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeIntegerShortColumnTupleSource extends AbstractTupleSource { +public class InstantIntegerShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeIntegerShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantIntegerShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeIntegerShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantIntegerShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeIntegerShortColumnTupleSource( @Override public final LongIntShortTuple createTuple(final long rowKey) { return new LongIntShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getInt(rowKey), columnSource3.getShort(rowKey) ); @@ -56,7 +56,7 @@ public final LongIntShortTuple createTuple(final long rowKey) { @Override public final LongIntShortTuple createPreviousTuple(final long rowKey) { return new LongIntShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevInt(rowKey), columnSource3.getPrevShort(rowKey) ); @@ -65,7 +65,7 @@ public final LongIntShortTuple createPreviousTuple(final long rowKey) { @Override public final LongIntShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -74,7 +74,7 @@ public final LongIntShortTuple createTupleFromValues(@NotNull final Object... va @Override public final LongIntShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongIntShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntShortTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntShortTuple @Override public final Object exportElement(@NotNull final LongIntShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongIntShortTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongIntShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongIntShortTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongIntShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeIntegerShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantIntegerShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeIntegerShortColumnTupleSource( + return new InstantIntegerShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongBooleanColumnTupleSource.java index b947273041d..b5f388d1c7c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantLongBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeLongBooleanColumnTupleSource( @Override public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -56,7 +56,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { @Override public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -65,7 +65,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongBooleanColumnTupleSource( + return new InstantLongBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongByteColumnTupleSource.java index 9ed8d8bcfa2..bb24c04db84 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongByteColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongByteColumnTupleSource extends AbstractTupleSource { +public class InstantLongByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeLongByteColumnTupleSource( @Override public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { @Override public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -74,7 +74,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongByteColumnTupleSource( + return new InstantLongByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongCharacterColumnTupleSource.java index 0de2a84f70a..8416f10f0d5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantLongCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeLongCharacterColumnTupleSource( @Override public final LongLongCharTuple createTuple(final long rowKey) { return new LongLongCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getChar(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongCharTuple createTuple(final long rowKey) { @Override public final LongLongCharTuple createPreviousTuple(final long rowKey) { return new LongLongCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevChar(rowKey) ); @@ -65,7 +65,7 @@ public final LongLongCharTuple createPreviousTuple(final long rowKey) { @Override public final LongLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -74,7 +74,7 @@ public final LongLongCharTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongLongCharTuple @Override public final Object exportElement(@NotNull final LongLongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongCharTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongCharTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongCharacterColumnTupleSource( + return new InstantLongCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongColumnTupleSource.java similarity index 78% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongColumnTupleSource.java index c9cc4f4e3ea..b8eb7b827e5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongColumnTupleSource extends AbstractTupleSource { +public class InstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantLongColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -43,7 +43,7 @@ public DateTimeLongColumnTupleSource( @Override public final LongLongTuple createTuple(final long rowKey) { return new LongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey) ); } @@ -51,7 +51,7 @@ public final LongLongTuple createTuple(final long rowKey) { @Override public final LongLongTuple createPreviousTuple(final long rowKey) { return new LongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey) ); } @@ -59,7 +59,7 @@ public final LongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]) ); } @@ -67,7 +67,7 @@ public final LongLongTuple createTupleFromValues(@NotNull final Object... values @Override public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]) ); } @@ -76,7 +76,7 @@ public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongLongTuple tupl @Override public final Object exportElement(@NotNull final LongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -100,7 +100,7 @@ public final Object exportElement(@NotNull final LongLongTuple tuple, int elemen @Override public final Object exportElementReinterpreted(@NotNull final LongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -110,26 +110,26 @@ public final Object exportElementReinterpreted(@NotNull final LongLongTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii))); + destinationObjectChunk.set(ii, new LongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeLongColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantLongColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeLongColumnTupleSource( + return new InstantLongColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongDoubleColumnTupleSource.java index e457c0665c8..9199eb2159f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantLongDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeLongDoubleColumnTupleSource( @Override public final LongLongDoubleTuple createTuple(final long rowKey) { return new LongLongDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getDouble(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongDoubleTuple createTuple(final long rowKey) { @Override public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { return new LongLongDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevDouble(rowKey) ); @@ -65,7 +65,7 @@ public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -74,7 +74,7 @@ public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... @Override public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongLongDoubleTupl @Override public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongLongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongDoubleTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongDoubleColumnTupleSource( + return new InstantLongDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongFloatColumnTupleSource.java index fe3d857be76..08bdf4ce32a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongFloatColumnTupleSource extends AbstractTupleSource { +public class InstantLongFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeLongFloatColumnTupleSource( @Override public final LongLongFloatTuple createTuple(final long rowKey) { return new LongLongFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getFloat(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongFloatTuple createTuple(final long rowKey) { @Override public final LongLongFloatTuple createPreviousTuple(final long rowKey) { return new LongLongFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevFloat(rowKey) ); @@ -65,7 +65,7 @@ public final LongLongFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -74,7 +74,7 @@ public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... v @Override public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongLongFloatTuple @Override public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongLongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongFloatTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongFloatColumnTupleSource( + return new InstantLongFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongInstantColumnTupleSource.java index de299114ec9..83a8920b30a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeLongDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -46,36 +46,36 @@ public DateTimeLongDateTimeColumnTupleSource( @Override public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,13 +114,13 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongDateTimeColumnTupleSource( + return new InstantLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongIntegerColumnTupleSource.java index 3c43cf2c7ef..c9b88ed0064 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantLongIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeLongIntegerColumnTupleSource( @Override public final LongLongIntTuple createTuple(final long rowKey) { return new LongLongIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getInt(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongIntTuple createTuple(final long rowKey) { @Override public final LongLongIntTuple createPreviousTuple(final long rowKey) { return new LongLongIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevInt(rowKey) ); @@ -65,7 +65,7 @@ public final LongLongIntTuple createPreviousTuple(final long rowKey) { @Override public final LongLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -74,7 +74,7 @@ public final LongLongIntTuple createTupleFromValues(@NotNull final Object... val @Override public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongLongIntTuple t @Override public final Object exportElement(@NotNull final LongLongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongIntTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongLongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongIntTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongIntegerColumnTupleSource( + return new InstantLongIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongLongColumnTupleSource.java index bcc45fd0d5d..bdd599d0975 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongLongColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongLongColumnTupleSource extends AbstractTupleSource { +public class InstantLongLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeLongLongColumnTupleSource( @Override public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getLong(rowKey) ); @@ -55,7 +55,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { @Override public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -64,7 +64,7 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -73,7 +73,7 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongLongColumnTupleSource( + return new InstantLongLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongObjectColumnTupleSource.java index 78b4dc0f846..0c8df00a60c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongObjectColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongObjectColumnTupleSource extends AbstractTupleSource { +public class InstantLongObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeLongObjectColumnTupleSource( @Override public final LongLongObjectTuple createTuple(final long rowKey) { return new LongLongObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.get(rowKey) ); @@ -55,7 +55,7 @@ public final LongLongObjectTuple createTuple(final long rowKey) { @Override public final LongLongObjectTuple createPreviousTuple(final long rowKey) { return new LongLongObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrev(rowKey) ); @@ -64,7 +64,7 @@ public final LongLongObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), values[2] ); @@ -73,7 +73,7 @@ public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... @Override public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), values[2] ); @@ -83,7 +83,7 @@ public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongLongObjectTupl @Override public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongLongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongObjectTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongObjectColumnTupleSource( + return new InstantLongObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongReinterpretedBooleanColumnTupleSource.java index 104475b3ab7..a86ba4a6753 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongReinterpretedBooleanColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantLongReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeLongReinterpretedBooleanColumnTupleSource( @Override public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getByte(rowKey) ); @@ -57,7 +57,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { @Override public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -66,7 +66,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -75,7 +75,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -85,7 +85,7 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongReinterpretedBooleanColumnTupleSource( + return new InstantLongReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongReinterpretedInstantColumnTupleSource.java index f367d15394c..d3d687c2524 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeLongReinterpretedDateTimeColumnTupleSource( @Override public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getLong(rowKey) ); @@ -55,7 +55,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { @Override public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -64,16 +64,16 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongReinterpretedDateTimeColumnTupleSource( + return new InstantLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongShortColumnTupleSource.java index 2dceb73089c..7e64a8f6ce4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeLongShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantLongShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeLongShortColumnTupleSource extends AbstractTupleSource { +public class InstantLongShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeLongShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantLongShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeLongShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantLongShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeLongShortColumnTupleSource( @Override public final LongLongShortTuple createTuple(final long rowKey) { return new LongLongShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getShort(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongShortTuple createTuple(final long rowKey) { @Override public final LongLongShortTuple createPreviousTuple(final long rowKey) { return new LongLongShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevShort(rowKey) ); @@ -65,7 +65,7 @@ public final LongLongShortTuple createPreviousTuple(final long rowKey) { @Override public final LongLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -74,7 +74,7 @@ public final LongLongShortTuple createTupleFromValues(@NotNull final Object... v @Override public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongLongShortTuple @Override public final Object exportElement(@NotNull final LongLongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongShortTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongLongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongShortTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeLongShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantLongShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeLongShortColumnTupleSource( + return new InstantLongShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectBooleanColumnTupleSource.java index 4bf34a0edd2..0e07852447c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectBooleanColumnTupleSource.java @@ -10,29 +10,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectByteTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantObjectBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -45,7 +45,7 @@ public DateTimeObjectBooleanColumnTupleSource( @Override public final LongObjectByteTuple createTuple(final long rowKey) { return new LongObjectByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -54,7 +54,7 @@ public final LongObjectByteTuple createTuple(final long rowKey) { @Override public final LongObjectByteTuple createPreviousTuple(final long rowKey) { return new LongObjectByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -63,7 +63,7 @@ public final LongObjectByteTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -72,7 +72,7 @@ public final LongObjectByteTuple createTupleFromValues(@NotNull final Object... @Override public final LongObjectByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -82,7 +82,7 @@ public final LongObjectByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -99,7 +99,7 @@ public final void exportElement(@NotNull final LongObjectByteTupl @Override public final Object exportElement(@NotNull final LongObjectByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -113,7 +113,7 @@ public final Object exportElement(@NotNull final LongObjectByteTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongObjectByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -127,28 +127,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectByteTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongObjectByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectBooleanColumnTupleSource( + return new InstantObjectBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectByteColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectByteColumnTupleSource.java index 457167e9f06..73f2fb039a6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectByteColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectByteColumnTupleSource extends AbstractTupleSource { +public class InstantObjectByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeObjectByteColumnTupleSource( @Override public final LongObjectByteTuple createTuple(final long rowKey) { return new LongObjectByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), columnSource3.getByte(rowKey) ); @@ -55,7 +55,7 @@ public final LongObjectByteTuple createTuple(final long rowKey) { @Override public final LongObjectByteTuple createPreviousTuple(final long rowKey) { return new LongObjectByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -64,7 +64,7 @@ public final LongObjectByteTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Byte)values[2]) ); @@ -73,7 +73,7 @@ public final LongObjectByteTuple createTupleFromValues(@NotNull final Object... @Override public final LongObjectByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Byte)values[2]) ); @@ -83,7 +83,7 @@ public final LongObjectByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongObjectByteTupl @Override public final Object exportElement(@NotNull final LongObjectByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongObjectByteTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongObjectByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectByteTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongObjectByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectByteColumnTupleSource( + return new InstantObjectByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectCharacterColumnTupleSource.java index 68960ba11da..f2c13233ca8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectCharacterColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantObjectCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeObjectCharacterColumnTupleSource( @Override public final LongObjectCharTuple createTuple(final long rowKey) { return new LongObjectCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), columnSource3.getChar(rowKey) ); @@ -55,7 +55,7 @@ public final LongObjectCharTuple createTuple(final long rowKey) { @Override public final LongObjectCharTuple createPreviousTuple(final long rowKey) { return new LongObjectCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), columnSource3.getPrevChar(rowKey) ); @@ -64,7 +64,7 @@ public final LongObjectCharTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Character)values[2]) ); @@ -73,7 +73,7 @@ public final LongObjectCharTuple createTupleFromValues(@NotNull final Object... @Override public final LongObjectCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Character)values[2]) ); @@ -83,7 +83,7 @@ public final LongObjectCharTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongObjectCharTupl @Override public final Object exportElement(@NotNull final LongObjectCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongObjectCharTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongObjectCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectCharTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongObjectCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectCharacterColumnTupleSource( + return new InstantObjectCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectColumnTupleSource.java index 0980e183ad7..a7f4d042568 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectColumnTupleSource.java @@ -10,27 +10,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectTuple; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class InstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantObjectColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -41,7 +41,7 @@ public DateTimeObjectColumnTupleSource( @Override public final LongObjectTuple createTuple(final long rowKey) { return new LongObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey) ); } @@ -49,7 +49,7 @@ public final LongObjectTuple createTuple(final long rowKey) { @Override public final LongObjectTuple createPreviousTuple(final long rowKey) { return new LongObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey) ); } @@ -57,7 +57,7 @@ public final LongObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1] ); } @@ -65,7 +65,7 @@ public final LongObjectTuple createTupleFromValues(@NotNull final Object... valu @Override public final LongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1] ); } @@ -74,7 +74,7 @@ public final LongObjectTuple createTupleFromReinterpretedValues(@NotNull final O @Override public final void exportElement(@NotNull final LongObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final LongObjectTuple tu @Override public final Object exportElement(@NotNull final LongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -98,7 +98,7 @@ public final Object exportElement(@NotNull final LongObjectTuple tuple, int elem @Override public final Object exportElementReinterpreted(@NotNull final LongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -108,26 +108,26 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectTuple tu protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii))); + destinationObjectChunk.set(ii, new LongObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantObjectColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeObjectColumnTupleSource( + return new InstantObjectColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectDoubleColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectDoubleColumnTupleSource.java index 35bd22e9e75..324690df2a5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectDoubleColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantObjectDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeObjectDoubleColumnTupleSource( @Override public final LongObjectDoubleTuple createTuple(final long rowKey) { return new LongObjectDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), columnSource3.getDouble(rowKey) ); @@ -55,7 +55,7 @@ public final LongObjectDoubleTuple createTuple(final long rowKey) { @Override public final LongObjectDoubleTuple createPreviousTuple(final long rowKey) { return new LongObjectDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), columnSource3.getPrevDouble(rowKey) ); @@ -64,7 +64,7 @@ public final LongObjectDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Double)values[2]) ); @@ -73,7 +73,7 @@ public final LongObjectDoubleTuple createTupleFromValues(@NotNull final Object.. @Override public final LongObjectDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Double)values[2]) ); @@ -83,7 +83,7 @@ public final LongObjectDoubleTuple createTupleFromReinterpretedValues(@NotNull f @Override public final void exportElement(@NotNull final LongObjectDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongObjectDoubleTu @Override public final Object exportElement(@NotNull final LongObjectDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongObjectDoubleTuple tuple, in @Override public final Object exportElementReinterpreted(@NotNull final LongObjectDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectDoubleTu @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongObjectDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectDoubleColumnTupleSource( + return new InstantObjectDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectFloatColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectFloatColumnTupleSource.java index 9cd495a70b7..d08dc0e3f5d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectFloatColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectFloatColumnTupleSource extends AbstractTupleSource { +public class InstantObjectFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeObjectFloatColumnTupleSource( @Override public final LongObjectFloatTuple createTuple(final long rowKey) { return new LongObjectFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), columnSource3.getFloat(rowKey) ); @@ -55,7 +55,7 @@ public final LongObjectFloatTuple createTuple(final long rowKey) { @Override public final LongObjectFloatTuple createPreviousTuple(final long rowKey) { return new LongObjectFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), columnSource3.getPrevFloat(rowKey) ); @@ -64,7 +64,7 @@ public final LongObjectFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Float)values[2]) ); @@ -73,7 +73,7 @@ public final LongObjectFloatTuple createTupleFromValues(@NotNull final Object... @Override public final LongObjectFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Float)values[2]) ); @@ -83,7 +83,7 @@ public final LongObjectFloatTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongObjectFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongObjectFloatTup @Override public final Object exportElement(@NotNull final LongObjectFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongObjectFloatTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongObjectFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectFloatTup @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongObjectFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectFloatColumnTupleSource( + return new InstantObjectFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectInstantColumnTupleSource.java similarity index 68% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectInstantColumnTupleSource.java index 7bdeb410dac..a896d100a10 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectInstantColumnTupleSource.java @@ -10,30 +10,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectLongTuple; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeObjectDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -44,36 +44,36 @@ public DateTimeObjectDateTimeColumnTupleSource( @Override public final LongObjectLongTuple createTuple(final long rowKey) { return new LongObjectLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongObjectLongTuple createPreviousTuple(final long rowKey) { return new LongObjectLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongObjectLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -81,7 +81,7 @@ public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -98,13 +98,13 @@ public final void exportElement(@NotNull final LongObjectLongTupl @Override public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -112,13 +112,13 @@ public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongObjectLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -126,28 +126,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectLongTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongObjectLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectDateTimeColumnTupleSource( + return new InstantObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectIntegerColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectIntegerColumnTupleSource.java index ff794c64193..972e7611290 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectIntegerColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantObjectIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeObjectIntegerColumnTupleSource( @Override public final LongObjectIntTuple createTuple(final long rowKey) { return new LongObjectIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), columnSource3.getInt(rowKey) ); @@ -55,7 +55,7 @@ public final LongObjectIntTuple createTuple(final long rowKey) { @Override public final LongObjectIntTuple createPreviousTuple(final long rowKey) { return new LongObjectIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), columnSource3.getPrevInt(rowKey) ); @@ -64,7 +64,7 @@ public final LongObjectIntTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Integer)values[2]) ); @@ -73,7 +73,7 @@ public final LongObjectIntTuple createTupleFromValues(@NotNull final Object... v @Override public final LongObjectIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Integer)values[2]) ); @@ -83,7 +83,7 @@ public final LongObjectIntTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongObjectIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongObjectIntTuple @Override public final Object exportElement(@NotNull final LongObjectIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongObjectIntTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongObjectIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectIntTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongObjectIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectIntegerColumnTupleSource( + return new InstantObjectIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectLongColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectLongColumnTupleSource.java index 8f852b0f5de..a000209d605 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectLongColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectLongColumnTupleSource extends AbstractTupleSource { +public class InstantObjectLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeObjectLongColumnTupleSource( @Override public final LongObjectLongTuple createTuple(final long rowKey) { return new LongObjectLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), columnSource3.getLong(rowKey) ); @@ -55,7 +55,7 @@ public final LongObjectLongTuple createTuple(final long rowKey) { @Override public final LongObjectLongTuple createPreviousTuple(final long rowKey) { return new LongObjectLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -64,7 +64,7 @@ public final LongObjectLongTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Long)values[2]) ); @@ -73,7 +73,7 @@ public final LongObjectLongTuple createTupleFromValues(@NotNull final Object... @Override public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongObjectLongTupl @Override public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongObjectLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectLongTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongObjectLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectLongColumnTupleSource( + return new InstantObjectLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectObjectColumnTupleSource.java index edc5c080a7c..16ba1d62b3f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectObjectColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectObjectTuple; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectObjectColumnTupleSource extends AbstractTupleSource { +public class InstantObjectObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -44,7 +44,7 @@ public DateTimeObjectObjectColumnTupleSource( @Override public final LongObjectObjectTuple createTuple(final long rowKey) { return new LongObjectObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), columnSource3.get(rowKey) ); @@ -53,7 +53,7 @@ public final LongObjectObjectTuple createTuple(final long rowKey) { @Override public final LongObjectObjectTuple createPreviousTuple(final long rowKey) { return new LongObjectObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), columnSource3.getPrev(rowKey) ); @@ -62,7 +62,7 @@ public final LongObjectObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], values[2] ); @@ -71,7 +71,7 @@ public final LongObjectObjectTuple createTupleFromValues(@NotNull final Object.. @Override public final LongObjectObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], values[2] ); @@ -81,7 +81,7 @@ public final LongObjectObjectTuple createTupleFromReinterpretedValues(@NotNull f @Override public final void exportElement(@NotNull final LongObjectObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -98,7 +98,7 @@ public final void exportElement(@NotNull final LongObjectObjectTu @Override public final Object exportElement(@NotNull final LongObjectObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -112,7 +112,7 @@ public final Object exportElement(@NotNull final LongObjectObjectTuple tuple, in @Override public final Object exportElementReinterpreted(@NotNull final LongObjectObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -126,28 +126,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectObjectTu @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongObjectObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectObjectColumnTupleSource( + return new InstantObjectObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectReinterpretedBooleanColumnTupleSource.java index 26faa041e4a..07af3a6cf40 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectReinterpretedBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantObjectReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeObjectReinterpretedBooleanColumnTupleSource( @Override public final LongObjectByteTuple createTuple(final long rowKey) { return new LongObjectByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongObjectByteTuple createTuple(final long rowKey) { @Override public final LongObjectByteTuple createPreviousTuple(final long rowKey) { return new LongObjectByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongObjectByteTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongObjectByteTuple createTupleFromValues(@NotNull final Object... @Override public final LongObjectByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongObjectByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongObjectByteTupl @Override public final Object exportElement(@NotNull final LongObjectByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongObjectByteTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongObjectByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectByteTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongObjectByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectReinterpretedBooleanColumnTupleSource( + return new InstantObjectReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectReinterpretedInstantColumnTupleSource.java index ece5e2d7b62..e372e607353 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeObjectReinterpretedDateTimeColumnTupleSource( @Override public final LongObjectLongTuple createTuple(final long rowKey) { return new LongObjectLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), columnSource3.getLong(rowKey) ); @@ -55,7 +55,7 @@ public final LongObjectLongTuple createTuple(final long rowKey) { @Override public final LongObjectLongTuple createPreviousTuple(final long rowKey) { return new LongObjectLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -64,16 +64,16 @@ public final LongObjectLongTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongObjectLongTupl @Override public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongObjectLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectLongTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongObjectLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectReinterpretedDateTimeColumnTupleSource( + return new InstantObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectShortColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectShortColumnTupleSource.java index 5451a98ec35..bbda4d7ad9b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeObjectShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantObjectShortColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Object, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Object, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeObjectShortColumnTupleSource extends AbstractTupleSource { +public class InstantObjectShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeObjectShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantObjectShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeObjectShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantObjectShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeObjectShortColumnTupleSource( @Override public final LongObjectShortTuple createTuple(final long rowKey) { return new LongObjectShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.get(rowKey), columnSource3.getShort(rowKey) ); @@ -55,7 +55,7 @@ public final LongObjectShortTuple createTuple(final long rowKey) { @Override public final LongObjectShortTuple createPreviousTuple(final long rowKey) { return new LongObjectShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrev(rowKey), columnSource3.getPrevShort(rowKey) ); @@ -64,7 +64,7 @@ public final LongObjectShortTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Short)values[2]) ); @@ -73,7 +73,7 @@ public final LongObjectShortTuple createTupleFromValues(@NotNull final Object... @Override public final LongObjectShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongObjectShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Short)values[2]) ); @@ -83,7 +83,7 @@ public final LongObjectShortTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongObjectShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongObjectShortTup @Override public final Object exportElement(@NotNull final LongObjectShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongObjectShortTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongObjectShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectShortTup @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongObjectShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeObjectShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantObjectShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeObjectShortColumnTupleSource( + return new InstantObjectShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanBooleanColumnTupleSource.java index cdb0f7ded19..62b8aabeeeb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedBooleanBooleanColumnTupleSource( @Override public final LongByteByteTuple createTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -56,7 +56,7 @@ public final LongByteByteTuple createTuple(final long rowKey) { @Override public final LongByteByteTuple createPreviousTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanBooleanColumnTupleSource( + return new InstantReinterpretedBooleanBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanByteColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanByteColumnTupleSource.java index 613e348daaf..d5d30e9eca7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanByteColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanByteColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedBooleanByteColumnTupleSource( @Override public final LongByteByteTuple createTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteByteTuple createTuple(final long rowKey) { @Override public final LongByteByteTuple createPreviousTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanByteColumnTupleSource( + return new InstantReinterpretedBooleanByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanCharacterColumnTupleSource.java index db016ec1100..93c0b915d39 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanCharacterColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteCharTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeReinterpretedBooleanCharacterColumnTupleSource( @Override public final LongByteCharTuple createTuple(final long rowKey) { return new LongByteCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getChar(rowKey) ); @@ -57,7 +57,7 @@ public final LongByteCharTuple createTuple(final long rowKey) { @Override public final LongByteCharTuple createPreviousTuple(final long rowKey) { return new LongByteCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevChar(rowKey) ); @@ -66,7 +66,7 @@ public final LongByteCharTuple createPreviousTuple(final long rowKey) { @Override public final LongByteCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -75,7 +75,7 @@ public final LongByteCharTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteCharTuple @Override public final Object exportElement(@NotNull final LongByteCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongByteCharTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteCharTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanCharacterColumnTupleSource( + return new InstantReinterpretedBooleanCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanColumnTupleSource.java index 3dcf27efd06..bcebc0d59a5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -44,7 +44,7 @@ public DateTimeReinterpretedBooleanColumnTupleSource( @Override public final LongByteTuple createTuple(final long rowKey) { return new LongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey) ); } @@ -52,7 +52,7 @@ public final LongByteTuple createTuple(final long rowKey) { @Override public final LongByteTuple createPreviousTuple(final long rowKey) { return new LongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey) ); } @@ -60,7 +60,7 @@ public final LongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]) ); } @@ -68,7 +68,7 @@ public final LongByteTuple createTupleFromValues(@NotNull final Object... values @Override public final LongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]) ); } @@ -77,7 +77,7 @@ public final LongByteTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -90,7 +90,7 @@ public final void exportElement(@NotNull final LongByteTuple tupl @Override public final Object exportElement(@NotNull final LongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -101,7 +101,7 @@ public final Object exportElement(@NotNull final LongByteTuple tuple, int elemen @Override public final Object exportElementReinterpreted(@NotNull final LongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -111,26 +111,26 @@ public final Object exportElementReinterpreted(@NotNull final LongByteTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii))); + destinationObjectChunk.set(ii, new LongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeReinterpretedBooleanColumnTupleSource( + return new InstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanDoubleColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanDoubleColumnTupleSource.java index afecfd20216..e708ca3dabd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanDoubleColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteDoubleTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeReinterpretedBooleanDoubleColumnTupleSource( @Override public final LongByteDoubleTuple createTuple(final long rowKey) { return new LongByteDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getDouble(rowKey) ); @@ -57,7 +57,7 @@ public final LongByteDoubleTuple createTuple(final long rowKey) { @Override public final LongByteDoubleTuple createPreviousTuple(final long rowKey) { return new LongByteDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevDouble(rowKey) ); @@ -66,7 +66,7 @@ public final LongByteDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongByteDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -75,7 +75,7 @@ public final LongByteDoubleTuple createTupleFromValues(@NotNull final Object... @Override public final LongByteDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteDoubleTupl @Override public final Object exportElement(@NotNull final LongByteDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongByteDoubleTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongByteDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteDoubleTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanDoubleColumnTupleSource( + return new InstantReinterpretedBooleanDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanFloatColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanFloatColumnTupleSource.java index 0b2422e5e84..1c2864937c6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanFloatColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteFloatTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanFloatColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeReinterpretedBooleanFloatColumnTupleSource( @Override public final LongByteFloatTuple createTuple(final long rowKey) { return new LongByteFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getFloat(rowKey) ); @@ -57,7 +57,7 @@ public final LongByteFloatTuple createTuple(final long rowKey) { @Override public final LongByteFloatTuple createPreviousTuple(final long rowKey) { return new LongByteFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevFloat(rowKey) ); @@ -66,7 +66,7 @@ public final LongByteFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongByteFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -75,7 +75,7 @@ public final LongByteFloatTuple createTupleFromValues(@NotNull final Object... v @Override public final LongByteFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteFloatTuple @Override public final Object exportElement(@NotNull final LongByteFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongByteFloatTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongByteFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteFloatTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanFloatColumnTupleSource( + return new InstantReinterpretedBooleanFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanInstantColumnTupleSource.java index 69d3b254b86..b6359969a2c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,36 +47,36 @@ public DateTimeReinterpretedBooleanDateTimeColumnTupleSource( @Override public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -115,13 +115,13 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanDateTimeColumnTupleSource( + return new InstantReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanIntegerColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanIntegerColumnTupleSource.java index 2cde9d1aa31..70d022cd69b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanIntegerColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteIntTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeReinterpretedBooleanIntegerColumnTupleSource( @Override public final LongByteIntTuple createTuple(final long rowKey) { return new LongByteIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getInt(rowKey) ); @@ -57,7 +57,7 @@ public final LongByteIntTuple createTuple(final long rowKey) { @Override public final LongByteIntTuple createPreviousTuple(final long rowKey) { return new LongByteIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevInt(rowKey) ); @@ -66,7 +66,7 @@ public final LongByteIntTuple createPreviousTuple(final long rowKey) { @Override public final LongByteIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -75,7 +75,7 @@ public final LongByteIntTuple createTupleFromValues(@NotNull final Object... val @Override public final LongByteIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteIntTuple t @Override public final Object exportElement(@NotNull final LongByteIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongByteIntTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongByteIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteIntTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanIntegerColumnTupleSource( + return new InstantReinterpretedBooleanIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanLongColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanLongColumnTupleSource.java index 2cbae46b1d8..42308fb55a6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanLongColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanLongColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeReinterpretedBooleanLongColumnTupleSource( @Override public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getLong(rowKey) ); @@ -57,7 +57,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { @Override public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -66,7 +66,7 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -75,7 +75,7 @@ public final LongByteLongTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanLongColumnTupleSource( + return new InstantReinterpretedBooleanLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanObjectColumnTupleSource.java index 7f287238695..2c9d21ce7ba 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanObjectColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteObjectTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanObjectColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedBooleanObjectColumnTupleSource( @Override public final LongByteObjectTuple createTuple(final long rowKey) { return new LongByteObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.get(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteObjectTuple createTuple(final long rowKey) { @Override public final LongByteObjectTuple createPreviousTuple(final long rowKey) { return new LongByteObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrev(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongByteObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), values[2] ); @@ -74,7 +74,7 @@ public final LongByteObjectTuple createTupleFromValues(@NotNull final Object... @Override public final LongByteObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), values[2] ); @@ -84,7 +84,7 @@ public final LongByteObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteObjectTupl @Override public final Object exportElement(@NotNull final LongByteObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteObjectTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongByteObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteObjectTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanObjectColumnTupleSource( + return new InstantReinterpretedBooleanObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java similarity index 78% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java index d6fa3cc9cf1..3bfc3b9d29c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource( @Override public final LongByteByteTuple createTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongByteByteTuple createTuple(final long rowKey) { @Override public final LongByteByteTuple createPreviousTuple(final long rowKey) { return new LongByteByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongByteByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongByteByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource( + return new InstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index fcea214cc53..ac7958efe82 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( @Override public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getLong(rowKey) ); @@ -57,7 +57,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { @Override public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -66,16 +66,16 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -102,13 +102,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new InstantReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanShortColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanShortColumnTupleSource.java index f24ac57ca81..888a1e9318d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedBooleanShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedBooleanShortColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteShortTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Byte, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Byte, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedBooleanShortColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedBooleanShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedBooleanShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedBooleanShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedBooleanShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedBooleanShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeReinterpretedBooleanShortColumnTupleSource( @Override public final LongByteShortTuple createTuple(final long rowKey) { return new LongByteShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getByte(rowKey), columnSource3.getShort(rowKey) ); @@ -57,7 +57,7 @@ public final LongByteShortTuple createTuple(final long rowKey) { @Override public final LongByteShortTuple createPreviousTuple(final long rowKey) { return new LongByteShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevByte(rowKey), columnSource3.getPrevShort(rowKey) ); @@ -66,7 +66,7 @@ public final LongByteShortTuple createPreviousTuple(final long rowKey) { @Override public final LongByteShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -75,7 +75,7 @@ public final LongByteShortTuple createTupleFromValues(@NotNull final Object... v @Override public final LongByteShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongByteShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteShortTuple @Override public final Object exportElement(@NotNull final LongByteShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongByteShortTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongByteShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongByteShortTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongByteShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedBooleanShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedBooleanShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedBooleanShortColumnTupleSource( + return new InstantReinterpretedBooleanShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantBooleanColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantBooleanColumnTupleSource.java index fcea8635f65..5daae0e8396 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedDateTimeBooleanColumnTupleSource( @Override public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -56,7 +56,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { @Override public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -65,8 +65,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,11 +84,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeBooleanColumnTupleSource( + return new InstantReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantByteColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantByteColumnTupleSource.java index e83a3bf2163..a4cf067bed6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantByteColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedDateTimeByteColumnTupleSource( @Override public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { @Override public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,8 +65,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,11 +84,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeByteColumnTupleSource( + return new InstantReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantCharacterColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantCharacterColumnTupleSource.java index b9747d38957..f6105b1bce9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedDateTimeCharacterColumnTupleSource( @Override public final LongLongCharTuple createTuple(final long rowKey) { return new LongLongCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getChar(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongCharTuple createTuple(final long rowKey) { @Override public final LongLongCharTuple createPreviousTuple(final long rowKey) { return new LongLongCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevChar(rowKey) ); @@ -65,8 +65,8 @@ public final LongLongCharTuple createPreviousTuple(final long rowKey) { @Override public final LongLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongCharTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,11 +84,11 @@ public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongCharTuple @Override public final Object exportElement(@NotNull final LongLongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongCharTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongCharTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeCharacterColumnTupleSource( + return new InstantReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantColumnTupleSource.java similarity index 73% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantColumnTupleSource.java index 5482ad6db27..a27e47bae64 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -43,7 +43,7 @@ public DateTimeReinterpretedDateTimeColumnTupleSource( @Override public final LongLongTuple createTuple(final long rowKey) { return new LongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey) ); } @@ -51,7 +51,7 @@ public final LongLongTuple createTuple(final long rowKey) { @Override public final LongLongTuple createPreviousTuple(final long rowKey) { return new LongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey) ); } @@ -59,15 +59,15 @@ public final LongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]) ); } @Override public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]) ); } @@ -76,11 +76,11 @@ public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -89,10 +89,10 @@ public final void exportElement(@NotNull final LongLongTuple tupl @Override public final Object exportElement(@NotNull final LongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -100,7 +100,7 @@ public final Object exportElement(@NotNull final LongLongTuple tuple, int elemen @Override public final Object exportElementReinterpreted(@NotNull final LongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -110,26 +110,26 @@ public final Object exportElementReinterpreted(@NotNull final LongLongTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii))); + destinationObjectChunk.set(ii, new LongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeReinterpretedDateTimeColumnTupleSource( + return new InstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantDoubleColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantDoubleColumnTupleSource.java index 927d9c9662c..24ae479e838 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedDateTimeDoubleColumnTupleSource( @Override public final LongLongDoubleTuple createTuple(final long rowKey) { return new LongLongDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getDouble(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongDoubleTuple createTuple(final long rowKey) { @Override public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { return new LongLongDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevDouble(rowKey) ); @@ -65,8 +65,8 @@ public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... @Override public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,11 +84,11 @@ public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongDoubleTupl @Override public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongLongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongDoubleTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeDoubleColumnTupleSource( + return new InstantReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantFloatColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantFloatColumnTupleSource.java index 8c118192c37..61eb145302a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedDateTimeFloatColumnTupleSource( @Override public final LongLongFloatTuple createTuple(final long rowKey) { return new LongLongFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getFloat(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongFloatTuple createTuple(final long rowKey) { @Override public final LongLongFloatTuple createPreviousTuple(final long rowKey) { return new LongLongFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevFloat(rowKey) ); @@ -65,8 +65,8 @@ public final LongLongFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... v @Override public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,11 +84,11 @@ public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongFloatTuple @Override public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongLongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongFloatTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeFloatColumnTupleSource( + return new InstantReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantInstantColumnTupleSource.java similarity index 66% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantInstantColumnTupleSource.java index d0efec95da9..af84b35e27c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -46,36 +46,36 @@ public DateTimeReinterpretedDateTimeDateTimeColumnTupleSource( @Override public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,15 +83,15 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,13 +114,13 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeDateTimeColumnTupleSource( + return new InstantReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantIntegerColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantIntegerColumnTupleSource.java index 8cabd699cb4..990cf0e896d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedDateTimeIntegerColumnTupleSource( @Override public final LongLongIntTuple createTuple(final long rowKey) { return new LongLongIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getInt(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongIntTuple createTuple(final long rowKey) { @Override public final LongLongIntTuple createPreviousTuple(final long rowKey) { return new LongLongIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevInt(rowKey) ); @@ -65,8 +65,8 @@ public final LongLongIntTuple createPreviousTuple(final long rowKey) { @Override public final LongLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongIntTuple createTupleFromValues(@NotNull final Object... val @Override public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,11 +84,11 @@ public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongIntTuple t @Override public final Object exportElement(@NotNull final LongLongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongIntTuple tuple, int ele @Override public final Object exportElementReinterpreted(@NotNull final LongLongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongIntTuple t @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeIntegerColumnTupleSource( + return new InstantReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantLongColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantLongColumnTupleSource.java index b56bde8badf..2f28e062af0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantLongColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeReinterpretedDateTimeLongColumnTupleSource( @Override public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getLong(rowKey) ); @@ -55,7 +55,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { @Override public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -64,8 +64,8 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -73,7 +73,7 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -83,11 +83,11 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeLongColumnTupleSource( + return new InstantReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantObjectColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantObjectColumnTupleSource.java index db9c514e09e..750770b29a8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantObjectColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeReinterpretedDateTimeObjectColumnTupleSource( @Override public final LongLongObjectTuple createTuple(final long rowKey) { return new LongLongObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.get(rowKey) ); @@ -55,7 +55,7 @@ public final LongLongObjectTuple createTuple(final long rowKey) { @Override public final LongLongObjectTuple createPreviousTuple(final long rowKey) { return new LongLongObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrev(rowKey) ); @@ -64,8 +64,8 @@ public final LongLongObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -73,7 +73,7 @@ public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... @Override public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), values[2] ); @@ -83,11 +83,11 @@ public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongObjectTupl @Override public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongLongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongObjectTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeObjectColumnTupleSource( + return new InstantReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index 0b7ccfbcfaf..a1455a87e5d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( @Override public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getByte(rowKey) ); @@ -57,7 +57,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { @Override public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -66,8 +66,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va @Override public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -85,11 +85,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -102,10 +102,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new InstantReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 73% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantReinterpretedInstantColumnTupleSource.java index a10c8bdcb0f..d7b340aee65 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( @Override public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getLong(rowKey) ); @@ -55,7 +55,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { @Override public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -64,16 +64,16 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -83,15 +83,15 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new InstantReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantShortColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantShortColumnTupleSource.java index 23555a66a30..353dff6e9a3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantReinterpretedInstantShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Long, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class InstantReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeReinterpretedDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantReinterpretedInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeReinterpretedDateTimeShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantReinterpretedInstantShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeReinterpretedDateTimeShortColumnTupleSource( @Override public final LongLongShortTuple createTuple(final long rowKey) { return new LongLongShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getLong(rowKey), columnSource3.getShort(rowKey) ); @@ -56,7 +56,7 @@ public final LongLongShortTuple createTuple(final long rowKey) { @Override public final LongLongShortTuple createPreviousTuple(final long rowKey) { return new LongLongShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevLong(rowKey), columnSource3.getPrevShort(rowKey) ); @@ -65,8 +65,8 @@ public final LongLongShortTuple createPreviousTuple(final long rowKey) { @Override public final LongLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongShortTuple createTupleFromValues(@NotNull final Object... v @Override public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,11 +84,11 @@ public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongShortTuple @Override public final Object exportElement(@NotNull final LongLongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongLongShortTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongLongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongLongShortTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeReinterpretedDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantReinterpretedInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeReinterpretedDateTimeShortColumnTupleSource( + return new InstantReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortBooleanColumnTupleSource.java index 1690ce2e3b2..ff512ab85c4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortBooleanColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantShortBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeShortBooleanColumnTupleSource( @Override public final LongShortByteTuple createTuple(final long rowKey) { return new LongShortByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); @@ -56,7 +56,7 @@ public final LongShortByteTuple createTuple(final long rowKey) { @Override public final LongShortByteTuple createPreviousTuple(final long rowKey) { return new LongShortByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); @@ -65,7 +65,7 @@ public final LongShortByteTuple createPreviousTuple(final long rowKey) { @Override public final LongShortByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -74,7 +74,7 @@ public final LongShortByteTuple createTupleFromValues(@NotNull final Object... v @Override public final LongShortByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortByteTuple @Override public final Object exportElement(@NotNull final LongShortByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongShortByteTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongShortByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongShortByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortBooleanColumnTupleSource( + return new InstantShortBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortByteColumnTupleSource.java index 427fded98f3..34a0f4bf1b2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortByteColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortByteColumnTupleSource extends AbstractTupleSource { +public class InstantShortByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortByteColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortByteColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeShortByteColumnTupleSource( @Override public final LongShortByteTuple createTuple(final long rowKey) { return new LongShortByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), columnSource3.getByte(rowKey) ); @@ -56,7 +56,7 @@ public final LongShortByteTuple createTuple(final long rowKey) { @Override public final LongShortByteTuple createPreviousTuple(final long rowKey) { return new LongShortByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -65,7 +65,7 @@ public final LongShortByteTuple createPreviousTuple(final long rowKey) { @Override public final LongShortByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -74,7 +74,7 @@ public final LongShortByteTuple createTupleFromValues(@NotNull final Object... v @Override public final LongShortByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortByteTuple @Override public final Object exportElement(@NotNull final LongShortByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongShortByteTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongShortByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongShortByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortByteColumnTupleSource( + return new InstantShortByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortCharacterColumnTupleSource.java index 5e62e1fd632..c57c705534c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortCharacterColumnTupleSource extends AbstractTupleSource { +public class InstantShortCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortCharacterColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortCharacterColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeShortCharacterColumnTupleSource( @Override public final LongShortCharTuple createTuple(final long rowKey) { return new LongShortCharTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), columnSource3.getChar(rowKey) ); @@ -56,7 +56,7 @@ public final LongShortCharTuple createTuple(final long rowKey) { @Override public final LongShortCharTuple createPreviousTuple(final long rowKey) { return new LongShortCharTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), columnSource3.getPrevChar(rowKey) ); @@ -65,7 +65,7 @@ public final LongShortCharTuple createPreviousTuple(final long rowKey) { @Override public final LongShortCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -74,7 +74,7 @@ public final LongShortCharTuple createTupleFromValues(@NotNull final Object... v @Override public final LongShortCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortCharTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortCharTuple @Override public final Object exportElement(@NotNull final LongShortCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongShortCharTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongShortCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortCharTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortCharTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongShortCharTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortCharacterColumnTupleSource( + return new InstantShortCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortColumnTupleSource.java index da269719755..0d95ed8cdd5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortColumnTupleSource extends AbstractTupleSource { +public class InstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link InstantShortColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public DateTimeShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); @@ -43,7 +43,7 @@ public DateTimeShortColumnTupleSource( @Override public final LongShortTuple createTuple(final long rowKey) { return new LongShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey) ); } @@ -51,7 +51,7 @@ public final LongShortTuple createTuple(final long rowKey) { @Override public final LongShortTuple createPreviousTuple(final long rowKey) { return new LongShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey) ); } @@ -59,7 +59,7 @@ public final LongShortTuple createPreviousTuple(final long rowKey) { @Override public final LongShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]) ); } @@ -67,7 +67,7 @@ public final LongShortTuple createTupleFromValues(@NotNull final Object... value @Override public final LongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]) ); } @@ -76,7 +76,7 @@ public final LongShortTuple createTupleFromReinterpretedValues(@NotNull final Ob @Override public final void exportElement(@NotNull final LongShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongShortTuple tup @Override public final Object exportElement(@NotNull final LongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -100,7 +100,7 @@ public final Object exportElement(@NotNull final LongShortTuple tuple, int eleme @Override public final Object exportElementReinterpreted(@NotNull final LongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -110,26 +110,26 @@ public final Object exportElementReinterpreted(@NotNull final LongShortTuple tup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii))); + destinationObjectChunk.set(ii, new LongShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link DateTimeShortColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link InstantShortColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new DateTimeShortColumnTupleSource( + return new InstantShortColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortDoubleColumnTupleSource.java index 95db7061b62..ed0dad1d176 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortDoubleColumnTupleSource extends AbstractTupleSource { +public class InstantShortDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortDoubleColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortDoubleColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeShortDoubleColumnTupleSource( @Override public final LongShortDoubleTuple createTuple(final long rowKey) { return new LongShortDoubleTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), columnSource3.getDouble(rowKey) ); @@ -56,7 +56,7 @@ public final LongShortDoubleTuple createTuple(final long rowKey) { @Override public final LongShortDoubleTuple createPreviousTuple(final long rowKey) { return new LongShortDoubleTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), columnSource3.getPrevDouble(rowKey) ); @@ -65,7 +65,7 @@ public final LongShortDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongShortDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -74,7 +74,7 @@ public final LongShortDoubleTuple createTupleFromValues(@NotNull final Object... @Override public final LongShortDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortDoubleTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongShortDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortDoubleTup @Override public final Object exportElement(@NotNull final LongShortDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongShortDoubleTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongShortDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortDoubleTup @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortDoubleTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongShortDoubleTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortDoubleColumnTupleSource( + return new InstantShortDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortFloatColumnTupleSource.java index 0d5334c33fe..f5b71a1871b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortFloatColumnTupleSource extends AbstractTupleSource { +public class InstantShortFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortFloatColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortFloatColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeShortFloatColumnTupleSource( @Override public final LongShortFloatTuple createTuple(final long rowKey) { return new LongShortFloatTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), columnSource3.getFloat(rowKey) ); @@ -56,7 +56,7 @@ public final LongShortFloatTuple createTuple(final long rowKey) { @Override public final LongShortFloatTuple createPreviousTuple(final long rowKey) { return new LongShortFloatTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), columnSource3.getPrevFloat(rowKey) ); @@ -65,7 +65,7 @@ public final LongShortFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongShortFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -74,7 +74,7 @@ public final LongShortFloatTuple createTupleFromValues(@NotNull final Object... @Override public final LongShortFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortFloatTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongShortFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortFloatTupl @Override public final Object exportElement(@NotNull final LongShortFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongShortFloatTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongShortFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortFloatTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortFloatTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongShortFloatTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortFloatColumnTupleSource( + return new InstantShortFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortInstantColumnTupleSource.java index 950765b7bca..6f7e8ef5efc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public DateTimeShortDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -46,36 +46,36 @@ public DateTimeShortDateTimeColumnTupleSource( @Override public final LongShortLongTuple createTuple(final long rowKey) { return new LongShortLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @Override public final LongShortLongTuple createPreviousTuple(final long rowKey) { return new LongShortLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongShortLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongShortLongTuple @Override public final Object exportElement(@NotNull final LongShortLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -114,13 +114,13 @@ public final Object exportElement(@NotNull final LongShortLongTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongShortLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongShortLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortDateTimeColumnTupleSource( + return new InstantShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortIntegerColumnTupleSource.java index 023e80c2eb4..4a41e5bf982 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortIntegerColumnTupleSource extends AbstractTupleSource { +public class InstantShortIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortIntegerColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortIntegerColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeShortIntegerColumnTupleSource( @Override public final LongShortIntTuple createTuple(final long rowKey) { return new LongShortIntTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), columnSource3.getInt(rowKey) ); @@ -56,7 +56,7 @@ public final LongShortIntTuple createTuple(final long rowKey) { @Override public final LongShortIntTuple createPreviousTuple(final long rowKey) { return new LongShortIntTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), columnSource3.getPrevInt(rowKey) ); @@ -65,7 +65,7 @@ public final LongShortIntTuple createPreviousTuple(final long rowKey) { @Override public final LongShortIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -74,7 +74,7 @@ public final LongShortIntTuple createTupleFromValues(@NotNull final Object... va @Override public final LongShortIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongShortIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortIntTuple @Override public final Object exportElement(@NotNull final LongShortIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongShortIntTuple tuple, int el @Override public final Object exportElementReinterpreted(@NotNull final LongShortIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortIntTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortIntTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongShortIntTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortIntegerColumnTupleSource( + return new InstantShortIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortLongColumnTupleSource.java index b14b4058ecf..a287c3f5a46 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortLongColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortLongColumnTupleSource extends AbstractTupleSource { +public class InstantShortLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortLongColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortLongColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeShortLongColumnTupleSource( @Override public final LongShortLongTuple createTuple(final long rowKey) { return new LongShortLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongShortLongTuple createTuple(final long rowKey) { @Override public final LongShortLongTuple createPreviousTuple(final long rowKey) { return new LongShortLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,7 +65,7 @@ public final LongShortLongTuple createPreviousTuple(final long rowKey) { @Override public final LongShortLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -74,7 +74,7 @@ public final LongShortLongTuple createTupleFromValues(@NotNull final Object... v @Override public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortLongTuple @Override public final Object exportElement(@NotNull final LongShortLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongShortLongTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongShortLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongShortLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortLongColumnTupleSource( + return new InstantShortLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortObjectColumnTupleSource.java index 1ef4566f6c6..7560d241dcd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortObjectColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortObjectColumnTupleSource extends AbstractTupleSource { +public class InstantShortObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortObjectColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortObjectColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeShortObjectColumnTupleSource( @Override public final LongShortObjectTuple createTuple(final long rowKey) { return new LongShortObjectTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), columnSource3.get(rowKey) ); @@ -55,7 +55,7 @@ public final LongShortObjectTuple createTuple(final long rowKey) { @Override public final LongShortObjectTuple createPreviousTuple(final long rowKey) { return new LongShortObjectTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), columnSource3.getPrev(rowKey) ); @@ -64,7 +64,7 @@ public final LongShortObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongShortObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), values[2] ); @@ -73,7 +73,7 @@ public final LongShortObjectTuple createTupleFromValues(@NotNull final Object... @Override public final LongShortObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), values[2] ); @@ -83,7 +83,7 @@ public final LongShortObjectTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongShortObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongShortObjectTup @Override public final Object exportElement(@NotNull final LongShortObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongShortObjectTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongShortObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortObjectTup @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortObjectTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongShortObjectTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortObjectColumnTupleSource( + return new InstantShortObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortReinterpretedBooleanColumnTupleSource.java index 57afef32e36..6c0c597073e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortReinterpretedBooleanColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class InstantShortReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortReinterpretedBooleanColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortReinterpretedBooleanColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -48,7 +48,7 @@ public DateTimeShortReinterpretedBooleanColumnTupleSource( @Override public final LongShortByteTuple createTuple(final long rowKey) { return new LongShortByteTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), columnSource3.getByte(rowKey) ); @@ -57,7 +57,7 @@ public final LongShortByteTuple createTuple(final long rowKey) { @Override public final LongShortByteTuple createPreviousTuple(final long rowKey) { return new LongShortByteTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), columnSource3.getPrevByte(rowKey) ); @@ -66,7 +66,7 @@ public final LongShortByteTuple createPreviousTuple(final long rowKey) { @Override public final LongShortByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -75,7 +75,7 @@ public final LongShortByteTuple createTupleFromValues(@NotNull final Object... v @Override public final LongShortByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -85,7 +85,7 @@ public final LongShortByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongShortByteTuple @Override public final Object exportElement(@NotNull final LongShortByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -116,7 +116,7 @@ public final Object exportElement(@NotNull final LongShortByteTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongShortByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -130,28 +130,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortByteTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortByteTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongShortByteTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortReinterpretedBooleanColumnTupleSource( + return new InstantShortReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortReinterpretedInstantColumnTupleSource.java index 2e1ea64f230..5b0f4e01d66 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class InstantShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortReinterpretedDateTimeColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortReinterpretedInstantColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -47,7 +47,7 @@ public DateTimeShortReinterpretedDateTimeColumnTupleSource( @Override public final LongShortLongTuple createTuple(final long rowKey) { return new LongShortLongTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), columnSource3.getLong(rowKey) ); @@ -56,7 +56,7 @@ public final LongShortLongTuple createTuple(final long rowKey) { @Override public final LongShortLongTuple createPreviousTuple(final long rowKey) { return new LongShortLongTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), columnSource3.getPrevLong(rowKey) ); @@ -65,16 +65,16 @@ public final LongShortLongTuple createPreviousTuple(final long rowKey) { @Override public final LongShortLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @Override public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongShortLongTuple @Override public final Object exportElement(@NotNull final LongShortLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -115,7 +115,7 @@ public final Object exportElement(@NotNull final LongShortLongTuple tuple, int e @Override public final Object exportElementReinterpreted(@NotNull final LongShortLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -129,28 +129,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortLongTuple @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortLongTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongShortLongTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortReinterpretedDateTimeColumnTupleSource( + return new InstantShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortShortColumnTupleSource.java index 62eb8d2a64c..3019d4833eb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/DateTimeShortShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/InstantShortShortColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types DateTime, Short, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Instant, Short, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class DateTimeShortShortColumnTupleSource extends AbstractTupleSource { +public class InstantShortShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link DateTimeShortShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link InstantShortShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); - private final ColumnSource columnSource1; + private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public DateTimeShortShortColumnTupleSource( - @NotNull final ColumnSource columnSource1, + public InstantShortShortColumnTupleSource( + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { @@ -46,7 +46,7 @@ public DateTimeShortShortColumnTupleSource( @Override public final LongShortShortTuple createTuple(final long rowKey) { return new LongShortShortTuple( - DateTimeUtils.nanos(columnSource1.get(rowKey)), + DateTimeUtils.epochNanos(columnSource1.get(rowKey)), columnSource2.getShort(rowKey), columnSource3.getShort(rowKey) ); @@ -55,7 +55,7 @@ public final LongShortShortTuple createTuple(final long rowKey) { @Override public final LongShortShortTuple createPreviousTuple(final long rowKey) { return new LongShortShortTuple( - DateTimeUtils.nanos(columnSource1.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource1.getPrev(rowKey)), columnSource2.getPrevShort(rowKey), columnSource3.getPrevShort(rowKey) ); @@ -64,7 +64,7 @@ public final LongShortShortTuple createPreviousTuple(final long rowKey) { @Override public final LongShortShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -73,7 +73,7 @@ public final LongShortShortTuple createTupleFromValues(@NotNull final Object... @Override public final LongShortShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongShortShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -83,7 +83,7 @@ public final LongShortShortTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongShortShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongShortShortTupl @Override public final Object exportElement(@NotNull final LongShortShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -114,7 +114,7 @@ public final Object exportElement(@NotNull final LongShortShortTuple tuple, int @Override public final Object exportElementReinterpreted(@NotNull final LongShortShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -128,28 +128,28 @@ public final Object exportElementReinterpreted(@NotNull final LongShortShortTupl @Override protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); - ObjectChunk chunk1 = chunks[0].asObjectChunk(); + ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortShortTuple(DateTimeUtils.nanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongShortShortTuple(DateTimeUtils.epochNanos(chunk1.get(ii)), chunk2.get(ii), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link DateTimeShortShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link InstantShortShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @Override public TupleSource create( - @NotNull final ColumnSource columnSource1, + @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new DateTimeShortShortColumnTupleSource( + return new InstantShortShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanInstantColumnTupleSource.java index 1978a5a8d65..cad0916c49f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerBooleanDateTimeColumnTupleSource( + public IntegerBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final IntByteLongTuple createTuple(final long rowKey) { return new IntByteLongTuple( columnSource1.getInt(rowKey), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final IntByteLongTuple createPreviousTuple(final long rowKey) { return new IntByteLongTuple( columnSource1.getPrevInt(rowKey), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final IntByteLongTuple createTupleFromValues(@NotNull final Object... val return new IntByteLongTuple( TypeUtils.unbox((Integer)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final IntByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new IntByteLongTuple( TypeUtils.unbox((Integer)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntByteLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntByteLongTuple tuple, int ele return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final IntByteLongTuple t return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerBooleanDateTimeColumnTupleSource( + return new IntegerBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanReinterpretedInstantColumnTupleSource.java index ac47d1abdd3..2c4c92d8189 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerBooleanReinterpretedDateTimeColumnTupleSource( + public IntegerBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final IntByteLongTuple createTupleFromValues(@NotNull final Object... val return new IntByteLongTuple( TypeUtils.unbox((Integer)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final IntByteLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final IntByteLongTuple tuple, int ele return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerBooleanReinterpretedDateTimeColumnTupleSource( + return new IntegerBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteInstantColumnTupleSource.java index 8f1c42f3a33..0363424b68c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerByteDateTimeColumnTupleSource( + public IntegerByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final IntByteLongTuple createTuple(final long rowKey) { return new IntByteLongTuple( columnSource1.getInt(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final IntByteLongTuple createPreviousTuple(final long rowKey) { return new IntByteLongTuple( columnSource1.getPrevInt(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final IntByteLongTuple createTupleFromValues(@NotNull final Object... val return new IntByteLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final IntByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new IntByteLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntByteLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntByteLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final IntByteLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerByteDateTimeColumnTupleSource( + return new IntegerByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteReinterpretedInstantColumnTupleSource.java index 1979708ca40..1fa39bb8c97 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerByteReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerByteReinterpretedDateTimeColumnTupleSource( + public IntegerByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final IntByteLongTuple createTupleFromValues(@NotNull final Object... val return new IntByteLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntByteLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntByteLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerByteReinterpretedDateTimeColumnTupleSource( + return new IntegerByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterInstantColumnTupleSource.java index e40ca537199..163e8a7a7e8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerCharacterDateTimeColumnTupleSource( + public IntegerCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final IntCharLongTuple createTuple(final long rowKey) { return new IntCharLongTuple( columnSource1.getInt(rowKey), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final IntCharLongTuple createPreviousTuple(final long rowKey) { return new IntCharLongTuple( columnSource1.getPrevInt(rowKey), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final IntCharLongTuple createTupleFromValues(@NotNull final Object... val return new IntCharLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final IntCharLongTuple createTupleFromReinterpretedValues(@NotNull final return new IntCharLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntCharLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntCharLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final IntCharLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerCharacterDateTimeColumnTupleSource( + return new IntegerCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterReinterpretedInstantColumnTupleSource.java index c7664c9c888..25fa25aa07f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerCharacterReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerCharacterReinterpretedDateTimeColumnTupleSource( + public IntegerCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final IntCharLongTuple createTupleFromValues(@NotNull final Object... val return new IntCharLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntCharLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntCharLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerCharacterReinterpretedDateTimeColumnTupleSource( + return new IntegerCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleInstantColumnTupleSource.java index 11cb426462f..85a6664dcce 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerDoubleDateTimeColumnTupleSource( + public IntegerDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final IntDoubleLongTuple createTuple(final long rowKey) { return new IntDoubleLongTuple( columnSource1.getInt(rowKey), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final IntDoubleLongTuple createPreviousTuple(final long rowKey) { return new IntDoubleLongTuple( columnSource1.getPrevInt(rowKey), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final IntDoubleLongTuple createTupleFromValues(@NotNull final Object... v return new IntDoubleLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final IntDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fina return new IntDoubleLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntDoubleLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntDoubleLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final IntDoubleLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerDoubleDateTimeColumnTupleSource( + return new IntegerDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleReinterpretedInstantColumnTupleSource.java index 1097147ab43..ccba77a25b6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDoubleReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDoubleReinterpretedDateTimeColumnTupleSource( + public IntegerDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final IntDoubleLongTuple createTupleFromValues(@NotNull final Object... v return new IntDoubleLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntDoubleLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntDoubleLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDoubleReinterpretedDateTimeColumnTupleSource( + return new IntegerDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatInstantColumnTupleSource.java index 960cd7fe189..ef8ffb50154 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerFloatDateTimeColumnTupleSource( + public IntegerFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final IntFloatLongTuple createTuple(final long rowKey) { return new IntFloatLongTuple( columnSource1.getInt(rowKey), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final IntFloatLongTuple createPreviousTuple(final long rowKey) { return new IntFloatLongTuple( columnSource1.getPrevInt(rowKey), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final IntFloatLongTuple createTupleFromValues(@NotNull final Object... va return new IntFloatLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final IntFloatLongTuple createTupleFromReinterpretedValues(@NotNull final return new IntFloatLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntFloatLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final IntFloatLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerFloatDateTimeColumnTupleSource( + return new IntegerFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatReinterpretedInstantColumnTupleSource.java index 966358e268b..22047dd1aae 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerFloatReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerFloatReinterpretedDateTimeColumnTupleSource( + public IntegerFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final IntFloatLongTuple createTupleFromValues(@NotNull final Object... va return new IntFloatLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntFloatLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerFloatReinterpretedDateTimeColumnTupleSource( + return new IntegerFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantBooleanColumnTupleSource.java index 01fe5de8603..ceb96992785 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeBooleanColumnTupleSource( + public IntegerInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public IntegerDateTimeBooleanColumnTupleSource( public final IntLongByteTuple createTuple(final long rowKey) { return new IntLongByteTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -57,7 +57,7 @@ public final IntLongByteTuple createTuple(final long rowKey) { public final IntLongByteTuple createPreviousTuple(final long rowKey) { return new IntLongByteTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -66,7 +66,7 @@ public final IntLongByteTuple createPreviousTuple(final long rowKey) { public final IntLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongByteTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final IntLongByteTuple createTupleFromValues(@NotNull final Object... val public final IntLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongByteTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongByteTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongByteTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongByteTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongByteTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeBooleanColumnTupleSource( + return new IntegerInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantByteColumnTupleSource.java index 4e1f9bd27c1..47136f39fbb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantByteColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeByteColumnTupleSource( + public IntegerInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public IntegerDateTimeByteColumnTupleSource( public final IntLongByteTuple createTuple(final long rowKey) { return new IntLongByteTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final IntLongByteTuple createTuple(final long rowKey) { public final IntLongByteTuple createPreviousTuple(final long rowKey) { return new IntLongByteTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final IntLongByteTuple createPreviousTuple(final long rowKey) { public final IntLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongByteTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -75,7 +75,7 @@ public final IntLongByteTuple createTupleFromValues(@NotNull final Object... val public final IntLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongByteTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongByteTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongByteTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongByteTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongByteTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new IntLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeByteColumnTupleSource( + return new IntegerInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantCharacterColumnTupleSource.java index b04299949b6..c4ee179d639 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantCharacterColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeCharacterColumnTupleSource( + public IntegerInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public IntegerDateTimeCharacterColumnTupleSource( public final IntLongCharTuple createTuple(final long rowKey) { return new IntLongCharTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -57,7 +57,7 @@ public final IntLongCharTuple createTuple(final long rowKey) { public final IntLongCharTuple createPreviousTuple(final long rowKey) { return new IntLongCharTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -66,7 +66,7 @@ public final IntLongCharTuple createPreviousTuple(final long rowKey) { public final IntLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongCharTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -75,7 +75,7 @@ public final IntLongCharTuple createTupleFromValues(@NotNull final Object... val public final IntLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongCharTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongCharTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongCharTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongCharTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongCharTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongCharTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new IntLongCharTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeCharacterColumnTupleSource( + return new IntegerInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantColumnTupleSource.java index 2076e6d63fe..c06a173058b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public IntegerDateTimeColumnTupleSource( + public IntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -44,7 +44,7 @@ public IntegerDateTimeColumnTupleSource( public final IntLongTuple createTuple(final long rowKey) { return new IntLongTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -52,7 +52,7 @@ public final IntLongTuple createTuple(final long rowKey) { public final IntLongTuple createPreviousTuple(final long rowKey) { return new IntLongTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @@ -60,7 +60,7 @@ public final IntLongTuple createPreviousTuple(final long rowKey) { public final IntLongTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -68,7 +68,7 @@ public final IntLongTuple createTupleFromValues(@NotNull final Object... values) public final IntLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final IntLongTuple tuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final IntLongTuple tuple, int element return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -103,7 +103,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongTuple tuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -111,15 +111,15 @@ public final Object exportElementReinterpreted(@NotNull final IntLongTuple tuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new IntLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link IntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link IntegerInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -127,9 +127,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new IntegerDateTimeColumnTupleSource( + return new IntegerInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantDoubleColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantDoubleColumnTupleSource.java index 23e53b06b96..2de87430624 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantDoubleColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeDoubleColumnTupleSource( + public IntegerInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public IntegerDateTimeDoubleColumnTupleSource( public final IntLongDoubleTuple createTuple(final long rowKey) { return new IntLongDoubleTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -57,7 +57,7 @@ public final IntLongDoubleTuple createTuple(final long rowKey) { public final IntLongDoubleTuple createPreviousTuple(final long rowKey) { return new IntLongDoubleTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -66,7 +66,7 @@ public final IntLongDoubleTuple createPreviousTuple(final long rowKey) { public final IntLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongDoubleTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -75,7 +75,7 @@ public final IntLongDoubleTuple createTupleFromValues(@NotNull final Object... v public final IntLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongDoubleTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongDoubleTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongDoubleTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongDoubleTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongDoubleTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongDoubleTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new IntLongDoubleTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeDoubleColumnTupleSource( + return new IntegerInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantFloatColumnTupleSource.java index 124a3cbc5c9..e85b1dda49a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantFloatColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeFloatColumnTupleSource( + public IntegerInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public IntegerDateTimeFloatColumnTupleSource( public final IntLongFloatTuple createTuple(final long rowKey) { return new IntLongFloatTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -57,7 +57,7 @@ public final IntLongFloatTuple createTuple(final long rowKey) { public final IntLongFloatTuple createPreviousTuple(final long rowKey) { return new IntLongFloatTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -66,7 +66,7 @@ public final IntLongFloatTuple createPreviousTuple(final long rowKey) { public final IntLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongFloatTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -75,7 +75,7 @@ public final IntLongFloatTuple createTupleFromValues(@NotNull final Object... va public final IntLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongFloatTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongFloatTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongFloatTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongFloatTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongFloatTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new IntLongFloatTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeFloatColumnTupleSource( + return new IntegerInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantInstantColumnTupleSource.java index 9b2330a4b8f..9b3592370de 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public IntegerDateTimeDateTimeColumnTupleSource( + public IntegerInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,8 +47,8 @@ public IntegerDateTimeDateTimeColumnTupleSource( public final IntLongLongTuple createTuple(final long rowKey) { return new IntLongLongTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,8 +56,8 @@ public final IntLongLongTuple createTuple(final long rowKey) { public final IntLongLongTuple createPreviousTuple(final long rowKey) { return new IntLongLongTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,8 +65,8 @@ public final IntLongLongTuple createPreviousTuple(final long rowKey) { public final IntLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,8 +74,8 @@ public final IntLongLongTuple createTupleFromValues(@NotNull final Object... val public final IntLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final IntLongLongTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final IntLongLongTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,10 +117,10 @@ public final Object exportElementReinterpreted(@NotNull final IntLongLongTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongLongTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeDateTimeColumnTupleSource( + return new IntegerInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantIntegerColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantIntegerColumnTupleSource.java index 7f729db4119..9cfa270014a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantIntegerColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeIntegerColumnTupleSource( + public IntegerInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public IntegerDateTimeIntegerColumnTupleSource( public final IntLongIntTuple createTuple(final long rowKey) { return new IntLongIntTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -56,7 +56,7 @@ public final IntLongIntTuple createTuple(final long rowKey) { public final IntLongIntTuple createPreviousTuple(final long rowKey) { return new IntLongIntTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -65,7 +65,7 @@ public final IntLongIntTuple createPreviousTuple(final long rowKey) { public final IntLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongIntTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -74,7 +74,7 @@ public final IntLongIntTuple createTupleFromValues(@NotNull final Object... valu public final IntLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongIntTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final IntLongIntTuple tu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final IntLongIntTuple tuple, int elem return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongIntTuple tu return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongIntTuple tu protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongIntTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new IntLongIntTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeIntegerColumnTupleSource( + return new IntegerInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantLongColumnTupleSource.java index 24008443957..fac306698be 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantLongColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeLongColumnTupleSource( + public IntegerInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public IntegerDateTimeLongColumnTupleSource( public final IntLongLongTuple createTuple(final long rowKey) { return new IntLongLongTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final IntLongLongTuple createTuple(final long rowKey) { public final IntLongLongTuple createPreviousTuple(final long rowKey) { return new IntLongLongTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,7 +66,7 @@ public final IntLongLongTuple createPreviousTuple(final long rowKey) { public final IntLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -75,7 +75,7 @@ public final IntLongLongTuple createTupleFromValues(@NotNull final Object... val public final IntLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongLongTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongLongTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongLongTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongLongTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new IntLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeLongColumnTupleSource( + return new IntegerInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantObjectColumnTupleSource.java index 8de6c3b2626..3641e80d2e3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantObjectColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeObjectColumnTupleSource( + public IntegerInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public IntegerDateTimeObjectColumnTupleSource( public final IntLongObjectTuple createTuple(final long rowKey) { return new IntLongObjectTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -56,7 +56,7 @@ public final IntLongObjectTuple createTuple(final long rowKey) { public final IntLongObjectTuple createPreviousTuple(final long rowKey) { return new IntLongObjectTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -65,7 +65,7 @@ public final IntLongObjectTuple createPreviousTuple(final long rowKey) { public final IntLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongObjectTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -74,7 +74,7 @@ public final IntLongObjectTuple createTupleFromValues(@NotNull final Object... v public final IntLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongObjectTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final IntLongObjectTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final IntLongObjectTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongObjectTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongObjectTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongObjectTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new IntLongObjectTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeObjectColumnTupleSource( + return new IntegerInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantReinterpretedBooleanColumnTupleSource.java index 94349032c2d..a37bec255d7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantReinterpretedBooleanColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeReinterpretedBooleanColumnTupleSource( + public IntegerInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public IntegerDateTimeReinterpretedBooleanColumnTupleSource( public final IntLongByteTuple createTuple(final long rowKey) { return new IntLongByteTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -58,7 +58,7 @@ public final IntLongByteTuple createTuple(final long rowKey) { public final IntLongByteTuple createPreviousTuple(final long rowKey) { return new IntLongByteTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -67,7 +67,7 @@ public final IntLongByteTuple createPreviousTuple(final long rowKey) { public final IntLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongByteTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -76,7 +76,7 @@ public final IntLongByteTuple createTupleFromValues(@NotNull final Object... val public final IntLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongByteTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final IntLongByteTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final IntLongByteTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongByteTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongByteTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new IntLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeReinterpretedBooleanColumnTupleSource( + return new IntegerInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantReinterpretedInstantColumnTupleSource.java index 3bb0b6a6b27..6f42c67550d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantReinterpretedInstantColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeReinterpretedDateTimeColumnTupleSource( + public IntegerInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public IntegerDateTimeReinterpretedDateTimeColumnTupleSource( public final IntLongLongTuple createTuple(final long rowKey) { return new IntLongLongTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final IntLongLongTuple createTuple(final long rowKey) { public final IntLongLongTuple createPreviousTuple(final long rowKey) { return new IntLongLongTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,8 +66,8 @@ public final IntLongLongTuple createPreviousTuple(final long rowKey) { public final IntLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final IntLongLongTuple createTupleFromValues(@NotNull final Object... val public final IntLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final IntLongLongTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final IntLongLongTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongLongTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongLongTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new IntLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeReinterpretedDateTimeColumnTupleSource( + return new IntegerInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantShortColumnTupleSource.java index dcadcc19602..0731b8733c8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerInstantShortColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class IntegerInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerDateTimeShortColumnTupleSource( + public IntegerInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public IntegerDateTimeShortColumnTupleSource( public final IntLongShortTuple createTuple(final long rowKey) { return new IntLongShortTuple( columnSource1.getInt(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -57,7 +57,7 @@ public final IntLongShortTuple createTuple(final long rowKey) { public final IntLongShortTuple createPreviousTuple(final long rowKey) { return new IntLongShortTuple( columnSource1.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -66,7 +66,7 @@ public final IntLongShortTuple createPreviousTuple(final long rowKey) { public final IntLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongShortTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -75,7 +75,7 @@ public final IntLongShortTuple createTupleFromValues(@NotNull final Object... va public final IntLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new IntLongShortTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongShortTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongShortTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final IntLongShortTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongShortTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new IntLongShortTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerDateTimeShortColumnTupleSource( + return new IntegerInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerInstantColumnTupleSource.java index 1c3b53e08f7..70160a267f1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerIntegerDateTimeColumnTupleSource( + public IntegerIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final IntIntLongTuple createTuple(final long rowKey) { return new IntIntLongTuple( columnSource1.getInt(rowKey), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final IntIntLongTuple createPreviousTuple(final long rowKey) { return new IntIntLongTuple( columnSource1.getPrevInt(rowKey), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final IntIntLongTuple createTupleFromValues(@NotNull final Object... valu return new IntIntLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final IntIntLongTuple createTupleFromReinterpretedValues(@NotNull final O return new IntIntLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final IntIntLongTuple tu return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final IntIntLongTuple tuple, int elem return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final IntIntLongTuple tu return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerIntegerDateTimeColumnTupleSource( + return new IntegerIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerReinterpretedInstantColumnTupleSource.java index f1f6fc8ce38..1c2e5d2823a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerIntegerReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerIntegerReinterpretedDateTimeColumnTupleSource( + public IntegerIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final IntIntLongTuple createTupleFromValues(@NotNull final Object... valu return new IntIntLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final IntIntLongTuple tu return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final IntIntLongTuple tuple, int elem return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerIntegerReinterpretedDateTimeColumnTupleSource( + return new IntegerIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongInstantColumnTupleSource.java index 5c1e0ba0db5..a3b4a8c200b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerLongDateTimeColumnTupleSource( + public IntegerLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final IntLongLongTuple createTuple(final long rowKey) { return new IntLongLongTuple( columnSource1.getInt(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final IntLongLongTuple createPreviousTuple(final long rowKey) { return new IntLongLongTuple( columnSource1.getPrevInt(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final IntLongLongTuple createTupleFromValues(@NotNull final Object... val return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final IntLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntLongLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntLongLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerLongDateTimeColumnTupleSource( + return new IntegerLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongReinterpretedInstantColumnTupleSource.java index 96f730d5834..f8c0ce4c2af 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerLongReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerLongReinterpretedDateTimeColumnTupleSource( + public IntegerLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final IntLongLongTuple createTupleFromValues(@NotNull final Object... val return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final IntLongLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final IntLongLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerLongReinterpretedDateTimeColumnTupleSource( + return new IntegerLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectInstantColumnTupleSource.java index 5e114dca24a..059d7e20175 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerObjectDateTimeColumnTupleSource( + public IntegerObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final IntObjectLongTuple createTuple(final long rowKey) { return new IntObjectLongTuple( columnSource1.getInt(rowKey), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final IntObjectLongTuple createPreviousTuple(final long rowKey) { return new IntObjectLongTuple( columnSource1.getPrevInt(rowKey), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final IntObjectLongTuple createTupleFromValues(@NotNull final Object... v return new IntObjectLongTuple( TypeUtils.unbox((Integer)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final IntObjectLongTuple createTupleFromReinterpretedValues(@NotNull fina return new IntObjectLongTuple( TypeUtils.unbox((Integer)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final IntObjectLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final IntObjectLongTuple tuple, int e return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final IntObjectLongTuple return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerObjectDateTimeColumnTupleSource( + return new IntegerObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectReinterpretedInstantColumnTupleSource.java index 6d9d317f493..266533a7315 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerObjectReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerObjectReinterpretedDateTimeColumnTupleSource( + public IntegerObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final IntObjectLongTuple createTupleFromValues(@NotNull final Object... v return new IntObjectLongTuple( TypeUtils.unbox((Integer)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntObjectLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntObjectLongTuple tuple, int e return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerObjectReinterpretedDateTimeColumnTupleSource( + return new IntegerObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanInstantColumnTupleSource.java index 48e986b02d7..eea2e6835ce 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerReinterpretedBooleanDateTimeColumnTupleSource( + public IntegerReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final IntByteLongTuple createTuple(final long rowKey) { return new IntByteLongTuple( columnSource1.getInt(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final IntByteLongTuple createPreviousTuple(final long rowKey) { return new IntByteLongTuple( columnSource1.getPrevInt(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final IntByteLongTuple createTupleFromValues(@NotNull final Object... val return new IntByteLongTuple( TypeUtils.unbox((Integer)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final IntByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new IntByteLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final IntByteLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final IntByteLongTuple tuple, int ele return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final IntByteLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedBooleanDateTimeColumnTupleSource( + return new IntegerReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index 91797ab56c1..1e0b94cd3c8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public IntegerReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final IntByteLongTuple createTupleFromValues(@NotNull final Object... val return new IntByteLongTuple( TypeUtils.unbox((Integer)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final IntByteLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final IntByteLongTuple tuple, int ele return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new IntegerReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantBooleanColumnTupleSource.java index 35e5f0ff3fb..57154f0a5c8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeBooleanColumnTupleSource( + public IntegerReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final IntLongByteTuple createPreviousTuple(final long rowKey) { public final IntLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongByteTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final IntLongByteTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final IntLongByteTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeBooleanColumnTupleSource( + return new IntegerReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantByteColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantByteColumnTupleSource.java index 5afdb033c1a..379f9138cfc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeByteColumnTupleSource( + public IntegerReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final IntLongByteTuple createPreviousTuple(final long rowKey) { public final IntLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongByteTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongByteTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongByteTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeByteColumnTupleSource( + return new IntegerReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantCharacterColumnTupleSource.java index 8552a0dc5df..bd70f12fc86 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeCharacterColumnTupleSource( + public IntegerReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final IntLongCharTuple createPreviousTuple(final long rowKey) { public final IntLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongCharTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongCharTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongCharTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeCharacterColumnTupleSource( + return new IntegerReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantColumnTupleSource.java index 00e8989057d..8158a97dc6c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public IntegerReinterpretedDateTimeColumnTupleSource( + public IntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -60,7 +60,7 @@ public final IntLongTuple createPreviousTuple(final long rowKey) { public final IntLongTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final IntLongTuple tuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final IntLongTuple tuple, int element return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new IntegerReinterpretedDateTimeColumnTupleSource( + return new IntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantDoubleColumnTupleSource.java index 8db39888434..32a1a9deaed 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeDoubleColumnTupleSource( + public IntegerReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final IntLongDoubleTuple createPreviousTuple(final long rowKey) { public final IntLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongDoubleTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongDoubleTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongDoubleTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeDoubleColumnTupleSource( + return new IntegerReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantFloatColumnTupleSource.java index b8d5033b139..eff067d48ab 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeFloatColumnTupleSource( + public IntegerReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final IntLongFloatTuple createPreviousTuple(final long rowKey) { public final IntLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongFloatTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongFloatTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeFloatColumnTupleSource( + return new IntegerReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantInstantColumnTupleSource.java index 0761387cf48..ec25d98decb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeDateTimeColumnTupleSource( + public IntegerReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final IntLongLongTuple createTuple(final long rowKey) { return new IntLongLongTuple( columnSource1.getInt(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final IntLongLongTuple createPreviousTuple(final long rowKey) { return new IntLongLongTuple( columnSource1.getPrevInt(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,8 +66,8 @@ public final IntLongLongTuple createPreviousTuple(final long rowKey) { public final IntLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final IntLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final IntLongLongTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final IntLongLongTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final IntLongLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeDateTimeColumnTupleSource( + return new IntegerReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantIntegerColumnTupleSource.java index 99245747ddb..ecb3e398a23 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantIntegerColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeIntegerColumnTupleSource( + public IntegerReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final IntLongIntTuple createPreviousTuple(final long rowKey) { public final IntLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongIntTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final IntLongIntTuple tu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final IntLongIntTuple tuple, int elem return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeIntegerColumnTupleSource( + return new IntegerReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantLongColumnTupleSource.java index 463878f1147..c01afe885d2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeLongColumnTupleSource( + public IntegerReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final IntLongLongTuple createPreviousTuple(final long rowKey) { public final IntLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final IntLongLongTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final IntLongLongTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeLongColumnTupleSource( + return new IntegerReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantObjectColumnTupleSource.java index da25859b3e6..f0643d69265 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeObjectColumnTupleSource( + public IntegerReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final IntLongObjectTuple createPreviousTuple(final long rowKey) { public final IntLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongObjectTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongObjectTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongObjectTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeObjectColumnTupleSource( + return new IntegerReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index 4e7f14115ad..fad6066d4d6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public IntegerReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final IntLongByteTuple createPreviousTuple(final long rowKey) { public final IntLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongByteTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final IntLongByteTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final IntLongByteTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new IntegerReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantReinterpretedInstantColumnTupleSource.java index 1001128a176..cd1ed32bfe6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public IntegerReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,8 +65,8 @@ public final IntLongLongTuple createPreviousTuple(final long rowKey) { public final IntLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongLongTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final IntLongLongTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final IntLongLongTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new IntegerReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantShortColumnTupleSource.java index a975ab44100..4be825ddd48 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerReinterpretedInstantShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class IntegerReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerReinterpretedDateTimeShortColumnTupleSource( + public IntegerReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final IntLongShortTuple createPreviousTuple(final long rowKey) { public final IntLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new IntLongShortTuple( TypeUtils.unbox((Integer)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final IntLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final IntLongShortTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerReinterpretedDateTimeShortColumnTupleSource( + return new IntegerReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortInstantColumnTupleSource.java index 4c0139ea563..ccbbe11bfa3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public IntegerShortDateTimeColumnTupleSource( + public IntegerShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final IntShortLongTuple createTuple(final long rowKey) { return new IntShortLongTuple( columnSource1.getInt(rowKey), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final IntShortLongTuple createPreviousTuple(final long rowKey) { return new IntShortLongTuple( columnSource1.getPrevInt(rowKey), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final IntShortLongTuple createTupleFromValues(@NotNull final Object... va return new IntShortLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final IntShortLongTuple createTupleFromReinterpretedValues(@NotNull final return new IntShortLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntShortLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final IntShortLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); IntChunk chunk1 = chunks[0].asIntChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new IntShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new IntShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new IntegerShortDateTimeColumnTupleSource( + return new IntegerShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortReinterpretedInstantColumnTupleSource.java index 9b4c922922d..6070627e072 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/IntegerShortReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.IntShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Integer, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class IntegerShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class IntegerShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link IntegerShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public IntegerShortReinterpretedDateTimeColumnTupleSource( + public IntegerShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final IntShortLongTuple createTupleFromValues(@NotNull final Object... va return new IntShortLongTuple( TypeUtils.unbox((Integer)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final IntShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final IntShortLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link IntegerShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new IntegerShortReinterpretedDateTimeColumnTupleSource( + return new IntegerShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanInstantColumnTupleSource.java index ecef69c3f55..6bcc63a3bd2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongBooleanDateTimeColumnTupleSource( + public LongBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getLong(rowKey), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getPrevLong(rowKey), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final LongByteLongTuple createTupleFromValues(@NotNull final Object... va return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongBooleanDateTimeColumnTupleSource( + return new LongBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanReinterpretedInstantColumnTupleSource.java index 5d20af4e6db..bd663fc06d3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongBooleanReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongBooleanReinterpretedDateTimeColumnTupleSource( + public LongBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final LongByteLongTuple createTupleFromValues(@NotNull final Object... va return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongBooleanReinterpretedDateTimeColumnTupleSource( + return new LongBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteInstantColumnTupleSource.java index 3599609b285..66613a981ed 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongByteDateTimeColumnTupleSource( + public LongByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getLong(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final LongByteLongTuple createTupleFromValues(@NotNull final Object... va return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongByteDateTimeColumnTupleSource( + return new LongByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteReinterpretedInstantColumnTupleSource.java index 22aafab629e..f39adc604c6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongByteReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongByteReinterpretedDateTimeColumnTupleSource( + public LongByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteLongTuple createTupleFromValues(@NotNull final Object... va return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongByteReinterpretedDateTimeColumnTupleSource( + return new LongByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterInstantColumnTupleSource.java index 6db971fd77b..b599c28c198 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongCharacterDateTimeColumnTupleSource( + public LongCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongCharLongTuple createTuple(final long rowKey) { return new LongCharLongTuple( columnSource1.getLong(rowKey), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final LongCharLongTuple createPreviousTuple(final long rowKey) { return new LongCharLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final LongCharLongTuple createTupleFromValues(@NotNull final Object... va return new LongCharLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongCharLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final LongCharLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongCharLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongCharacterDateTimeColumnTupleSource( + return new LongCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterReinterpretedInstantColumnTupleSource.java index 84074c34f52..e68a7d756e1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongCharacterReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongCharacterReinterpretedDateTimeColumnTupleSource( + public LongCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongCharLongTuple createTupleFromValues(@NotNull final Object... va return new LongCharLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final LongCharLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongCharacterReinterpretedDateTimeColumnTupleSource( + return new LongCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleInstantColumnTupleSource.java index 319d0f52ba4..bfc6c5ebbce 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongDoubleDateTimeColumnTupleSource( + public LongDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongDoubleLongTuple createTuple(final long rowKey) { return new LongDoubleLongTuple( columnSource1.getLong(rowKey), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final LongDoubleLongTuple createPreviousTuple(final long rowKey) { return new LongDoubleLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final LongDoubleLongTuple createTupleFromValues(@NotNull final Object... return new LongDoubleLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin return new LongDoubleLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongDoubleDateTimeColumnTupleSource( + return new LongDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleReinterpretedInstantColumnTupleSource.java index c2cf741a6be..fb6e9984974 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDoubleReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDoubleReinterpretedDateTimeColumnTupleSource( + public LongDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongDoubleLongTuple createTupleFromValues(@NotNull final Object... return new LongDoubleLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDoubleReinterpretedDateTimeColumnTupleSource( + return new LongDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatInstantColumnTupleSource.java index b0688bc8e65..1bdddbc87b8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongFloatDateTimeColumnTupleSource( + public LongFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongFloatLongTuple createTuple(final long rowKey) { return new LongFloatLongTuple( columnSource1.getLong(rowKey), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final LongFloatLongTuple createPreviousTuple(final long rowKey) { return new LongFloatLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final LongFloatLongTuple createTupleFromValues(@NotNull final Object... v return new LongFloatLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina return new LongFloatLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongFloatDateTimeColumnTupleSource( + return new LongFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatReinterpretedInstantColumnTupleSource.java index d0b56359938..be164807b2f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongFloatReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongFloatReinterpretedDateTimeColumnTupleSource( + public LongFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongFloatLongTuple createTupleFromValues(@NotNull final Object... v return new LongFloatLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongFloatReinterpretedDateTimeColumnTupleSource( + return new LongFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantBooleanColumnTupleSource.java index 5a6458f8feb..feba1e48ac0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class LongInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeBooleanColumnTupleSource( + public LongInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public LongDateTimeBooleanColumnTupleSource( public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -57,7 +57,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -66,7 +66,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeBooleanColumnTupleSource( + return new LongInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantByteColumnTupleSource.java index 7060225d21d..c6318dbea0e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantByteColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class LongInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeByteColumnTupleSource( + public LongInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public LongDateTimeByteColumnTupleSource( public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeByteColumnTupleSource( + return new LongInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantCharacterColumnTupleSource.java index 831e61e54fb..634a7396c9f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantCharacterColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class LongInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeCharacterColumnTupleSource( + public LongInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public LongDateTimeCharacterColumnTupleSource( public final LongLongCharTuple createTuple(final long rowKey) { return new LongLongCharTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongCharTuple createTuple(final long rowKey) { public final LongLongCharTuple createPreviousTuple(final long rowKey) { return new LongLongCharTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -66,7 +66,7 @@ public final LongLongCharTuple createPreviousTuple(final long rowKey) { public final LongLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongCharTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongCharTuple createTupleFromValues(@NotNull final Object... va public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongCharTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final LongLongCharTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongCharTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongCharTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongCharTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongCharTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeCharacterColumnTupleSource( + return new LongInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantColumnTupleSource.java similarity index 78% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantColumnTupleSource.java index 214d04e4ae9..3b016b36e58 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link LongInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public LongDateTimeColumnTupleSource( + public LongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -44,7 +44,7 @@ public LongDateTimeColumnTupleSource( public final LongLongTuple createTuple(final long rowKey) { return new LongLongTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -52,7 +52,7 @@ public final LongLongTuple createTuple(final long rowKey) { public final LongLongTuple createPreviousTuple(final long rowKey) { return new LongLongTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @@ -60,7 +60,7 @@ public final LongLongTuple createPreviousTuple(final long rowKey) { public final LongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -68,7 +68,7 @@ public final LongLongTuple createTupleFromValues(@NotNull final Object... values public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final LongLongTuple tupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final LongLongTuple tuple, int elemen return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -103,7 +103,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongTuple tupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -111,15 +111,15 @@ public final Object exportElementReinterpreted(@NotNull final LongLongTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new LongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link LongDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link LongInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -127,9 +127,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new LongDateTimeColumnTupleSource( + return new LongInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantDoubleColumnTupleSource.java index ee2de24771e..6c8f79498d4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantDoubleColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class LongInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeDoubleColumnTupleSource( + public LongInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public LongDateTimeDoubleColumnTupleSource( public final LongLongDoubleTuple createTuple(final long rowKey) { return new LongLongDoubleTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongDoubleTuple createTuple(final long rowKey) { public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { return new LongLongDoubleTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -66,7 +66,7 @@ public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongDoubleTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongDoubleTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongLongDoubleTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongDoubleTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongDoubleTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongDoubleTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongDoubleTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeDoubleColumnTupleSource( + return new LongInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantFloatColumnTupleSource.java index ce06773ec1d..7459d0aaa2a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantFloatColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class LongInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeFloatColumnTupleSource( + public LongInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public LongDateTimeFloatColumnTupleSource( public final LongLongFloatTuple createTuple(final long rowKey) { return new LongLongFloatTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongFloatTuple createTuple(final long rowKey) { public final LongLongFloatTuple createPreviousTuple(final long rowKey) { return new LongLongFloatTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -66,7 +66,7 @@ public final LongLongFloatTuple createPreviousTuple(final long rowKey) { public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongFloatTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... v public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongFloatTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongFloatTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongFloatTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongFloatTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongFloatTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeFloatColumnTupleSource( + return new LongInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantInstantColumnTupleSource.java index 8b99329f363..6652ca43fdf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public LongDateTimeDateTimeColumnTupleSource( + public LongInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,8 +47,8 @@ public LongDateTimeDateTimeColumnTupleSource( public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,8 +56,8 @@ public final LongLongLongTuple createTuple(final long rowKey) { public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,8 +65,8 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,8 +74,8 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,10 +117,10 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeDateTimeColumnTupleSource( + return new LongInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantIntegerColumnTupleSource.java index f32427e3858..b9a3d423b94 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantIntegerColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class LongInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeIntegerColumnTupleSource( + public LongInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public LongDateTimeIntegerColumnTupleSource( public final LongLongIntTuple createTuple(final long rowKey) { return new LongLongIntTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongIntTuple createTuple(final long rowKey) { public final LongLongIntTuple createPreviousTuple(final long rowKey) { return new LongLongIntTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -66,7 +66,7 @@ public final LongLongIntTuple createPreviousTuple(final long rowKey) { public final LongLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongIntTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongIntTuple createTupleFromValues(@NotNull final Object... val public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongIntTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongLongIntTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final LongLongIntTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongIntTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongIntTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongIntTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongIntTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeIntegerColumnTupleSource( + return new LongInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantLongColumnTupleSource.java index 1033d81aeb3..029306227b7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantLongColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class LongInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeLongColumnTupleSource( + public LongInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public LongDateTimeLongColumnTupleSource( public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -56,7 +56,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -65,7 +65,7 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeLongColumnTupleSource( + return new LongInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantObjectColumnTupleSource.java index f3b975b0048..93532fd687e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantObjectColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class LongInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeObjectColumnTupleSource( + public LongInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public LongDateTimeObjectColumnTupleSource( public final LongLongObjectTuple createTuple(final long rowKey) { return new LongLongObjectTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -56,7 +56,7 @@ public final LongLongObjectTuple createTuple(final long rowKey) { public final LongLongObjectTuple createPreviousTuple(final long rowKey) { return new LongLongObjectTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -65,7 +65,7 @@ public final LongLongObjectTuple createPreviousTuple(final long rowKey) { public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongObjectTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -74,7 +74,7 @@ public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongObjectTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final LongLongObjectTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongObjectTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongObjectTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongObjectTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongObjectTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeObjectColumnTupleSource( + return new LongInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantReinterpretedBooleanColumnTupleSource.java index 5fb5293d252..77859cdc8bb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantReinterpretedBooleanColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class LongInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeReinterpretedBooleanColumnTupleSource( + public LongInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public LongDateTimeReinterpretedBooleanColumnTupleSource( public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -58,7 +58,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -67,7 +67,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -76,7 +76,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeReinterpretedBooleanColumnTupleSource( + return new LongInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantReinterpretedInstantColumnTupleSource.java index 3754a6fe232..dd21ffe1110 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantReinterpretedInstantColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeReinterpretedDateTimeColumnTupleSource( + public LongInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public LongDateTimeReinterpretedDateTimeColumnTupleSource( public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -56,7 +56,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -65,8 +65,8 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeReinterpretedDateTimeColumnTupleSource( + return new LongInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantShortColumnTupleSource.java index be43ee5ed59..deadfc2edb2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongInstantShortColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class LongInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongDateTimeShortColumnTupleSource( + public LongInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public LongDateTimeShortColumnTupleSource( public final LongLongShortTuple createTuple(final long rowKey) { return new LongLongShortTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongShortTuple createTuple(final long rowKey) { public final LongLongShortTuple createPreviousTuple(final long rowKey) { return new LongLongShortTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -66,7 +66,7 @@ public final LongLongShortTuple createPreviousTuple(final long rowKey) { public final LongLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongShortTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongShortTuple createTupleFromValues(@NotNull final Object... v public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongShortTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final LongLongShortTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongShortTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongShortTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongShortTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongShortTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongDateTimeShortColumnTupleSource( + return new LongInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerInstantColumnTupleSource.java index d62f3781408..e417d57b6b8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongIntegerDateTimeColumnTupleSource( + public LongIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongIntLongTuple createTuple(final long rowKey) { return new LongIntLongTuple( columnSource1.getLong(rowKey), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final LongIntLongTuple createPreviousTuple(final long rowKey) { return new LongIntLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final LongIntLongTuple createTupleFromValues(@NotNull final Object... val return new LongIntLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongIntLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final LongIntLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongIntLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongIntegerDateTimeColumnTupleSource( + return new LongIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerReinterpretedInstantColumnTupleSource.java index 3dec114158a..541e0fe5d60 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongIntegerReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongIntegerReinterpretedDateTimeColumnTupleSource( + public LongIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongIntLongTuple createTupleFromValues(@NotNull final Object... val return new LongIntLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final LongIntLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongIntegerReinterpretedDateTimeColumnTupleSource( + return new LongIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongInstantColumnTupleSource.java index f4da4e75bd0..bc476abf454 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongLongDateTimeColumnTupleSource( + public LongLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getLong(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongLongDateTimeColumnTupleSource( + return new LongLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongReinterpretedInstantColumnTupleSource.java index b8583b77cd1..e6dbb46791d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongLongReinterpretedInstantColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongLongReinterpretedDateTimeColumnTupleSource( + public LongLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -90,7 +90,7 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -136,7 +136,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -148,7 +148,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongLongReinterpretedDateTimeColumnTupleSource( + return new LongLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectInstantColumnTupleSource.java index 0c6c5ea6889..e73a24381ed 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongObjectDateTimeColumnTupleSource( + public LongObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final LongObjectLongTuple createTuple(final long rowKey) { return new LongObjectLongTuple( columnSource1.getLong(rowKey), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final LongObjectLongTuple createPreviousTuple(final long rowKey) { return new LongObjectLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final LongObjectLongTuple createTupleFromValues(@NotNull final Object... return new LongObjectLongTuple( TypeUtils.unbox((Long)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin return new LongObjectLongTuple( TypeUtils.unbox((Long)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectLongTupl return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongObjectDateTimeColumnTupleSource( + return new LongObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectReinterpretedInstantColumnTupleSource.java index 4ad6fccba28..a8831af1523 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongObjectReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongObjectReinterpretedDateTimeColumnTupleSource( + public LongObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongObjectLongTuple createTupleFromValues(@NotNull final Object... return new LongObjectLongTuple( TypeUtils.unbox((Long)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongObjectReinterpretedDateTimeColumnTupleSource( + return new LongObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanInstantColumnTupleSource.java index 2b2e1ab7699..3a63a44b976 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongReinterpretedBooleanDateTimeColumnTupleSource( + public LongReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getLong(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final LongByteLongTuple createTupleFromValues(@NotNull final Object... va return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedBooleanDateTimeColumnTupleSource( + return new LongReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index ed17a1dfc2b..f43dfd6112b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public LongReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final LongByteLongTuple createTupleFromValues(@NotNull final Object... va return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final LongByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new LongReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantBooleanColumnTupleSource.java index 598437faff9..de3a77841a7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeBooleanColumnTupleSource( + public LongReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeBooleanColumnTupleSource( + return new LongReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantByteColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantByteColumnTupleSource.java index 342e35fb8e5..5eb0d1aca30 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantByteColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeByteColumnTupleSource( + public LongReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final LongLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeByteColumnTupleSource( + return new LongReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantCharacterColumnTupleSource.java index 69fb6f764af..ea2f4a00143 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantCharacterColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeCharacterColumnTupleSource( + public LongReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongLongCharTuple createPreviousTuple(final long rowKey) { public final LongLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongCharTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final LongLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final LongLongCharTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeCharacterColumnTupleSource( + return new LongReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantColumnTupleSource.java index a53127d84ee..76780cdfa66 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantColumnTupleSource.java @@ -10,27 +10,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public LongReinterpretedDateTimeColumnTupleSource( + public LongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -59,7 +59,7 @@ public final LongLongTuple createPreviousTuple(final long rowKey) { public final LongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -79,7 +79,7 @@ public final void exportElement(@NotNull final LongLongTuple tupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -91,7 +91,7 @@ public final Object exportElement(@NotNull final LongLongTuple tuple, int elemen return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -117,7 +117,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -128,7 +128,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new LongReinterpretedDateTimeColumnTupleSource( + return new LongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantDoubleColumnTupleSource.java index 41cf6238a0f..12d087a52f3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantDoubleColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeDoubleColumnTupleSource( + public LongReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongDoubleTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final LongLongDoubleTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeDoubleColumnTupleSource( + return new LongReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantFloatColumnTupleSource.java index 495cd4f56c2..294974ae161 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantFloatColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeFloatColumnTupleSource( + public LongReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongLongFloatTuple createPreviousTuple(final long rowKey) { public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongFloatTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final LongLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeFloatColumnTupleSource( + return new LongReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantInstantColumnTupleSource.java index c58313c33c9..90fd5bcac18 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongReinterpretedDateTimeDateTimeColumnTupleSource( + public LongReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getLong(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,8 +65,8 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeDateTimeColumnTupleSource( + return new LongReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantIntegerColumnTupleSource.java index c570da51600..341b4200fe3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantIntegerColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeIntegerColumnTupleSource( + public LongReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongLongIntTuple createPreviousTuple(final long rowKey) { public final LongLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongIntTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final LongLongIntTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final LongLongIntTuple tuple, int ele return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeIntegerColumnTupleSource( + return new LongReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantLongColumnTupleSource.java index a13a8558fe2..1ca10a8c814 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantLongColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeLongColumnTupleSource( + public LongReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -86,7 +86,7 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -102,7 +102,7 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -136,7 +136,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -148,7 +148,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeLongColumnTupleSource( + return new LongReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantObjectColumnTupleSource.java index 565d08aaedc..5e8ff73a66a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantObjectColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeObjectColumnTupleSource( + public LongReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongLongObjectTuple createPreviousTuple(final long rowKey) { public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongObjectTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final LongLongObjectTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeObjectColumnTupleSource( + return new LongReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index 35c8922fd92..6fcc642af89 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public LongReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final LongLongByteTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new LongReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantReinterpretedInstantColumnTupleSource.java index 788e4270d8f..242c379fc02 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public LongReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,8 +64,8 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -86,11 +86,11 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -102,10 +102,10 @@ public final Object exportElement(@NotNull final LongLongLongTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -136,7 +136,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -148,7 +148,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new LongReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantShortColumnTupleSource.java index f86865aa1d8..832f9178f89 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongReinterpretedInstantShortColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class LongReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongReinterpretedDateTimeShortColumnTupleSource( + public LongReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongLongShortTuple createPreviousTuple(final long rowKey) { public final LongLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongShortTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final LongLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final LongLongShortTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongReinterpretedDateTimeShortColumnTupleSource( + return new LongReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortInstantColumnTupleSource.java index 81bf59c0542..41a16f37c68 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public LongShortDateTimeColumnTupleSource( + public LongShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongShortLongTuple createTuple(final long rowKey) { return new LongShortLongTuple( columnSource1.getLong(rowKey), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final LongShortLongTuple createPreviousTuple(final long rowKey) { return new LongShortLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final LongShortLongTuple createTupleFromValues(@NotNull final Object... v return new LongShortLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull fina return new LongShortLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final LongShortLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongShortLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new LongShortDateTimeColumnTupleSource( + return new LongShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortReinterpretedInstantColumnTupleSource.java index 6a796271ada..14dc2c90e10 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/LongShortReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class LongShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class LongShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link LongShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public LongShortReinterpretedDateTimeColumnTupleSource( + public LongShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongShortLongTuple createTupleFromValues(@NotNull final Object... v return new LongShortLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final LongShortLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link LongShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new LongShortReinterpretedDateTimeColumnTupleSource( + return new LongShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanInstantColumnTupleSource.java index fe1597844d3..9f6c46ca36c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanInstantColumnTupleSource.java @@ -10,31 +10,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectByteLongTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectBooleanDateTimeColumnTupleSource( + public ObjectBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,7 +47,7 @@ public final ObjectByteLongTuple createTuple(final long rowKey) { return new ObjectByteLongTuple( columnSource1.get(rowKey), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,7 +56,7 @@ public final ObjectByteLongTuple createPreviousTuple(final long rowKey) { return new ObjectByteLongTuple( columnSource1.getPrev(rowKey), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,7 +65,7 @@ public final ObjectByteLongTuple createTupleFromValues(@NotNull final Object... return new ObjectByteLongTuple( values[0], BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,7 +74,7 @@ public final ObjectByteLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ObjectByteLongTuple( values[0], BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -90,7 +90,7 @@ public final void exportElement(@NotNull final ObjectByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ObjectByteLongTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectByteLongTupl return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,15 +129,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,9 +146,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectBooleanDateTimeColumnTupleSource( + return new ObjectBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanReinterpretedInstantColumnTupleSource.java index 879248c1e68..2124f043740 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectBooleanReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectBooleanReinterpretedDateTimeColumnTupleSource( + public ObjectBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ObjectByteLongTuple createTupleFromValues(@NotNull final Object... return new ObjectByteLongTuple( values[0], BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ObjectByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ObjectByteLongTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectBooleanReinterpretedDateTimeColumnTupleSource( + return new ObjectBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteInstantColumnTupleSource.java index ef63fcc23cc..285fad05828 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectByteDateTimeColumnTupleSource( + public ObjectByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ObjectByteLongTuple createTuple(final long rowKey) { return new ObjectByteLongTuple( columnSource1.get(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ObjectByteLongTuple createPreviousTuple(final long rowKey) { return new ObjectByteLongTuple( columnSource1.getPrev(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ObjectByteLongTuple createTupleFromValues(@NotNull final Object... return new ObjectByteLongTuple( values[0], TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ObjectByteLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ObjectByteLongTuple( values[0], TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ObjectByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ObjectByteLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectByteLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectByteDateTimeColumnTupleSource( + return new ObjectByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteReinterpretedInstantColumnTupleSource.java index 770a2b8b735..6e517253d1c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectByteReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectByteReinterpretedDateTimeColumnTupleSource( + public ObjectByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ObjectByteLongTuple createTupleFromValues(@NotNull final Object... return new ObjectByteLongTuple( values[0], TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ObjectByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ObjectByteLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectByteReinterpretedDateTimeColumnTupleSource( + return new ObjectByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterInstantColumnTupleSource.java index bcd99562116..32bc41586ae 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectCharacterDateTimeColumnTupleSource( + public ObjectCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ObjectCharLongTuple createTuple(final long rowKey) { return new ObjectCharLongTuple( columnSource1.get(rowKey), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ObjectCharLongTuple createPreviousTuple(final long rowKey) { return new ObjectCharLongTuple( columnSource1.getPrev(rowKey), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ObjectCharLongTuple createTupleFromValues(@NotNull final Object... return new ObjectCharLongTuple( values[0], TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ObjectCharLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ObjectCharLongTuple( values[0], TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ObjectCharLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ObjectCharLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectCharLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectCharacterDateTimeColumnTupleSource( + return new ObjectCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterReinterpretedInstantColumnTupleSource.java index babee7baa26..aad73e807d7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectCharacterReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectCharacterReinterpretedDateTimeColumnTupleSource( + public ObjectCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ObjectCharLongTuple createTupleFromValues(@NotNull final Object... return new ObjectCharLongTuple( values[0], TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ObjectCharLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ObjectCharLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectCharacterReinterpretedDateTimeColumnTupleSource( + return new ObjectCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleInstantColumnTupleSource.java index 17ab52e310b..a8771fa9e4c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectDoubleDateTimeColumnTupleSource( + public ObjectDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ObjectDoubleLongTuple createTuple(final long rowKey) { return new ObjectDoubleLongTuple( columnSource1.get(rowKey), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ObjectDoubleLongTuple createPreviousTuple(final long rowKey) { return new ObjectDoubleLongTuple( columnSource1.getPrev(rowKey), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ObjectDoubleLongTuple createTupleFromValues(@NotNull final Object.. return new ObjectDoubleLongTuple( values[0], TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ObjectDoubleLongTuple createTupleFromReinterpretedValues(@NotNull f return new ObjectDoubleLongTuple( values[0], TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ObjectDoubleLongTu return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ObjectDoubleLongTuple tuple, in return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectDoubleLongTu return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectDoubleDateTimeColumnTupleSource( + return new ObjectDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleReinterpretedInstantColumnTupleSource.java index aa0bc5fe3a2..2b3cb4ca25f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDoubleReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDoubleReinterpretedDateTimeColumnTupleSource( + public ObjectDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ObjectDoubleLongTuple createTupleFromValues(@NotNull final Object.. return new ObjectDoubleLongTuple( values[0], TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ObjectDoubleLongTu return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ObjectDoubleLongTuple tuple, in return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDoubleReinterpretedDateTimeColumnTupleSource( + return new ObjectDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatInstantColumnTupleSource.java index 6f38f7b14c0..09683014b14 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectFloatDateTimeColumnTupleSource( + public ObjectFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ObjectFloatLongTuple createTuple(final long rowKey) { return new ObjectFloatLongTuple( columnSource1.get(rowKey), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ObjectFloatLongTuple createPreviousTuple(final long rowKey) { return new ObjectFloatLongTuple( columnSource1.getPrev(rowKey), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ObjectFloatLongTuple createTupleFromValues(@NotNull final Object... return new ObjectFloatLongTuple( values[0], TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ObjectFloatLongTuple createTupleFromReinterpretedValues(@NotNull fi return new ObjectFloatLongTuple( values[0], TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ObjectFloatLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ObjectFloatLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectFloatLongTup return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectFloatDateTimeColumnTupleSource( + return new ObjectFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatReinterpretedInstantColumnTupleSource.java index 2fc2daa3eed..fd9e8b6b854 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectFloatReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectFloatReinterpretedDateTimeColumnTupleSource( + public ObjectFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ObjectFloatLongTuple createTupleFromValues(@NotNull final Object... return new ObjectFloatLongTuple( values[0], TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ObjectFloatLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ObjectFloatLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectFloatReinterpretedDateTimeColumnTupleSource( + return new ObjectFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantBooleanColumnTupleSource.java index 1bb381628e0..bb93f39b706 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantBooleanColumnTupleSource.java @@ -10,30 +10,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongByteTuple; import io.deephaven.util.BooleanUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeBooleanColumnTupleSource( + public ObjectInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -46,7 +46,7 @@ public ObjectDateTimeBooleanColumnTupleSource( public final ObjectLongByteTuple createTuple(final long rowKey) { return new ObjectLongByteTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -55,7 +55,7 @@ public final ObjectLongByteTuple createTuple(final long rowKey) { public final ObjectLongByteTuple createPreviousTuple(final long rowKey) { return new ObjectLongByteTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -64,7 +64,7 @@ public final ObjectLongByteTuple createPreviousTuple(final long rowKey) { public final ObjectLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongByteTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -73,7 +73,7 @@ public final ObjectLongByteTuple createTupleFromValues(@NotNull final Object... public final ObjectLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongByteTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -86,7 +86,7 @@ public final void exportElement(@NotNull final ObjectLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -102,7 +102,7 @@ public final Object exportElement(@NotNull final ObjectLongByteTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -116,7 +116,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongByteTupl return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -128,16 +128,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongByteTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -145,10 +145,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeBooleanColumnTupleSource( + return new ObjectInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantByteColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantByteColumnTupleSource.java index 72a340a9d56..f262d12414c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantByteColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeByteColumnTupleSource( + public ObjectInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ObjectDateTimeByteColumnTupleSource( public final ObjectLongByteTuple createTuple(final long rowKey) { return new ObjectLongByteTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -56,7 +56,7 @@ public final ObjectLongByteTuple createTuple(final long rowKey) { public final ObjectLongByteTuple createPreviousTuple(final long rowKey) { return new ObjectLongByteTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -65,7 +65,7 @@ public final ObjectLongByteTuple createPreviousTuple(final long rowKey) { public final ObjectLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongByteTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -74,7 +74,7 @@ public final ObjectLongByteTuple createTupleFromValues(@NotNull final Object... public final ObjectLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongByteTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ObjectLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ObjectLongByteTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongByteTupl return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongByteTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ObjectLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeByteColumnTupleSource( + return new ObjectInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantCharacterColumnTupleSource.java index 57684568b3a..b4574d3e4f5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantCharacterColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeCharacterColumnTupleSource( + public ObjectInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ObjectDateTimeCharacterColumnTupleSource( public final ObjectLongCharTuple createTuple(final long rowKey) { return new ObjectLongCharTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -56,7 +56,7 @@ public final ObjectLongCharTuple createTuple(final long rowKey) { public final ObjectLongCharTuple createPreviousTuple(final long rowKey) { return new ObjectLongCharTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -65,7 +65,7 @@ public final ObjectLongCharTuple createPreviousTuple(final long rowKey) { public final ObjectLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongCharTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -74,7 +74,7 @@ public final ObjectLongCharTuple createTupleFromValues(@NotNull final Object... public final ObjectLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongCharTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ObjectLongCharTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ObjectLongCharTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongCharTupl return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongCharTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongCharTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ObjectLongCharTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeCharacterColumnTupleSource( + return new ObjectInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantColumnTupleSource.java index de1d8b30ffe..1bed42ffd52 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongTuple; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public ObjectDateTimeColumnTupleSource( + public ObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -42,7 +42,7 @@ public ObjectDateTimeColumnTupleSource( public final ObjectLongTuple createTuple(final long rowKey) { return new ObjectLongTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -50,7 +50,7 @@ public final ObjectLongTuple createTuple(final long rowKey) { public final ObjectLongTuple createPreviousTuple(final long rowKey) { return new ObjectLongTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @@ -58,7 +58,7 @@ public final ObjectLongTuple createPreviousTuple(final long rowKey) { public final ObjectLongTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -66,7 +66,7 @@ public final ObjectLongTuple createTupleFromValues(@NotNull final Object... valu public final ObjectLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -78,7 +78,7 @@ public final void exportElement(@NotNull final ObjectLongTuple tu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -90,7 +90,7 @@ public final Object exportElement(@NotNull final ObjectLongTuple tuple, int elem return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -101,7 +101,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongTuple tu return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -109,15 +109,15 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongTuple tu protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new ObjectLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ObjectInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -125,9 +125,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new ObjectDateTimeColumnTupleSource( + return new ObjectInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantDoubleColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantDoubleColumnTupleSource.java index 3df876ad111..7b69d4039b0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantDoubleColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeDoubleColumnTupleSource( + public ObjectInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ObjectDateTimeDoubleColumnTupleSource( public final ObjectLongDoubleTuple createTuple(final long rowKey) { return new ObjectLongDoubleTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -56,7 +56,7 @@ public final ObjectLongDoubleTuple createTuple(final long rowKey) { public final ObjectLongDoubleTuple createPreviousTuple(final long rowKey) { return new ObjectLongDoubleTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -65,7 +65,7 @@ public final ObjectLongDoubleTuple createPreviousTuple(final long rowKey) { public final ObjectLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongDoubleTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -74,7 +74,7 @@ public final ObjectLongDoubleTuple createTupleFromValues(@NotNull final Object.. public final ObjectLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongDoubleTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ObjectLongDoubleTu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ObjectLongDoubleTuple tuple, in return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongDoubleTu return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongDoubleTu protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongDoubleTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ObjectLongDoubleTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeDoubleColumnTupleSource( + return new ObjectInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantFloatColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantFloatColumnTupleSource.java index 96340296f68..3510b6537e5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantFloatColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeFloatColumnTupleSource( + public ObjectInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ObjectDateTimeFloatColumnTupleSource( public final ObjectLongFloatTuple createTuple(final long rowKey) { return new ObjectLongFloatTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -56,7 +56,7 @@ public final ObjectLongFloatTuple createTuple(final long rowKey) { public final ObjectLongFloatTuple createPreviousTuple(final long rowKey) { return new ObjectLongFloatTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -65,7 +65,7 @@ public final ObjectLongFloatTuple createPreviousTuple(final long rowKey) { public final ObjectLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongFloatTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -74,7 +74,7 @@ public final ObjectLongFloatTuple createTupleFromValues(@NotNull final Object... public final ObjectLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongFloatTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ObjectLongFloatTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ObjectLongFloatTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongFloatTup return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongFloatTup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongFloatTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ObjectLongFloatTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeFloatColumnTupleSource( + return new ObjectInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantInstantColumnTupleSource.java similarity index 68% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantInstantColumnTupleSource.java index 856810e4619..9d28a7948cf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantInstantColumnTupleSource.java @@ -10,30 +10,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongLongTuple; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public ObjectDateTimeDateTimeColumnTupleSource( + public ObjectInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -45,8 +45,8 @@ public ObjectDateTimeDateTimeColumnTupleSource( public final ObjectLongLongTuple createTuple(final long rowKey) { return new ObjectLongLongTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -54,8 +54,8 @@ public final ObjectLongLongTuple createTuple(final long rowKey) { public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { return new ObjectLongLongTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -63,8 +63,8 @@ public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -72,8 +72,8 @@ public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... public final ObjectLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -85,11 +85,11 @@ public final void exportElement(@NotNull final ObjectLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,10 +101,10 @@ public final Object exportElement(@NotNull final ObjectLongLongTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -115,10 +115,10 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongLongTupl return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -127,16 +127,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongLongTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -144,10 +144,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeDateTimeColumnTupleSource( + return new ObjectInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantIntegerColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantIntegerColumnTupleSource.java index c0c4d8d87e1..acb457d7628 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantIntegerColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeIntegerColumnTupleSource( + public ObjectInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ObjectDateTimeIntegerColumnTupleSource( public final ObjectLongIntTuple createTuple(final long rowKey) { return new ObjectLongIntTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -56,7 +56,7 @@ public final ObjectLongIntTuple createTuple(final long rowKey) { public final ObjectLongIntTuple createPreviousTuple(final long rowKey) { return new ObjectLongIntTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -65,7 +65,7 @@ public final ObjectLongIntTuple createPreviousTuple(final long rowKey) { public final ObjectLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongIntTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -74,7 +74,7 @@ public final ObjectLongIntTuple createTupleFromValues(@NotNull final Object... v public final ObjectLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongIntTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ObjectLongIntTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ObjectLongIntTuple tuple, int e return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongIntTuple return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongIntTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongIntTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ObjectLongIntTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeIntegerColumnTupleSource( + return new ObjectInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantLongColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantLongColumnTupleSource.java index a273e8b8d52..43f90ead844 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantLongColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeLongColumnTupleSource( + public ObjectInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ObjectDateTimeLongColumnTupleSource( public final ObjectLongLongTuple createTuple(final long rowKey) { return new ObjectLongLongTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -56,7 +56,7 @@ public final ObjectLongLongTuple createTuple(final long rowKey) { public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { return new ObjectLongLongTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -65,7 +65,7 @@ public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -74,7 +74,7 @@ public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... public final ObjectLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ObjectLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ObjectLongLongTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongLongTupl return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongLongTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ObjectLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeLongColumnTupleSource( + return new ObjectInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantObjectColumnTupleSource.java index c9f624b3daf..91b227e376a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantObjectColumnTupleSource.java @@ -10,29 +10,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongObjectTuple; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeObjectColumnTupleSource( + public ObjectInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -45,7 +45,7 @@ public ObjectDateTimeObjectColumnTupleSource( public final ObjectLongObjectTuple createTuple(final long rowKey) { return new ObjectLongObjectTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -54,7 +54,7 @@ public final ObjectLongObjectTuple createTuple(final long rowKey) { public final ObjectLongObjectTuple createPreviousTuple(final long rowKey) { return new ObjectLongObjectTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -63,7 +63,7 @@ public final ObjectLongObjectTuple createPreviousTuple(final long rowKey) { public final ObjectLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongObjectTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -72,7 +72,7 @@ public final ObjectLongObjectTuple createTupleFromValues(@NotNull final Object.. public final ObjectLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongObjectTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -85,7 +85,7 @@ public final void exportElement(@NotNull final ObjectLongObjectTu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,7 +101,7 @@ public final Object exportElement(@NotNull final ObjectLongObjectTuple tuple, in return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -115,7 +115,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongObjectTu return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -127,16 +127,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongObjectTu protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongObjectTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ObjectLongObjectTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -144,10 +144,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeObjectColumnTupleSource( + return new ObjectInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantReinterpretedBooleanColumnTupleSource.java index 48b00d2462c..34e2e52f052 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantReinterpretedBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeReinterpretedBooleanColumnTupleSource( + public ObjectInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ObjectDateTimeReinterpretedBooleanColumnTupleSource( public final ObjectLongByteTuple createTuple(final long rowKey) { return new ObjectLongByteTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final ObjectLongByteTuple createTuple(final long rowKey) { public final ObjectLongByteTuple createPreviousTuple(final long rowKey) { return new ObjectLongByteTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final ObjectLongByteTuple createPreviousTuple(final long rowKey) { public final ObjectLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongByteTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final ObjectLongByteTuple createTupleFromValues(@NotNull final Object... public final ObjectLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongByteTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ObjectLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ObjectLongByteTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongByteTupl return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongByteTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ObjectLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeReinterpretedBooleanColumnTupleSource( + return new ObjectInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantReinterpretedInstantColumnTupleSource.java index 72d9d3de632..74d97c6bd86 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantReinterpretedInstantColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeReinterpretedDateTimeColumnTupleSource( + public ObjectInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ObjectDateTimeReinterpretedDateTimeColumnTupleSource( public final ObjectLongLongTuple createTuple(final long rowKey) { return new ObjectLongLongTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -56,7 +56,7 @@ public final ObjectLongLongTuple createTuple(final long rowKey) { public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { return new ObjectLongLongTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -65,8 +65,8 @@ public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,7 +74,7 @@ public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... public final ObjectLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final ObjectLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final ObjectLongLongTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongLongTupl return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongLongTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ObjectLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeReinterpretedDateTimeColumnTupleSource( + return new ObjectInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantShortColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantShortColumnTupleSource.java index 563e18d2395..1abb660a5ea 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectInstantShortColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ObjectInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectDateTimeShortColumnTupleSource( + public ObjectInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ObjectDateTimeShortColumnTupleSource( public final ObjectLongShortTuple createTuple(final long rowKey) { return new ObjectLongShortTuple( columnSource1.get(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -56,7 +56,7 @@ public final ObjectLongShortTuple createTuple(final long rowKey) { public final ObjectLongShortTuple createPreviousTuple(final long rowKey) { return new ObjectLongShortTuple( columnSource1.getPrev(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -65,7 +65,7 @@ public final ObjectLongShortTuple createPreviousTuple(final long rowKey) { public final ObjectLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongShortTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -74,7 +74,7 @@ public final ObjectLongShortTuple createTupleFromValues(@NotNull final Object... public final ObjectLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ObjectLongShortTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ObjectLongShortTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ObjectLongShortTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongShortTup return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongShortTup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongShortTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ObjectLongShortTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectDateTimeShortColumnTupleSource( + return new ObjectInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerInstantColumnTupleSource.java index ccba665964a..04c5ab0bf96 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectIntegerDateTimeColumnTupleSource( + public ObjectIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ObjectIntLongTuple createTuple(final long rowKey) { return new ObjectIntLongTuple( columnSource1.get(rowKey), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ObjectIntLongTuple createPreviousTuple(final long rowKey) { return new ObjectIntLongTuple( columnSource1.getPrev(rowKey), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ObjectIntLongTuple createTupleFromValues(@NotNull final Object... v return new ObjectIntLongTuple( values[0], TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ObjectIntLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ObjectIntLongTuple( values[0], TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ObjectIntLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ObjectIntLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectIntLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectIntegerDateTimeColumnTupleSource( + return new ObjectIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerReinterpretedInstantColumnTupleSource.java index 1719154289c..7aa8b761e43 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectIntegerReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectIntegerReinterpretedDateTimeColumnTupleSource( + public ObjectIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ObjectIntLongTuple createTupleFromValues(@NotNull final Object... v return new ObjectIntLongTuple( values[0], TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ObjectIntLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ObjectIntLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectIntegerReinterpretedDateTimeColumnTupleSource( + return new ObjectIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongInstantColumnTupleSource.java index 713538150c6..878aa29e264 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectLongDateTimeColumnTupleSource( + public ObjectLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ObjectLongLongTuple createTuple(final long rowKey) { return new ObjectLongLongTuple( columnSource1.get(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { return new ObjectLongLongTuple( columnSource1.getPrev(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... return new ObjectLongLongTuple( values[0], TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ObjectLongLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ObjectLongLongTuple( values[0], TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ObjectLongLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ObjectLongLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectLongDateTimeColumnTupleSource( + return new ObjectLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongReinterpretedInstantColumnTupleSource.java index b8cd36d1c9c..7296de9d23e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectLongReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectLongReinterpretedDateTimeColumnTupleSource( + public ObjectLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... return new ObjectLongLongTuple( values[0], TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ObjectLongLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ObjectLongLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectLongReinterpretedDateTimeColumnTupleSource( + return new ObjectLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectInstantColumnTupleSource.java index a2d06c68bd1..29e2d013f83 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectInstantColumnTupleSource.java @@ -10,30 +10,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectObjectLongTuple; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectObjectDateTimeColumnTupleSource( + public ObjectObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -46,7 +46,7 @@ public final ObjectObjectLongTuple createTuple(final long rowKey) { return new ObjectObjectLongTuple( columnSource1.get(rowKey), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -55,7 +55,7 @@ public final ObjectObjectLongTuple createPreviousTuple(final long rowKey) { return new ObjectObjectLongTuple( columnSource1.getPrev(rowKey), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -64,7 +64,7 @@ public final ObjectObjectLongTuple createTupleFromValues(@NotNull final Object.. return new ObjectObjectLongTuple( values[0], values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -73,7 +73,7 @@ public final ObjectObjectLongTuple createTupleFromReinterpretedValues(@NotNull f return new ObjectObjectLongTuple( values[0], values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ObjectObjectLongTu return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ObjectObjectLongTuple tuple, in return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectObjectLongTu return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -128,15 +128,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -145,9 +145,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectObjectDateTimeColumnTupleSource( + return new ObjectObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectReinterpretedInstantColumnTupleSource.java index 5be8c7c31c5..7cbd1790bea 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectObjectReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectObjectReinterpretedDateTimeColumnTupleSource( + public ObjectObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ObjectObjectLongTuple createTupleFromValues(@NotNull final Object.. return new ObjectObjectLongTuple( values[0], values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ObjectObjectLongTu return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ObjectObjectLongTuple tuple, in return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectObjectReinterpretedDateTimeColumnTupleSource( + return new ObjectObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanInstantColumnTupleSource.java index d4e52262e1e..46786b855d0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectReinterpretedBooleanDateTimeColumnTupleSource( + public ObjectReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ObjectByteLongTuple createTuple(final long rowKey) { return new ObjectByteLongTuple( columnSource1.get(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ObjectByteLongTuple createPreviousTuple(final long rowKey) { return new ObjectByteLongTuple( columnSource1.getPrev(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ObjectByteLongTuple createTupleFromValues(@NotNull final Object... return new ObjectByteLongTuple( values[0], BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ObjectByteLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ObjectByteLongTuple( values[0], TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ObjectByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ObjectByteLongTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectByteLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedBooleanDateTimeColumnTupleSource( + return new ObjectReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index 0fa1d076e90..23ae70bb303 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public ObjectReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ObjectByteLongTuple createTupleFromValues(@NotNull final Object... return new ObjectByteLongTuple( values[0], BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ObjectByteLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ObjectByteLongTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new ObjectReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantBooleanColumnTupleSource.java index 501e2da5d5b..51037236229 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeBooleanColumnTupleSource( + public ObjectReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ObjectLongByteTuple createPreviousTuple(final long rowKey) { public final ObjectLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongByteTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ObjectLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ObjectLongByteTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeBooleanColumnTupleSource( + return new ObjectReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantByteColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantByteColumnTupleSource.java index a4249e17d48..643038886e9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeByteColumnTupleSource( + public ObjectReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ObjectLongByteTuple createPreviousTuple(final long rowKey) { public final ObjectLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongByteTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ObjectLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ObjectLongByteTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeByteColumnTupleSource( + return new ObjectReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantCharacterColumnTupleSource.java index bf6a09db582..e0997e5489f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeCharacterColumnTupleSource( + public ObjectReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ObjectLongCharTuple createPreviousTuple(final long rowKey) { public final ObjectLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongCharTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ObjectLongCharTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ObjectLongCharTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeCharacterColumnTupleSource( + return new ObjectReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantColumnTupleSource.java index 7900c7e54ad..bf55022f567 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ObjectReinterpretedDateTimeColumnTupleSource( + public ObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -60,7 +60,7 @@ public final ObjectLongTuple createPreviousTuple(final long rowKey) { public final ObjectLongTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final ObjectLongTuple tu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final ObjectLongTuple tuple, int elem return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ObjectReinterpretedDateTimeColumnTupleSource( + return new ObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantDoubleColumnTupleSource.java index 446ef2b2b3e..c3141e35130 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeDoubleColumnTupleSource( + public ObjectReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ObjectLongDoubleTuple createPreviousTuple(final long rowKey) { public final ObjectLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongDoubleTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ObjectLongDoubleTu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ObjectLongDoubleTuple tuple, in return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeDoubleColumnTupleSource( + return new ObjectReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantFloatColumnTupleSource.java index d19b8c79ff0..9d41be1c611 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeFloatColumnTupleSource( + public ObjectReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ObjectLongFloatTuple createPreviousTuple(final long rowKey) { public final ObjectLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongFloatTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ObjectLongFloatTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ObjectLongFloatTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeFloatColumnTupleSource( + return new ObjectReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantInstantColumnTupleSource.java index b9af629fcb9..fb3b254d91b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeDateTimeColumnTupleSource( + public ObjectReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ObjectLongLongTuple createTuple(final long rowKey) { return new ObjectLongLongTuple( columnSource1.get(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { return new ObjectLongLongTuple( columnSource1.getPrev(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,8 +65,8 @@ public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ObjectLongLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ObjectLongLongTuple( values[0], TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final ObjectLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final ObjectLongLongTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectLongLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeDateTimeColumnTupleSource( + return new ObjectReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantIntegerColumnTupleSource.java index f4ee5727fb6..fbef1001333 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeIntegerColumnTupleSource( + public ObjectReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ObjectLongIntTuple createPreviousTuple(final long rowKey) { public final ObjectLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongIntTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ObjectLongIntTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ObjectLongIntTuple tuple, int e return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeIntegerColumnTupleSource( + return new ObjectReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantLongColumnTupleSource.java index 2d5f5530998..e7b8e7a3dda 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeLongColumnTupleSource( + public ObjectReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ObjectLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ObjectLongLongTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeLongColumnTupleSource( + return new ObjectReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantObjectColumnTupleSource.java index b505114a641..6600ec16022 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantObjectColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeObjectColumnTupleSource( + public ObjectReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final ObjectLongObjectTuple createPreviousTuple(final long rowKey) { public final ObjectLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongObjectTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ObjectLongObjectTu return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ObjectLongObjectTuple tuple, in return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeObjectColumnTupleSource( + return new ObjectReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index daee264d8da..6e6fc63dd21 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public ObjectReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ObjectLongByteTuple createPreviousTuple(final long rowKey) { public final ObjectLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongByteTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ObjectLongByteTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ObjectLongByteTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new ObjectReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantReinterpretedInstantColumnTupleSource.java index c39c232c1cd..c02502c4c8a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public ObjectReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,8 +65,8 @@ public final ObjectLongLongTuple createPreviousTuple(final long rowKey) { public final ObjectLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongLongTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final ObjectLongLongTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final ObjectLongLongTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new ObjectReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantShortColumnTupleSource.java index e0902e80cbe..f7d5bc0eda8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectReinterpretedInstantShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ObjectReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectReinterpretedDateTimeShortColumnTupleSource( + public ObjectReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ObjectLongShortTuple createPreviousTuple(final long rowKey) { public final ObjectLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new ObjectLongShortTuple( values[0], - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ObjectLongShortTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ObjectLongShortTuple tuple, int return tuple.getFirstElement(); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectReinterpretedDateTimeShortColumnTupleSource( + return new ObjectReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortInstantColumnTupleSource.java index c0ed674cb8b..77202879ae3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ObjectShortDateTimeColumnTupleSource( + public ObjectShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ObjectShortLongTuple createTuple(final long rowKey) { return new ObjectShortLongTuple( columnSource1.get(rowKey), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ObjectShortLongTuple createPreviousTuple(final long rowKey) { return new ObjectShortLongTuple( columnSource1.getPrev(rowKey), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ObjectShortLongTuple createTupleFromValues(@NotNull final Object... return new ObjectShortLongTuple( values[0], TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ObjectShortLongTuple createTupleFromReinterpretedValues(@NotNull fi return new ObjectShortLongTuple( values[0], TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ObjectShortLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ObjectShortLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ObjectShortLongTup return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ObjectChunk chunk1 = chunks[0].asObjectChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ObjectShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ObjectShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ObjectShortDateTimeColumnTupleSource( + return new ObjectShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortReinterpretedInstantColumnTupleSource.java index 475f7cdee05..50199967f18 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ObjectShortReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ObjectShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Object, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ObjectShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ObjectShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ObjectShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ObjectShortReinterpretedDateTimeColumnTupleSource( + public ObjectShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ObjectShortLongTuple createTupleFromValues(@NotNull final Object... return new ObjectShortLongTuple( values[0], TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ObjectShortLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ObjectShortLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ObjectShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ObjectShortReinterpretedDateTimeColumnTupleSource( + return new ObjectShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanInstantColumnTupleSource.java index 3e4a458738c..d429a5f3355 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanBooleanDateTimeColumnTupleSource( + public ReinterpretedBooleanBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteByteLongTuple createTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getByte(rowKey), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteByteLongTuple createPreviousTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getPrevByte(rowKey), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteByteLongTuple return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanBooleanDateTimeColumnTupleSource( + return new ReinterpretedBooleanBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanReinterpretedInstantColumnTupleSource.java index 1dc1801f280..fc64f268d9e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanBooleanReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanBooleanReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteInstantColumnTupleSource.java index 30db5b0bda0..7300804beb9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanByteDateTimeColumnTupleSource( + public ReinterpretedBooleanByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteByteLongTuple createTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getByte(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteByteLongTuple createPreviousTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanByteDateTimeColumnTupleSource( + return new ReinterpretedBooleanByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteReinterpretedInstantColumnTupleSource.java index f4a1c031443..e6440a1025a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanByteReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanByteReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanByteReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterInstantColumnTupleSource.java index 9cf481e3841..6af014f8a39 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteCharLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanCharacterDateTimeColumnTupleSource( + public ReinterpretedBooleanCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final ByteCharLongTuple createTuple(final long rowKey) { return new ByteCharLongTuple( columnSource1.getByte(rowKey), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final ByteCharLongTuple createPreviousTuple(final long rowKey) { return new ByteCharLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final ByteCharLongTuple createTupleFromValues(@NotNull final Object... va return new ByteCharLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final ByteCharLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteCharLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteCharLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteCharLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanCharacterDateTimeColumnTupleSource( + return new ReinterpretedBooleanCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterReinterpretedInstantColumnTupleSource.java index c397b40a5ec..e261cb20841 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanCharacterReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteCharLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanCharacterReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteCharLongTuple createTupleFromValues(@NotNull final Object... va return new ByteCharLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteCharLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanCharacterReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleInstantColumnTupleSource.java index a0872b6c3a1..a69f5fc7acc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteDoubleLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanDoubleDateTimeColumnTupleSource( + public ReinterpretedBooleanDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final ByteDoubleLongTuple createTuple(final long rowKey) { return new ByteDoubleLongTuple( columnSource1.getByte(rowKey), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final ByteDoubleLongTuple createPreviousTuple(final long rowKey) { return new ByteDoubleLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final ByteDoubleLongTuple createTupleFromValues(@NotNull final Object... return new ByteDoubleLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final ByteDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ByteDoubleLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteDoubleLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDoubleDateTimeColumnTupleSource( + return new ReinterpretedBooleanDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleReinterpretedInstantColumnTupleSource.java index 6dd7167f5fb..8c327cc7cb1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDoubleReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteDoubleLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDoubleReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteDoubleLongTuple createTupleFromValues(@NotNull final Object... return new ByteDoubleLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDoubleReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatInstantColumnTupleSource.java index ea07f0e78b8..316d2bb7e86 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteFloatLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanFloatDateTimeColumnTupleSource( + public ReinterpretedBooleanFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final ByteFloatLongTuple createTuple(final long rowKey) { return new ByteFloatLongTuple( columnSource1.getByte(rowKey), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final ByteFloatLongTuple createPreviousTuple(final long rowKey) { return new ByteFloatLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final ByteFloatLongTuple createTupleFromValues(@NotNull final Object... v return new ByteFloatLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final ByteFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ByteFloatLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteFloatLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteFloatLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanFloatDateTimeColumnTupleSource( + return new ReinterpretedBooleanFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatReinterpretedInstantColumnTupleSource.java index c26305fe629..10874f66d4e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanFloatReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteFloatLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanFloatReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteFloatLongTuple createTupleFromValues(@NotNull final Object... v return new ByteFloatLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteFloatLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanFloatReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantBooleanColumnTupleSource.java index 5a43b3caaaa..152150c794f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeBooleanColumnTupleSource( + public ReinterpretedBooleanInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedBooleanDateTimeBooleanColumnTupleSource( public final ByteLongByteTuple createTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -57,7 +57,7 @@ public final ByteLongByteTuple createTuple(final long rowKey) { public final ByteLongByteTuple createPreviousTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... va public final ByteLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeBooleanColumnTupleSource( + return new ReinterpretedBooleanInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantByteColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantByteColumnTupleSource.java index e0b3d69ac51..47853c7bcd8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantByteColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeByteColumnTupleSource( + public ReinterpretedBooleanInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedBooleanDateTimeByteColumnTupleSource( public final ByteLongByteTuple createTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongByteTuple createTuple(final long rowKey) { public final ByteLongByteTuple createPreviousTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... va public final ByteLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeByteColumnTupleSource( + return new ReinterpretedBooleanInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantCharacterColumnTupleSource.java index e1f6a097b25..f92d04127b6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantCharacterColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongCharTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeCharacterColumnTupleSource( + public ReinterpretedBooleanInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public ReinterpretedBooleanDateTimeCharacterColumnTupleSource( public final ByteLongCharTuple createTuple(final long rowKey) { return new ByteLongCharTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -58,7 +58,7 @@ public final ByteLongCharTuple createTuple(final long rowKey) { public final ByteLongCharTuple createPreviousTuple(final long rowKey) { return new ByteLongCharTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -67,7 +67,7 @@ public final ByteLongCharTuple createPreviousTuple(final long rowKey) { public final ByteLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongCharTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongCharTuple createTupleFromValues(@NotNull final Object... va public final ByteLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongCharTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongCharTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongCharTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongCharTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongCharTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongCharTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeCharacterColumnTupleSource( + return new ReinterpretedBooleanInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantColumnTupleSource.java index aa0fb1b6aaf..894248d6e89 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public ReinterpretedBooleanDateTimeColumnTupleSource( + public ReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -45,7 +45,7 @@ public ReinterpretedBooleanDateTimeColumnTupleSource( public final ByteLongTuple createTuple(final long rowKey) { return new ByteLongTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -53,7 +53,7 @@ public final ByteLongTuple createTuple(final long rowKey) { public final ByteLongTuple createPreviousTuple(final long rowKey) { return new ByteLongTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @@ -61,7 +61,7 @@ public final ByteLongTuple createPreviousTuple(final long rowKey) { public final ByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -69,7 +69,7 @@ public final ByteLongTuple createTupleFromValues(@NotNull final Object... values public final ByteLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -81,7 +81,7 @@ public final void exportElement(@NotNull final ByteLongTuple tupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -93,7 +93,7 @@ public final Object exportElement(@NotNull final ByteLongTuple tuple, int elemen return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -104,7 +104,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongTuple tupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -112,15 +112,15 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -128,9 +128,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedBooleanDateTimeColumnTupleSource( + return new ReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantDoubleColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantDoubleColumnTupleSource.java index 7e2cb34150a..ccb8ed10225 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantDoubleColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongDoubleTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeDoubleColumnTupleSource( + public ReinterpretedBooleanInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public ReinterpretedBooleanDateTimeDoubleColumnTupleSource( public final ByteLongDoubleTuple createTuple(final long rowKey) { return new ByteLongDoubleTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -58,7 +58,7 @@ public final ByteLongDoubleTuple createTuple(final long rowKey) { public final ByteLongDoubleTuple createPreviousTuple(final long rowKey) { return new ByteLongDoubleTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -67,7 +67,7 @@ public final ByteLongDoubleTuple createPreviousTuple(final long rowKey) { public final ByteLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongDoubleTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongDoubleTuple createTupleFromValues(@NotNull final Object... public final ByteLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongDoubleTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongDoubleTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongDoubleTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongDoubleTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongDoubleTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongDoubleTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongDoubleTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeDoubleColumnTupleSource( + return new ReinterpretedBooleanInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantFloatColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantFloatColumnTupleSource.java index 4d0285a00f7..491161ffba8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantFloatColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongFloatTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeFloatColumnTupleSource( + public ReinterpretedBooleanInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public ReinterpretedBooleanDateTimeFloatColumnTupleSource( public final ByteLongFloatTuple createTuple(final long rowKey) { return new ByteLongFloatTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -58,7 +58,7 @@ public final ByteLongFloatTuple createTuple(final long rowKey) { public final ByteLongFloatTuple createPreviousTuple(final long rowKey) { return new ByteLongFloatTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -67,7 +67,7 @@ public final ByteLongFloatTuple createPreviousTuple(final long rowKey) { public final ByteLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongFloatTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongFloatTuple createTupleFromValues(@NotNull final Object... v public final ByteLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongFloatTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongFloatTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongFloatTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongFloatTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongFloatTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongFloatTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeFloatColumnTupleSource( + return new ReinterpretedBooleanInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantInstantColumnTupleSource.java index 4315d97645f..ac50b3ccf5c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeDateTimeColumnTupleSource( + public ReinterpretedBooleanInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,8 +48,8 @@ public ReinterpretedBooleanDateTimeDateTimeColumnTupleSource( public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,8 +57,8 @@ public final ByteLongLongTuple createTuple(final long rowKey) { public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,8 +66,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,8 +75,8 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -118,10 +118,10 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeDateTimeColumnTupleSource( + return new ReinterpretedBooleanInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantIntegerColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantIntegerColumnTupleSource.java index 907e4f62c7d..764b6a419a3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantIntegerColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongIntTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeIntegerColumnTupleSource( + public ReinterpretedBooleanInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public ReinterpretedBooleanDateTimeIntegerColumnTupleSource( public final ByteLongIntTuple createTuple(final long rowKey) { return new ByteLongIntTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -58,7 +58,7 @@ public final ByteLongIntTuple createTuple(final long rowKey) { public final ByteLongIntTuple createPreviousTuple(final long rowKey) { return new ByteLongIntTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -67,7 +67,7 @@ public final ByteLongIntTuple createPreviousTuple(final long rowKey) { public final ByteLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongIntTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongIntTuple createTupleFromValues(@NotNull final Object... val public final ByteLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongIntTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongIntTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongIntTuple tuple, int ele return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongIntTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongIntTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongIntTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongIntTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeIntegerColumnTupleSource( + return new ReinterpretedBooleanInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantLongColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantLongColumnTupleSource.java index 5264525b7f8..af888df9df8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantLongColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeLongColumnTupleSource( + public ReinterpretedBooleanInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public ReinterpretedBooleanDateTimeLongColumnTupleSource( public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -58,7 +58,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -67,7 +67,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeLongColumnTupleSource( + return new ReinterpretedBooleanInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantObjectColumnTupleSource.java index e1709535f4e..55a81d28677 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantObjectColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongObjectTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeObjectColumnTupleSource( + public ReinterpretedBooleanInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedBooleanDateTimeObjectColumnTupleSource( public final ByteLongObjectTuple createTuple(final long rowKey) { return new ByteLongObjectTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongObjectTuple createTuple(final long rowKey) { public final ByteLongObjectTuple createPreviousTuple(final long rowKey) { return new ByteLongObjectTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongObjectTuple createPreviousTuple(final long rowKey) { public final ByteLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongObjectTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -75,7 +75,7 @@ public final ByteLongObjectTuple createTupleFromValues(@NotNull final Object... public final ByteLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongObjectTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongObjectTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongObjectTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongObjectTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongObjectTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongObjectTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongObjectTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeObjectColumnTupleSource( + return new ReinterpretedBooleanInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantReinterpretedBooleanColumnTupleSource.java similarity index 78% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantReinterpretedBooleanColumnTupleSource.java index ab44276ed65..a1a40dfd9b7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantReinterpretedBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeReinterpretedBooleanColumnTupleSource( + public ReinterpretedBooleanInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedBooleanDateTimeReinterpretedBooleanColumnTupleSource( public final ByteLongByteTuple createTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final ByteLongByteTuple createTuple(final long rowKey) { public final ByteLongByteTuple createPreviousTuple(final long rowKey) { return new ByteLongByteTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... va public final ByteLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongByteTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeReinterpretedBooleanColumnTupleSource( + return new ReinterpretedBooleanInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantReinterpretedInstantColumnTupleSource.java index 4ea0d981e0f..b1f383f5cec 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantReinterpretedInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public ReinterpretedBooleanDateTimeReinterpretedDateTimeColumnTupleSource( public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -58,7 +58,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -67,8 +67,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -89,11 +89,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -105,10 +105,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantShortColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantShortColumnTupleSource.java index 3a3d033317a..b195d0d63dc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanInstantShortColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongShortTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanDateTimeShortColumnTupleSource( + public ReinterpretedBooleanInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public ReinterpretedBooleanDateTimeShortColumnTupleSource( public final ByteLongShortTuple createTuple(final long rowKey) { return new ByteLongShortTuple( columnSource1.getByte(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -58,7 +58,7 @@ public final ByteLongShortTuple createTuple(final long rowKey) { public final ByteLongShortTuple createPreviousTuple(final long rowKey) { return new ByteLongShortTuple( columnSource1.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -67,7 +67,7 @@ public final ByteLongShortTuple createPreviousTuple(final long rowKey) { public final ByteLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongShortTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteLongShortTuple createTupleFromValues(@NotNull final Object... v public final ByteLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ByteLongShortTuple( TypeUtils.unbox((Byte)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongShortTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongShortTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongShortTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongShortTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ByteLongShortTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanDateTimeShortColumnTupleSource( + return new ReinterpretedBooleanInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerInstantColumnTupleSource.java index f5b3d5a1a3c..0ca1f8b3f4e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteIntLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanIntegerDateTimeColumnTupleSource( + public ReinterpretedBooleanIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final ByteIntLongTuple createTuple(final long rowKey) { return new ByteIntLongTuple( columnSource1.getByte(rowKey), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final ByteIntLongTuple createPreviousTuple(final long rowKey) { return new ByteIntLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final ByteIntLongTuple createTupleFromValues(@NotNull final Object... val return new ByteIntLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final ByteIntLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteIntLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteIntLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteIntLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanIntegerDateTimeColumnTupleSource( + return new ReinterpretedBooleanIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerReinterpretedInstantColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerReinterpretedInstantColumnTupleSource.java index dc20b2ba840..1f0db3ea805 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanIntegerReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteIntLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanIntegerReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteIntLongTuple createTupleFromValues(@NotNull final Object... val return new ByteIntLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteIntLongTuple tuple, int ele return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanIntegerReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongInstantColumnTupleSource.java index 26d2bf0cff1..ae6473887a0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanLongDateTimeColumnTupleSource( + public ReinterpretedBooleanLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getByte(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanLongDateTimeColumnTupleSource( + return new ReinterpretedBooleanLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongReinterpretedInstantColumnTupleSource.java index 15a9f820e8b..cc45376db0c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanLongReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanLongReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... va return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanLongReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectInstantColumnTupleSource.java index ecfd5cc2ffe..2f0d4d09a9d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteObjectLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanObjectDateTimeColumnTupleSource( + public ReinterpretedBooleanObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteObjectLongTuple createTuple(final long rowKey) { return new ByteObjectLongTuple( columnSource1.getByte(rowKey), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteObjectLongTuple createPreviousTuple(final long rowKey) { return new ByteObjectLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteObjectLongTuple createTupleFromValues(@NotNull final Object... return new ByteObjectLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ByteObjectLongTuple( TypeUtils.unbox((Byte)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteObjectLongTupl return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanObjectDateTimeColumnTupleSource( + return new ReinterpretedBooleanObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectReinterpretedInstantColumnTupleSource.java index 8ba5229141a..f1e7fb12d4e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanObjectReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteObjectLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanObjectReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteObjectLongTuple createTupleFromValues(@NotNull final Object... return new ByteObjectLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanObjectReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanInstantColumnTupleSource.java index 0818eab2974..42a4da61303 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedBooleanDateTimeColumnTupleSource( + public ReinterpretedBooleanReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ByteByteLongTuple createTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getByte(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ByteByteLongTuple createPreviousTuple(final long rowKey) { return new ByteByteLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ByteByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteByteLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedBooleanDateTimeColumnTupleSource( + return new ReinterpretedBooleanReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 92% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index f0644a76516..0144bdaab94 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteByteLongTuple createTupleFromValues(@NotNull final Object... va return new ByteByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ByteByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ByteByteLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantBooleanColumnTupleSource.java index bc8c32a1039..15a450bc33d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeBooleanColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeBooleanColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantByteColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantByteColumnTupleSource.java index 56b9f73da7c..72b94b1633e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantByteColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeByteColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeByteColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantCharacterColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantCharacterColumnTupleSource.java index 6e627326775..8b6d4cdfe27 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongCharTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeCharacterColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongCharTuple createPreviousTuple(final long rowKey) { public final ByteLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongCharTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongCharTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeCharacterColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 88% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index bc57177b4f2..b6c2816ef06 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -61,7 +61,7 @@ public final ByteLongTuple createPreviousTuple(final long rowKey) { public final ByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -81,7 +81,7 @@ public final void exportElement(@NotNull final ByteLongTuple tupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -93,7 +93,7 @@ public final Object exportElement(@NotNull final ByteLongTuple tuple, int elemen return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -119,7 +119,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -130,7 +130,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantDoubleColumnTupleSource.java index 033a44abd63..59fcc552d54 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongDoubleTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeDoubleColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongDoubleTuple createPreviousTuple(final long rowKey) { public final ByteLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongDoubleTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongDoubleTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongDoubleTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeDoubleColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantFloatColumnTupleSource.java index 99cd615edf2..c4fa8468e5b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongFloatTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeFloatColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongFloatTuple createPreviousTuple(final long rowKey) { public final ByteLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongFloatTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongFloatTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongFloatTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeFloatColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantInstantColumnTupleSource.java index 38034c23156..b4822e61712 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeDateTimeColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final ByteLongLongTuple createTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getByte(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { return new ByteLongLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,8 +67,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final ByteLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new ByteLongLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -89,11 +89,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -105,10 +105,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeDateTimeColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantIntegerColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantIntegerColumnTupleSource.java index 1a0690e8531..13efe198494 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongIntTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeIntegerColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongIntTuple createPreviousTuple(final long rowKey) { public final ByteLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongIntTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongIntTuple t return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongIntTuple tuple, int ele return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeIntegerColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantLongColumnTupleSource.java index 97f79161816..b4331b003ca 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantLongColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeLongColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeLongColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantObjectColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantObjectColumnTupleSource.java index a835c0b48b4..fc07cb5500a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantObjectColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongObjectTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeObjectColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongObjectTuple createPreviousTuple(final long rowKey) { public final ByteLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongObjectTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongObjectTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongObjectTuple tuple, int return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeObjectColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index cd6a2c12a73..6589d434022 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ByteLongByteTuple createPreviousTuple(final long rowKey) { public final ByteLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongByteTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ByteLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ByteLongByteTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantReinterpretedInstantColumnTupleSource.java index 9f57e5efa58..d23fe5b6cbe 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,8 +66,8 @@ public final ByteLongLongTuple createPreviousTuple(final long rowKey) { public final ByteLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final ByteLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final ByteLongLongTuple tuple, int el return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantShortColumnTupleSource.java index 724b50dd8e4..86a5d5cbc3b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanReinterpretedInstantShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteLongShortTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanReinterpretedDateTimeShortColumnTupleSource( + public ReinterpretedBooleanReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ByteLongShortTuple createPreviousTuple(final long rowKey) { public final ByteLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new ByteLongShortTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ByteLongShortTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ByteLongShortTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanReinterpretedDateTimeShortColumnTupleSource( + return new ReinterpretedBooleanReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortInstantColumnTupleSource.java index 30ae2178ac6..3f33e819757 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteShortLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedBooleanShortDateTimeColumnTupleSource( + public ReinterpretedBooleanShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final ByteShortLongTuple createTuple(final long rowKey) { return new ByteShortLongTuple( columnSource1.getByte(rowKey), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final ByteShortLongTuple createPreviousTuple(final long rowKey) { return new ByteShortLongTuple( columnSource1.getPrevByte(rowKey), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final ByteShortLongTuple createTupleFromValues(@NotNull final Object... v return new ByteShortLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final ByteShortLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ByteShortLongTuple( TypeUtils.unbox((Byte)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteShortLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final ByteShortLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ByteChunk chunk1 = chunks[0].asByteChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ByteShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ByteShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanShortDateTimeColumnTupleSource( + return new ReinterpretedBooleanShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortReinterpretedInstantColumnTupleSource.java index 3372ba7d8f1..dad02370ba6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedBooleanShortReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ByteShortLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Byte, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedBooleanShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedBooleanShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedBooleanShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedBooleanShortReinterpretedDateTimeColumnTupleSource( + public ReinterpretedBooleanShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ByteShortLongTuple createTupleFromValues(@NotNull final Object... v return new ByteShortLongTuple( BooleanUtils.booleanAsByte((Boolean)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ByteShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ByteShortLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedBooleanShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedBooleanShortReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedBooleanShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanBooleanColumnTupleSource.java index fa5cba4765c..53ce0ab4c86 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanBooleanColumnTupleSource( + public ReinterpretedInstantBooleanBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanBooleanColumnTupleSource( + return new ReinterpretedInstantBooleanBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanByteColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanByteColumnTupleSource.java index 19952efbf82..5dc34d408eb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanByteColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanByteColumnTupleSource( + public ReinterpretedInstantBooleanByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanByteColumnTupleSource( + return new ReinterpretedInstantBooleanByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanCharacterColumnTupleSource.java index 4ddf8dff39d..06eb25ab028 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteCharTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanCharacterColumnTupleSource( + public ReinterpretedInstantBooleanCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteCharTuple createPreviousTuple(final long rowKey) { @Override public final LongByteCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteCharTuple @Override public final Object exportElement(@NotNull final LongByteCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanCharacterColumnTupleSource( + return new ReinterpretedInstantBooleanCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanColumnTupleSource.java index ab74d498166..262b47a2cc6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeBooleanColumnTupleSource( + public ReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -60,7 +60,7 @@ public final LongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]) ); } @@ -77,7 +77,7 @@ public final LongByteTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -90,7 +90,7 @@ public final void exportElement(@NotNull final LongByteTuple tupl @Override public final Object exportElement(@NotNull final LongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -119,7 +119,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -130,7 +130,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeBooleanColumnTupleSource( + return new ReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanDoubleColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanDoubleColumnTupleSource.java index 3f8632f00e4..7ec4defb659 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteDoubleTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanDoubleColumnTupleSource( + public ReinterpretedInstantBooleanDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongByteDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteDoubleTupl @Override public final Object exportElement(@NotNull final LongByteDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanDoubleColumnTupleSource( + return new ReinterpretedInstantBooleanDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanFloatColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanFloatColumnTupleSource.java index 65cdaab1591..9732a42d7be 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteFloatTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanFloatColumnTupleSource( + public ReinterpretedInstantBooleanFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongByteFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteFloatTuple @Override public final Object exportElement(@NotNull final LongByteFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanFloatColumnTupleSource( + return new ReinterpretedInstantBooleanFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanInstantColumnTupleSource.java similarity index 77% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanInstantColumnTupleSource.java index c6028459654..20bbb827c78 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanDateTimeColumnTupleSource( + public ReinterpretedInstantBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getLong(rowKey), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,16 +58,16 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getPrevLong(rowKey), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanDateTimeColumnTupleSource( + return new ReinterpretedInstantBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanIntegerColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanIntegerColumnTupleSource.java index 65f9779f4dd..0ae6dd0da7e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteIntTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanIntegerColumnTupleSource( + public ReinterpretedInstantBooleanIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteIntTuple createPreviousTuple(final long rowKey) { @Override public final LongByteIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteIntTuple t @Override public final Object exportElement(@NotNull final LongByteIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanIntegerColumnTupleSource( + return new ReinterpretedInstantBooleanIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanLongColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanLongColumnTupleSource.java index 38065e74246..2acaa915d84 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanLongColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanLongColumnTupleSource( + public ReinterpretedInstantBooleanLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanLongColumnTupleSource( + return new ReinterpretedInstantBooleanLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanObjectColumnTupleSource.java index b7750364f36..6fcd7101897 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanObjectColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteObjectTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanObjectColumnTupleSource( + public ReinterpretedInstantBooleanObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongByteObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), values[2] ); @@ -84,7 +84,7 @@ public final LongByteObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteObjectTupl @Override public final Object exportElement(@NotNull final LongByteObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanObjectColumnTupleSource( + return new ReinterpretedInstantBooleanObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanReinterpretedBooleanColumnTupleSource.java index 6c97698b9a7..67795e076a9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantBooleanReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantBooleanReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanReinterpretedInstantColumnTupleSource.java index a74d456cd0d..db5c16e1fec 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,9 +65,9 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanShortColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanShortColumnTupleSource.java index 8d5e8fd5e30..4e51d1264ee 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeBooleanShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantBooleanShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteShortTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Boolean, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeBooleanShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantBooleanShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeBooleanShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantBooleanShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeBooleanShortColumnTupleSource( + public ReinterpretedInstantBooleanShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteShortTuple createPreviousTuple(final long rowKey) { @Override public final LongByteShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteShortTuple @Override public final Object exportElement(@NotNull final LongByteShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeBooleanShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantBooleanShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeBooleanShortColumnTupleSource( + return new ReinterpretedInstantBooleanShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteBooleanColumnTupleSource.java index e862c9e194c..2f72cb8946c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteBooleanColumnTupleSource( + public ReinterpretedInstantByteBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteBooleanColumnTupleSource( + return new ReinterpretedInstantByteBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteByteColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteByteColumnTupleSource.java index d4978d5e4a3..7dbe11ce4d0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteByteColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteByteColumnTupleSource( + public ReinterpretedInstantByteByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -83,7 +83,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteByteColumnTupleSource( + return new ReinterpretedInstantByteByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteCharacterColumnTupleSource.java index 73778fc2fa5..f9cc1fea016 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteCharacterColumnTupleSource( + public ReinterpretedInstantByteCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteCharTuple createPreviousTuple(final long rowKey) { @Override public final LongByteCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteCharTuple @Override public final Object exportElement(@NotNull final LongByteCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteCharacterColumnTupleSource( + return new ReinterpretedInstantByteCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteColumnTupleSource.java index 671a20203ce..a0f2bda0e59 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeByteColumnTupleSource( + public ReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -59,7 +59,7 @@ public final LongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]) ); } @@ -76,7 +76,7 @@ public final LongByteTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongByteTuple tupl @Override public final Object exportElement(@NotNull final LongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeByteColumnTupleSource( + return new ReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteDoubleColumnTupleSource.java index 52c45a64e41..ec7cc21dfd4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteDoubleColumnTupleSource( + public ReinterpretedInstantByteDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongByteDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteDoubleTupl @Override public final Object exportElement(@NotNull final LongByteDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteDoubleColumnTupleSource( + return new ReinterpretedInstantByteDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteFloatColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteFloatColumnTupleSource.java index 15b3b1ca0f7..7228e81e103 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteFloatColumnTupleSource( + public ReinterpretedInstantByteFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongByteFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteFloatTuple @Override public final Object exportElement(@NotNull final LongByteFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteFloatColumnTupleSource( + return new ReinterpretedInstantByteFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteInstantColumnTupleSource.java index a034b8b7b94..48a78f32528 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteDateTimeColumnTupleSource( + public ReinterpretedInstantByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getLong(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,16 +58,16 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteDateTimeColumnTupleSource( + return new ReinterpretedInstantByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteIntegerColumnTupleSource.java index 6249701e2e4..22b2d08dd9c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteIntegerColumnTupleSource( + public ReinterpretedInstantByteIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteIntTuple createPreviousTuple(final long rowKey) { @Override public final LongByteIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteIntTuple t @Override public final Object exportElement(@NotNull final LongByteIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteIntegerColumnTupleSource( + return new ReinterpretedInstantByteIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteLongColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteLongColumnTupleSource.java index ce27f79417e..329509206e7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteLongColumnTupleSource( + public ReinterpretedInstantByteLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteLongColumnTupleSource( + return new ReinterpretedInstantByteLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteObjectColumnTupleSource.java index 9e4b8ede1a5..782a1ac3a5f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteObjectColumnTupleSource( + public ReinterpretedInstantByteObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongByteObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), values[2] ); @@ -84,7 +84,7 @@ public final LongByteObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteObjectTupl @Override public final Object exportElement(@NotNull final LongByteObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteObjectColumnTupleSource( + return new ReinterpretedInstantByteObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteReinterpretedBooleanColumnTupleSource.java index d512d66357d..32bb95255d4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteReinterpretedBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantByteReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantByteReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteReinterpretedInstantColumnTupleSource.java index 92ea3359f51..7340bf66a95 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,9 +64,9 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteShortColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteShortColumnTupleSource.java index d85d078fc04..380d1dfc2f9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeByteShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantByteShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeByteShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantByteShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeByteShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantByteShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeByteShortColumnTupleSource( + public ReinterpretedInstantByteShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteShortTuple createPreviousTuple(final long rowKey) { @Override public final LongByteShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Byte)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteShortTuple @Override public final Object exportElement(@NotNull final LongByteShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeByteShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantByteShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeByteShortColumnTupleSource( + return new ReinterpretedInstantByteShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterBooleanColumnTupleSource.java index 7c5d8b7a9ea..1fd1cebe420 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterBooleanColumnTupleSource( + public ReinterpretedInstantCharacterBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongCharByteTuple createPreviousTuple(final long rowKey) { @Override public final LongCharByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongCharByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongCharByteTuple @Override public final Object exportElement(@NotNull final LongCharByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterBooleanColumnTupleSource( + return new ReinterpretedInstantCharacterBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterByteColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterByteColumnTupleSource.java index f18c7bf0d4d..ebe517731cb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterByteColumnTupleSource( + public ReinterpretedInstantCharacterByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongCharByteTuple createPreviousTuple(final long rowKey) { @Override public final LongCharByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharByteTuple @Override public final Object exportElement(@NotNull final LongCharByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterByteColumnTupleSource( + return new ReinterpretedInstantCharacterByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterCharacterColumnTupleSource.java index e246f4a2ed6..bfed7c66cd3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterCharacterColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterCharacterColumnTupleSource( + public ReinterpretedInstantCharacterCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongCharCharTuple createPreviousTuple(final long rowKey) { @Override public final LongCharCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -83,7 +83,7 @@ public final LongCharCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongCharCharTuple @Override public final Object exportElement(@NotNull final LongCharCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterCharacterColumnTupleSource( + return new ReinterpretedInstantCharacterCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterColumnTupleSource.java index b7e49d8c0c6..b9ab1a84b6e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeCharacterColumnTupleSource( + public ReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -59,7 +59,7 @@ public final LongCharTuple createPreviousTuple(final long rowKey) { @Override public final LongCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]) ); } @@ -76,7 +76,7 @@ public final LongCharTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongCharTuple tupl @Override public final Object exportElement(@NotNull final LongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeCharacterColumnTupleSource( + return new ReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterDoubleColumnTupleSource.java index 90e583dd36a..62e795f892c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterDoubleColumnTupleSource( + public ReinterpretedInstantCharacterDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongCharDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongCharDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongCharDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharDoubleTupl @Override public final Object exportElement(@NotNull final LongCharDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterDoubleColumnTupleSource( + return new ReinterpretedInstantCharacterDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterFloatColumnTupleSource.java index 3ed0cf296ad..b7400a078da 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterFloatColumnTupleSource( + public ReinterpretedInstantCharacterFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongCharFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongCharFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongCharFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharFloatTuple @Override public final Object exportElement(@NotNull final LongCharFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterFloatColumnTupleSource( + return new ReinterpretedInstantCharacterFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterInstantColumnTupleSource.java index d9d1175b89d..a16eec3266f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterDateTimeColumnTupleSource( + public ReinterpretedInstantCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongCharLongTuple createTuple(final long rowKey) { return new LongCharLongTuple( columnSource1.getLong(rowKey), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,16 +58,16 @@ public final LongCharLongTuple createPreviousTuple(final long rowKey) { return new LongCharLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongCharLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongCharLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -84,7 +84,7 @@ public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongCharLongTuple @Override public final Object exportElement(@NotNull final LongCharLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongCharLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterDateTimeColumnTupleSource( + return new ReinterpretedInstantCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterIntegerColumnTupleSource.java index 7c8c772d963..5c4449d6449 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterIntegerColumnTupleSource( + public ReinterpretedInstantCharacterIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongCharIntTuple createPreviousTuple(final long rowKey) { @Override public final LongCharIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharIntTuple t @Override public final Object exportElement(@NotNull final LongCharIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterIntegerColumnTupleSource( + return new ReinterpretedInstantCharacterIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterLongColumnTupleSource.java index f458c24b608..4eb82be522d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterLongColumnTupleSource( + public ReinterpretedInstantCharacterLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongCharLongTuple createPreviousTuple(final long rowKey) { @Override public final LongCharLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongCharLongTuple @Override public final Object exportElement(@NotNull final LongCharLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterLongColumnTupleSource( + return new ReinterpretedInstantCharacterLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterObjectColumnTupleSource.java index 719fa748dc7..9fb3943e277 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterObjectColumnTupleSource( + public ReinterpretedInstantCharacterObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongCharObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongCharObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), values[2] ); @@ -84,7 +84,7 @@ public final LongCharObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongCharObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharObjectTupl @Override public final Object exportElement(@NotNull final LongCharObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterObjectColumnTupleSource( + return new ReinterpretedInstantCharacterObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterReinterpretedBooleanColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterReinterpretedBooleanColumnTupleSource.java index b3b88b911ed..a01d30b07c5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantCharacterReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongCharByteTuple createPreviousTuple(final long rowKey) { @Override public final LongCharByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongCharByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongCharByteTuple @Override public final Object exportElement(@NotNull final LongCharByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantCharacterReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterReinterpretedInstantColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterReinterpretedInstantColumnTupleSource.java index 1c7bcf0d064..bdabb4ba92d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,9 +64,9 @@ public final LongCharLongTuple createPreviousTuple(final long rowKey) { @Override public final LongCharLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongCharLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongCharLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongCharLongTuple @Override public final Object exportElement(@NotNull final LongCharLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterShortColumnTupleSource.java index 751ff0c0873..1eb382689d3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeCharacterShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantCharacterShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongCharShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Character, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeCharacterShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantCharacterShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeCharacterShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantCharacterShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeCharacterShortColumnTupleSource( + public ReinterpretedInstantCharacterShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongCharShortTuple createPreviousTuple(final long rowKey) { @Override public final LongCharShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongCharShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Character)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongCharShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongCharShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongCharShortTuple @Override public final Object exportElement(@NotNull final LongCharShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeCharacterShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantCharacterShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeCharacterShortColumnTupleSource( + return new ReinterpretedInstantCharacterShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleBooleanColumnTupleSource.java index 3cf26762b9e..399000c9e0b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleBooleanColumnTupleSource( + public ReinterpretedInstantDoubleBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongDoubleByteTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongDoubleByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongDoubleByteTupl @Override public final Object exportElement(@NotNull final LongDoubleByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleBooleanColumnTupleSource( + return new ReinterpretedInstantDoubleBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleByteColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleByteColumnTupleSource.java index afc9dc523fc..956e57aaacd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleByteColumnTupleSource( + public ReinterpretedInstantDoubleByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongDoubleByteTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleByteTupl @Override public final Object exportElement(@NotNull final LongDoubleByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleByteColumnTupleSource( + return new ReinterpretedInstantDoubleByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleCharacterColumnTupleSource.java index ab155804a99..0e98a90ae79 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleCharacterColumnTupleSource( + public ReinterpretedInstantDoubleCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongDoubleCharTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleCharTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleCharTupl @Override public final Object exportElement(@NotNull final LongDoubleCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleCharacterColumnTupleSource( + return new ReinterpretedInstantDoubleCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleColumnTupleSource.java index d0d323eb07a..7b16efb411d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeDoubleColumnTupleSource( + public ReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -59,7 +59,7 @@ public final LongDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]) ); } @@ -76,7 +76,7 @@ public final LongDoubleTuple createTupleFromReinterpretedValues(@NotNull final O @Override public final void exportElement(@NotNull final LongDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongDoubleTuple tu @Override public final Object exportElement(@NotNull final LongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeDoubleColumnTupleSource( + return new ReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleDoubleColumnTupleSource.java index 788afee31f7..381361db361 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleDoubleColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleDoubleColumnTupleSource( + public ReinterpretedInstantDoubleDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongDoubleDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -83,7 +83,7 @@ public final LongDoubleDoubleTuple createTupleFromReinterpretedValues(@NotNull f @Override public final void exportElement(@NotNull final LongDoubleDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongDoubleDoubleTu @Override public final Object exportElement(@NotNull final LongDoubleDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleDoubleColumnTupleSource( + return new ReinterpretedInstantDoubleDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleFloatColumnTupleSource.java index 6c819396c29..a9c92427664 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleFloatColumnTupleSource( + public ReinterpretedInstantDoubleFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongDoubleFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleFloatTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongDoubleFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleFloatTup @Override public final Object exportElement(@NotNull final LongDoubleFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleFloatColumnTupleSource( + return new ReinterpretedInstantDoubleFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleInstantColumnTupleSource.java index 6c7009af5c3..f6552a71068 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleDateTimeColumnTupleSource( + public ReinterpretedInstantDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongDoubleLongTuple createTuple(final long rowKey) { return new LongDoubleLongTuple( columnSource1.getLong(rowKey), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,16 +58,16 @@ public final LongDoubleLongTuple createPreviousTuple(final long rowKey) { return new LongDoubleLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongDoubleLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin return new LongDoubleLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -84,7 +84,7 @@ public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongDoubleLongTupl @Override public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongDoubleLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleDateTimeColumnTupleSource( + return new ReinterpretedInstantDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleIntegerColumnTupleSource.java index 1643153eda7..b46bfe595fd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleIntegerColumnTupleSource( + public ReinterpretedInstantDoubleIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongDoubleIntTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleIntTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongDoubleIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleIntTuple @Override public final Object exportElement(@NotNull final LongDoubleIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleIntegerColumnTupleSource( + return new ReinterpretedInstantDoubleIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleLongColumnTupleSource.java index 9ddde1c2045..165b9575170 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleLongColumnTupleSource( + public ReinterpretedInstantDoubleLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongDoubleLongTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongDoubleLongTupl @Override public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleLongColumnTupleSource( + return new ReinterpretedInstantDoubleLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleObjectColumnTupleSource.java index 0fb737d1c52..71dcc32a798 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleObjectColumnTupleSource( + public ReinterpretedInstantDoubleObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongDoubleObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), values[2] ); @@ -84,7 +84,7 @@ public final LongDoubleObjectTuple createTupleFromReinterpretedValues(@NotNull f @Override public final void exportElement(@NotNull final LongDoubleObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleObjectTu @Override public final Object exportElement(@NotNull final LongDoubleObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleObjectColumnTupleSource( + return new ReinterpretedInstantDoubleObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleReinterpretedBooleanColumnTupleSource.java index eb3e2d5e598..5e2f5cdc772 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantDoubleReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongDoubleByteTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongDoubleByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongDoubleByteTupl @Override public final Object exportElement(@NotNull final LongDoubleByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantDoubleReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleReinterpretedInstantColumnTupleSource.java index 52b1607d9ca..44f8421a7f2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,9 +64,9 @@ public final LongDoubleLongTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongDoubleLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongDoubleLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongDoubleLongTupl @Override public final Object exportElement(@NotNull final LongDoubleLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleShortColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleShortColumnTupleSource.java index 23cecf1a59f..93fdc99d5cf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDoubleShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantDoubleShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongDoubleShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Double, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDoubleShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantDoubleShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDoubleShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantDoubleShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDoubleShortColumnTupleSource( + public ReinterpretedInstantDoubleShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongDoubleShortTuple createPreviousTuple(final long rowKey) { @Override public final LongDoubleShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongDoubleShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Double)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongDoubleShortTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongDoubleShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongDoubleShortTup @Override public final Object exportElement(@NotNull final LongDoubleShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDoubleShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantDoubleShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDoubleShortColumnTupleSource( + return new ReinterpretedInstantDoubleShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatBooleanColumnTupleSource.java index d6c8a4dc4ee..f428a26c6de 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatBooleanColumnTupleSource( + public ReinterpretedInstantFloatBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongFloatByteTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongFloatByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongFloatByteTuple @Override public final Object exportElement(@NotNull final LongFloatByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatBooleanColumnTupleSource( + return new ReinterpretedInstantFloatBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatByteColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatByteColumnTupleSource.java index d463966cdcb..db210014d87 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatByteColumnTupleSource( + public ReinterpretedInstantFloatByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongFloatByteTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatByteTuple @Override public final Object exportElement(@NotNull final LongFloatByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatByteColumnTupleSource( + return new ReinterpretedInstantFloatByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatCharacterColumnTupleSource.java index 6e6f1f10a88..b528aae2d62 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatCharacterColumnTupleSource( + public ReinterpretedInstantFloatCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongFloatCharTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatCharTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatCharTuple @Override public final Object exportElement(@NotNull final LongFloatCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatCharacterColumnTupleSource( + return new ReinterpretedInstantFloatCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatColumnTupleSource.java index 3a213da21c5..574f98fdd65 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeFloatColumnTupleSource( + public ReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -59,7 +59,7 @@ public final LongFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]) ); } @@ -76,7 +76,7 @@ public final LongFloatTuple createTupleFromReinterpretedValues(@NotNull final Ob @Override public final void exportElement(@NotNull final LongFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongFloatTuple tup @Override public final Object exportElement(@NotNull final LongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeFloatColumnTupleSource( + return new ReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatDoubleColumnTupleSource.java index 083de586597..8971128978c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatDoubleColumnTupleSource( + public ReinterpretedInstantFloatDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongFloatDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatDoubleTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongFloatDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatDoubleTup @Override public final Object exportElement(@NotNull final LongFloatDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatDoubleColumnTupleSource( + return new ReinterpretedInstantFloatDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatFloatColumnTupleSource.java index 4571d20653b..11d1278b525 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatFloatColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatFloatColumnTupleSource( + public ReinterpretedInstantFloatFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongFloatFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -83,7 +83,7 @@ public final LongFloatFloatTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongFloatFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongFloatFloatTupl @Override public final Object exportElement(@NotNull final LongFloatFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatFloatColumnTupleSource( + return new ReinterpretedInstantFloatFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatInstantColumnTupleSource.java index a896cc3c38b..887f2474f30 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatDateTimeColumnTupleSource( + public ReinterpretedInstantFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongFloatLongTuple createTuple(final long rowKey) { return new LongFloatLongTuple( columnSource1.getLong(rowKey), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,16 +58,16 @@ public final LongFloatLongTuple createPreviousTuple(final long rowKey) { return new LongFloatLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongFloatLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina return new LongFloatLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -84,7 +84,7 @@ public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongFloatLongTuple @Override public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongFloatLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatDateTimeColumnTupleSource( + return new ReinterpretedInstantFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatIntegerColumnTupleSource.java index b5ac9c6b034..07de08a36ad 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatIntegerColumnTupleSource( + public ReinterpretedInstantFloatIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongFloatIntTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongFloatIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatIntTuple @Override public final Object exportElement(@NotNull final LongFloatIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatIntegerColumnTupleSource( + return new ReinterpretedInstantFloatIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatLongColumnTupleSource.java index dd871b27d74..2c1fa9d0d32 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatLongColumnTupleSource( + public ReinterpretedInstantFloatLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongFloatLongTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongFloatLongTuple @Override public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatLongColumnTupleSource( + return new ReinterpretedInstantFloatLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatObjectColumnTupleSource.java index ff523957e96..8acc6db7a32 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatObjectColumnTupleSource( + public ReinterpretedInstantFloatObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongFloatObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), values[2] ); @@ -84,7 +84,7 @@ public final LongFloatObjectTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongFloatObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatObjectTup @Override public final Object exportElement(@NotNull final LongFloatObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatObjectColumnTupleSource( + return new ReinterpretedInstantFloatObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatReinterpretedBooleanColumnTupleSource.java index fad82a894a4..ff899b8adcc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantFloatReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongFloatByteTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongFloatByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongFloatByteTuple @Override public final Object exportElement(@NotNull final LongFloatByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantFloatReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatReinterpretedInstantColumnTupleSource.java index 7d8b6da5277..68459be9767 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,9 +64,9 @@ public final LongFloatLongTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongFloatLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongFloatLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongFloatLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongFloatLongTuple @Override public final Object exportElement(@NotNull final LongFloatLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatShortColumnTupleSource.java index b975d9fdd8d..12960671abc 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeFloatShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantFloatShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongFloatShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Float, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeFloatShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantFloatShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeFloatShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantFloatShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeFloatShortColumnTupleSource( + public ReinterpretedInstantFloatShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongFloatShortTuple createPreviousTuple(final long rowKey) { @Override public final LongFloatShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongFloatShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Float)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongFloatShortTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongFloatShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongFloatShortTupl @Override public final Object exportElement(@NotNull final LongFloatShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeFloatShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantFloatShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeFloatShortColumnTupleSource( + return new ReinterpretedInstantFloatShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantBooleanColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantBooleanColumnTupleSource.java index 247d461b4d2..b64ca458a4b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeBooleanColumnTupleSource( + public ReinterpretedInstantInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedDateTimeDateTimeBooleanColumnTupleSource( public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -57,7 +57,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -65,8 +65,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -84,11 +84,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeBooleanColumnTupleSource( + return new ReinterpretedInstantInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantByteColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantByteColumnTupleSource.java index 471fc056b81..1fb94120cea 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantByteColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeByteColumnTupleSource( + public ReinterpretedInstantInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedDateTimeDateTimeByteColumnTupleSource( public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -65,8 +65,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -84,11 +84,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeByteColumnTupleSource( + return new ReinterpretedInstantInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantCharacterColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantCharacterColumnTupleSource.java index 26da0657503..b9c99e28bda 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantCharacterColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeCharacterColumnTupleSource( + public ReinterpretedInstantInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedDateTimeDateTimeCharacterColumnTupleSource( public final LongLongCharTuple createTuple(final long rowKey) { return new LongLongCharTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongCharTuple createTuple(final long rowKey) { public final LongLongCharTuple createPreviousTuple(final long rowKey) { return new LongLongCharTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -65,8 +65,8 @@ public final LongLongCharTuple createPreviousTuple(final long rowKey) { @Override public final LongLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongCharTuple createTupleFromValues(@NotNull final Object... va public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongCharTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -84,11 +84,11 @@ public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongCharTuple @Override public final Object exportElement(@NotNull final LongLongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongCharTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongCharTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongCharTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongCharTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeCharacterColumnTupleSource( + return new ReinterpretedInstantInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantColumnTupleSource.java similarity index 73% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantColumnTupleSource.java index 73401754dac..896b95c2bcb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public ReinterpretedDateTimeDateTimeColumnTupleSource( + public ReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -44,7 +44,7 @@ public ReinterpretedDateTimeDateTimeColumnTupleSource( public final LongLongTuple createTuple(final long rowKey) { return new LongLongTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -52,15 +52,15 @@ public final LongLongTuple createTuple(final long rowKey) { public final LongLongTuple createPreviousTuple(final long rowKey) { return new LongLongTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @Override public final LongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -68,7 +68,7 @@ public final LongLongTuple createTupleFromValues(@NotNull final Object... values public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -76,11 +76,11 @@ public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -89,10 +89,10 @@ public final void exportElement(@NotNull final LongLongTuple tupl @Override public final Object exportElement(@NotNull final LongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -103,7 +103,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongTuple tupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -111,15 +111,15 @@ public final Object exportElementReinterpreted(@NotNull final LongLongTuple tupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new LongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -127,9 +127,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeDateTimeColumnTupleSource( + return new ReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantDoubleColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantDoubleColumnTupleSource.java index fb01dd36af6..a0929f47e11 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantDoubleColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeDoubleColumnTupleSource( + public ReinterpretedInstantInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedDateTimeDateTimeDoubleColumnTupleSource( public final LongLongDoubleTuple createTuple(final long rowKey) { return new LongLongDoubleTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongDoubleTuple createTuple(final long rowKey) { public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { return new LongLongDoubleTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -65,8 +65,8 @@ public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongDoubleTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -84,11 +84,11 @@ public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongDoubleTupl @Override public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongDoubleTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongDoubleTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongDoubleTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongDoubleTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeDoubleColumnTupleSource( + return new ReinterpretedInstantInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantFloatColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantFloatColumnTupleSource.java index c20a94304cb..3c7b481ebf4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantFloatColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeFloatColumnTupleSource( + public ReinterpretedInstantInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedDateTimeDateTimeFloatColumnTupleSource( public final LongLongFloatTuple createTuple(final long rowKey) { return new LongLongFloatTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongFloatTuple createTuple(final long rowKey) { public final LongLongFloatTuple createPreviousTuple(final long rowKey) { return new LongLongFloatTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -65,8 +65,8 @@ public final LongLongFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... v public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongFloatTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -84,11 +84,11 @@ public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongFloatTuple @Override public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongFloatTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongFloatTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongFloatTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongFloatTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeFloatColumnTupleSource( + return new ReinterpretedInstantInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantInstantColumnTupleSource.java similarity index 66% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantInstantColumnTupleSource.java index 2fe8b31277f..04aaea1e87d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeDateTimeColumnTupleSource( + public ReinterpretedInstantInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,8 +47,8 @@ public ReinterpretedDateTimeDateTimeDateTimeColumnTupleSource( public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,17 +56,17 @@ public final LongLongLongTuple createTuple(final long rowKey) { public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,8 +74,8 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,15 +83,15 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,10 +117,10 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeDateTimeColumnTupleSource( + return new ReinterpretedInstantInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantIntegerColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantIntegerColumnTupleSource.java index fd094243d8d..b000302bf28 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantIntegerColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeIntegerColumnTupleSource( + public ReinterpretedInstantInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedDateTimeDateTimeIntegerColumnTupleSource( public final LongLongIntTuple createTuple(final long rowKey) { return new LongLongIntTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongIntTuple createTuple(final long rowKey) { public final LongLongIntTuple createPreviousTuple(final long rowKey) { return new LongLongIntTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -65,8 +65,8 @@ public final LongLongIntTuple createPreviousTuple(final long rowKey) { @Override public final LongLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongIntTuple createTupleFromValues(@NotNull final Object... val public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongIntTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -84,11 +84,11 @@ public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongIntTuple t @Override public final Object exportElement(@NotNull final LongLongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongIntTuple t return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongIntTuple t protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongIntTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongIntTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeIntegerColumnTupleSource( + return new ReinterpretedInstantInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantLongColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantLongColumnTupleSource.java index f16f9e976e5..6c5756f95c8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantLongColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeLongColumnTupleSource( + public ReinterpretedInstantInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ReinterpretedDateTimeDateTimeLongColumnTupleSource( public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -56,7 +56,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -64,8 +64,8 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeLongColumnTupleSource( + return new ReinterpretedInstantInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantObjectColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantObjectColumnTupleSource.java index 8d28ad54842..227049fd179 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantObjectColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeObjectColumnTupleSource( + public ReinterpretedInstantInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ReinterpretedDateTimeDateTimeObjectColumnTupleSource( public final LongLongObjectTuple createTuple(final long rowKey) { return new LongLongObjectTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -56,7 +56,7 @@ public final LongLongObjectTuple createTuple(final long rowKey) { public final LongLongObjectTuple createPreviousTuple(final long rowKey) { return new LongLongObjectTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -64,8 +64,8 @@ public final LongLongObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -74,7 +74,7 @@ public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongObjectTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -83,11 +83,11 @@ public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongObjectTupl @Override public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongObjectTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongObjectTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongObjectTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongObjectTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeObjectColumnTupleSource( + return new ReinterpretedInstantInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantReinterpretedBooleanColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantReinterpretedBooleanColumnTupleSource.java index 26ea966b278..f012a235fd7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantReinterpretedBooleanColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public ReinterpretedDateTimeDateTimeReinterpretedBooleanColumnTupleSource( public final LongLongByteTuple createTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -58,7 +58,7 @@ public final LongLongByteTuple createTuple(final long rowKey) { public final LongLongByteTuple createPreviousTuple(final long rowKey) { return new LongLongByteTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,8 +66,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -76,7 +76,7 @@ public final LongLongByteTuple createTupleFromValues(@NotNull final Object... va public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongByteTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -85,11 +85,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -102,10 +102,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantReinterpretedInstantColumnTupleSource.java similarity index 73% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantReinterpretedInstantColumnTupleSource.java index 649a4bb450f..649597021d6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantReinterpretedInstantColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ReinterpretedDateTimeDateTimeReinterpretedDateTimeColumnTupleSource( public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -56,7 +56,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -64,9 +64,9 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,7 +74,7 @@ public final LongLongLongTuple createTupleFromValues(@NotNull final Object... va public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -83,15 +83,15 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantShortColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantShortColumnTupleSource.java index a57ea0f0e05..74c6e31d166 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantInstantShortColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeDateTimeShortColumnTupleSource( + public ReinterpretedInstantInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ReinterpretedDateTimeDateTimeShortColumnTupleSource( public final LongLongShortTuple createTuple(final long rowKey) { return new LongLongShortTuple( columnSource1.getLong(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -57,7 +57,7 @@ public final LongLongShortTuple createTuple(final long rowKey) { public final LongLongShortTuple createPreviousTuple(final long rowKey) { return new LongLongShortTuple( columnSource1.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -65,8 +65,8 @@ public final LongLongShortTuple createPreviousTuple(final long rowKey) { @Override public final LongLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongShortTuple createTupleFromValues(@NotNull final Object... v public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new LongLongShortTuple( TypeUtils.unbox((Long)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -84,11 +84,11 @@ public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongShortTuple @Override public final Object exportElement(@NotNull final LongLongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongShortTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final LongLongShortTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongShortTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new LongLongShortTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeDateTimeShortColumnTupleSource( + return new ReinterpretedInstantInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerBooleanColumnTupleSource.java index ee9181934a9..cd4967e86c3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerBooleanColumnTupleSource( + public ReinterpretedInstantIntegerBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongIntByteTuple createPreviousTuple(final long rowKey) { @Override public final LongIntByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongIntByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongIntByteTuple t @Override public final Object exportElement(@NotNull final LongIntByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerBooleanColumnTupleSource( + return new ReinterpretedInstantIntegerBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerByteColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerByteColumnTupleSource.java index 844851a5518..e777441f74c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerByteColumnTupleSource( + public ReinterpretedInstantIntegerByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongIntByteTuple createPreviousTuple(final long rowKey) { @Override public final LongIntByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntByteTuple t @Override public final Object exportElement(@NotNull final LongIntByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerByteColumnTupleSource( + return new ReinterpretedInstantIntegerByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerCharacterColumnTupleSource.java index 9653c770ffb..01958356a89 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerCharacterColumnTupleSource( + public ReinterpretedInstantIntegerCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongIntCharTuple createPreviousTuple(final long rowKey) { @Override public final LongIntCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntCharTuple t @Override public final Object exportElement(@NotNull final LongIntCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerCharacterColumnTupleSource( + return new ReinterpretedInstantIntegerCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerColumnTupleSource.java index 0d98cc229f2..7938c61f3d0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeIntegerColumnTupleSource( + public ReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -59,7 +59,7 @@ public final LongIntTuple createPreviousTuple(final long rowKey) { @Override public final LongIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]) ); } @@ -76,7 +76,7 @@ public final LongIntTuple createTupleFromReinterpretedValues(@NotNull final Obje @Override public final void exportElement(@NotNull final LongIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongIntTuple tuple @Override public final Object exportElement(@NotNull final LongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeIntegerColumnTupleSource( + return new ReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerDoubleColumnTupleSource.java index c1c72de190d..a44e180dba6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerDoubleColumnTupleSource( + public ReinterpretedInstantIntegerDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongIntDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongIntDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntDoubleTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongIntDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntDoubleTuple @Override public final Object exportElement(@NotNull final LongIntDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerDoubleColumnTupleSource( + return new ReinterpretedInstantIntegerDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerFloatColumnTupleSource.java index 79ee4f1bdb3..6fd91665241 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerFloatColumnTupleSource( + public ReinterpretedInstantIntegerFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongIntFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongIntFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntFloatTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntFloatTuple @Override public final Object exportElement(@NotNull final LongIntFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerFloatColumnTupleSource( + return new ReinterpretedInstantIntegerFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerInstantColumnTupleSource.java index 915cec3faf7..997e735ed2c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerDateTimeColumnTupleSource( + public ReinterpretedInstantIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongIntLongTuple createTuple(final long rowKey) { return new LongIntLongTuple( columnSource1.getLong(rowKey), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,16 +58,16 @@ public final LongIntLongTuple createPreviousTuple(final long rowKey) { return new LongIntLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongIntLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongIntLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -84,7 +84,7 @@ public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongIntLongTuple t @Override public final Object exportElement(@NotNull final LongIntLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongIntLongTuple t return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerDateTimeColumnTupleSource( + return new ReinterpretedInstantIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerIntegerColumnTupleSource.java index 5a05a2c1673..917d14260bb 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerIntegerColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerIntegerColumnTupleSource( + public ReinterpretedInstantIntegerIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongIntIntTuple createPreviousTuple(final long rowKey) { @Override public final LongIntIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -83,7 +83,7 @@ public final LongIntIntTuple createTupleFromReinterpretedValues(@NotNull final O @Override public final void exportElement(@NotNull final LongIntIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongIntIntTuple tu @Override public final Object exportElement(@NotNull final LongIntIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerIntegerColumnTupleSource( + return new ReinterpretedInstantIntegerIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerLongColumnTupleSource.java index 90873ad13a0..1758d2bd250 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerLongColumnTupleSource( + public ReinterpretedInstantIntegerLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongIntLongTuple createPreviousTuple(final long rowKey) { @Override public final LongIntLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongIntLongTuple t @Override public final Object exportElement(@NotNull final LongIntLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerLongColumnTupleSource( + return new ReinterpretedInstantIntegerLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerObjectColumnTupleSource.java index 0e22ebf9581..88c6bea4ba4 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerObjectColumnTupleSource( + public ReinterpretedInstantIntegerObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongIntObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongIntObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), values[2] ); @@ -84,7 +84,7 @@ public final LongIntObjectTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongIntObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntObjectTuple @Override public final Object exportElement(@NotNull final LongIntObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerObjectColumnTupleSource( + return new ReinterpretedInstantIntegerObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerReinterpretedBooleanColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerReinterpretedBooleanColumnTupleSource.java index 2103d2000cf..bd50e4671fe 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantIntegerReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongIntByteTuple createPreviousTuple(final long rowKey) { @Override public final LongIntByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongIntByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongIntByteTuple t @Override public final Object exportElement(@NotNull final LongIntByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantIntegerReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerReinterpretedInstantColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerReinterpretedInstantColumnTupleSource.java index 9587407407c..c9e65723cb9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,9 +64,9 @@ public final LongIntLongTuple createPreviousTuple(final long rowKey) { @Override public final LongIntLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongIntLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongIntLongTuple t return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongIntLongTuple t @Override public final Object exportElement(@NotNull final LongIntLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerShortColumnTupleSource.java index 6d9588eb828..511fb0a4573 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeIntegerShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantIntegerShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongIntShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Integer, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeIntegerShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantIntegerShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeIntegerShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantIntegerShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeIntegerShortColumnTupleSource( + public ReinterpretedInstantIntegerShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongIntShortTuple createPreviousTuple(final long rowKey) { @Override public final LongIntShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongIntShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Integer)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongIntShortTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongIntShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongIntShortTuple @Override public final Object exportElement(@NotNull final LongIntShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeIntegerShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantIntegerShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeIntegerShortColumnTupleSource( + return new ReinterpretedInstantIntegerShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongBooleanColumnTupleSource.java index 989541ab404..54820f7a7dd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongBooleanColumnTupleSource( + public ReinterpretedInstantLongBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongBooleanColumnTupleSource( + return new ReinterpretedInstantLongBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongByteColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongByteColumnTupleSource.java index c4b9e07ff09..5aefdfad5a3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongByteColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongByteColumnTupleSource( + public ReinterpretedInstantLongByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -83,7 +83,7 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongByteColumnTupleSource( + return new ReinterpretedInstantLongByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongCharacterColumnTupleSource.java index 0d17f265a1a..653b100dff1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongCharacterColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongCharacterColumnTupleSource( + public ReinterpretedInstantLongCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongLongCharTuple createPreviousTuple(final long rowKey) { @Override public final LongLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -83,7 +83,7 @@ public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongLongCharTuple @Override public final Object exportElement(@NotNull final LongLongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongCharacterColumnTupleSource( + return new ReinterpretedInstantLongCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongColumnTupleSource.java index 3efaa11a11f..2fa1a962641 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongColumnTupleSource.java @@ -10,27 +10,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeLongColumnTupleSource( + public ReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -58,7 +58,7 @@ public final LongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]) ); } @@ -75,7 +75,7 @@ public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final LongLongTuple tupl @Override public final Object exportElement(@NotNull final LongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -117,7 +117,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -128,7 +128,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeLongColumnTupleSource( + return new ReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongDoubleColumnTupleSource.java index 87832c53e96..38b5a88735d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongDoubleColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongDoubleColumnTupleSource( + public ReinterpretedInstantLongDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -83,7 +83,7 @@ public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongLongDoubleTupl @Override public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongDoubleColumnTupleSource( + return new ReinterpretedInstantLongDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongFloatColumnTupleSource.java index 6f29b5708cf..e65cc01b8a0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongFloatColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongFloatColumnTupleSource( + public ReinterpretedInstantLongFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongLongFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -83,7 +83,7 @@ public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongLongFloatTuple @Override public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongFloatColumnTupleSource( + return new ReinterpretedInstantLongFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongInstantColumnTupleSource.java index ef7ef00852e..24368b253a7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongDateTimeColumnTupleSource( + public ReinterpretedInstantLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getLong(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,16 +57,16 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongDateTimeColumnTupleSource( + return new ReinterpretedInstantLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongIntegerColumnTupleSource.java index 0714d318633..7cb770fcb58 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongIntegerColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongIntegerColumnTupleSource( + public ReinterpretedInstantLongIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongLongIntTuple createPreviousTuple(final long rowKey) { @Override public final LongLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -83,7 +83,7 @@ public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongLongIntTuple t @Override public final Object exportElement(@NotNull final LongLongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongIntegerColumnTupleSource( + return new ReinterpretedInstantLongIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongLongColumnTupleSource.java index 48825a5d1b0..ff75dbe1f3c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongLongColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongLongColumnTupleSource( + public ReinterpretedInstantLongLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -63,7 +63,7 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -82,7 +82,7 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -99,7 +99,7 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -136,7 +136,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -148,7 +148,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongLongColumnTupleSource( + return new ReinterpretedInstantLongLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongObjectColumnTupleSource.java index ba62d5a40e9..5b2f4b9fd97 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongObjectColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongObjectColumnTupleSource( + public ReinterpretedInstantLongObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongLongObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), values[2] ); @@ -83,7 +83,7 @@ public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongLongObjectTupl @Override public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongObjectColumnTupleSource( + return new ReinterpretedInstantLongObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongReinterpretedBooleanColumnTupleSource.java index 0b4c220e754..8758ab27b07 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongReinterpretedBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantLongReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantLongReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongReinterpretedInstantColumnTupleSource.java index 62b77a0d184..997f8402f78 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongReinterpretedInstantColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -63,9 +63,9 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -82,7 +82,7 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -90,7 +90,7 @@ public final void exportElement(@NotNull final LongLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -99,13 +99,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -136,7 +136,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -148,7 +148,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongShortColumnTupleSource.java index 9d5436740cc..3315adccc55 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeLongShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantLongShortColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeLongShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantLongShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeLongShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantLongShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeLongShortColumnTupleSource( + public ReinterpretedInstantLongShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongLongShortTuple createPreviousTuple(final long rowKey) { @Override public final LongLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Long)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -83,7 +83,7 @@ public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongLongShortTuple @Override public final Object exportElement(@NotNull final LongLongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeLongShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantLongShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeLongShortColumnTupleSource( + return new ReinterpretedInstantLongShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectBooleanColumnTupleSource.java index 2daa101f14a..5379b86292d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectBooleanColumnTupleSource( + public ReinterpretedInstantObjectBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongObjectByteTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongObjectByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongObjectByteTupl @Override public final Object exportElement(@NotNull final LongObjectByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectBooleanColumnTupleSource( + return new ReinterpretedInstantObjectBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectByteColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectByteColumnTupleSource.java index 926323c7134..7a21077443b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectByteColumnTupleSource( + public ReinterpretedInstantObjectByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongObjectByteTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongObjectByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongObjectByteTupl @Override public final Object exportElement(@NotNull final LongObjectByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectByteColumnTupleSource( + return new ReinterpretedInstantObjectByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectCharacterColumnTupleSource.java index 0255fa44f2c..8e2902df81f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectCharacterColumnTupleSource( + public ReinterpretedInstantObjectCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongObjectCharTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongObjectCharTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongObjectCharTupl @Override public final Object exportElement(@NotNull final LongObjectCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectCharacterColumnTupleSource( + return new ReinterpretedInstantObjectCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectColumnTupleSource.java index 7a5f7196ee0..a6fe7b1dadf 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeObjectColumnTupleSource( + public ReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -59,7 +59,7 @@ public final LongObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1] ); } @@ -76,7 +76,7 @@ public final LongObjectTuple createTupleFromReinterpretedValues(@NotNull final O @Override public final void exportElement(@NotNull final LongObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongObjectTuple tu @Override public final Object exportElement(@NotNull final LongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeObjectColumnTupleSource( + return new ReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectDoubleColumnTupleSource.java index 829c9f1549b..6c676ae7af7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectDoubleColumnTupleSource( + public ReinterpretedInstantObjectDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongObjectDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongObjectDoubleTuple createTupleFromReinterpretedValues(@NotNull f @Override public final void exportElement(@NotNull final LongObjectDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongObjectDoubleTu @Override public final Object exportElement(@NotNull final LongObjectDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectDoubleColumnTupleSource( + return new ReinterpretedInstantObjectDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectFloatColumnTupleSource.java index 3e64dd31633..144104d641e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectFloatColumnTupleSource( + public ReinterpretedInstantObjectFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongObjectFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongObjectFloatTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongObjectFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongObjectFloatTup @Override public final Object exportElement(@NotNull final LongObjectFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectFloatColumnTupleSource( + return new ReinterpretedInstantObjectFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectInstantColumnTupleSource.java index 58f6269b2cf..9fcd08af41b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectDateTimeColumnTupleSource( + public ReinterpretedInstantObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final LongObjectLongTuple createTuple(final long rowKey) { return new LongObjectLongTuple( columnSource1.getLong(rowKey), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,16 +57,16 @@ public final LongObjectLongTuple createPreviousTuple(final long rowKey) { return new LongObjectLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongObjectLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin return new LongObjectLongTuple( TypeUtils.unbox((Long)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongObjectLongTupl @Override public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final LongObjectLongTupl return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectDateTimeColumnTupleSource( + return new ReinterpretedInstantObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectIntegerColumnTupleSource.java index 915f1b75ca1..0ac84eaa6ab 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectIntegerColumnTupleSource( + public ReinterpretedInstantObjectIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongObjectIntTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongObjectIntTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongObjectIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongObjectIntTuple @Override public final Object exportElement(@NotNull final LongObjectIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectIntegerColumnTupleSource( + return new ReinterpretedInstantObjectIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectLongColumnTupleSource.java index 35ffe7efb2f..ebd874e7bce 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectLongColumnTupleSource( + public ReinterpretedInstantObjectLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongObjectLongTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongObjectLongTupl @Override public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectLongColumnTupleSource( + return new ReinterpretedInstantObjectLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectObjectColumnTupleSource.java index 7a244424969..436b5b2f614 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectObjectColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectObjectColumnTupleSource( + public ReinterpretedInstantObjectObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongObjectObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], values[2] ); @@ -83,7 +83,7 @@ public final LongObjectObjectTuple createTupleFromReinterpretedValues(@NotNull f @Override public final void exportElement(@NotNull final LongObjectObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongObjectObjectTu @Override public final Object exportElement(@NotNull final LongObjectObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectObjectColumnTupleSource( + return new ReinterpretedInstantObjectObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectReinterpretedBooleanColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectReinterpretedBooleanColumnTupleSource.java index f51ff09f453..66b221cf1a0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantObjectReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongObjectByteTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongObjectByteTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongObjectByteTupl @Override public final Object exportElement(@NotNull final LongObjectByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantObjectReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectReinterpretedInstantColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectReinterpretedInstantColumnTupleSource.java index 0b576801c85..05cb4dd13e2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,9 +64,9 @@ public final LongObjectLongTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongObjectLongTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongObjectLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongObjectLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongObjectLongTupl @Override public final Object exportElement(@NotNull final LongObjectLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectShortColumnTupleSource.java index d1ed2c87e25..7e12c5299fe 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeObjectShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantObjectShortColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongObjectShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Object, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeObjectShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantObjectShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeObjectShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantObjectShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeObjectShortColumnTupleSource( + public ReinterpretedInstantObjectShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongObjectShortTuple createPreviousTuple(final long rowKey) { @Override public final LongObjectShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongObjectShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), values[1], TypeUtils.unbox((Short)values[2]) ); @@ -84,7 +84,7 @@ public final LongObjectShortTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongObjectShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongObjectShortTup @Override public final Object exportElement(@NotNull final LongObjectShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return tuple.getSecondElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeObjectShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantObjectShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeObjectShortColumnTupleSource( + return new ReinterpretedInstantObjectShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanBooleanColumnTupleSource.java index 992b21c68fe..9171656b6ac 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanBooleanColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanBooleanColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanByteColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanByteColumnTupleSource.java index 54e8dd2f90f..70f51e54615 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanByteColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanByteColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanByteColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanCharacterColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanCharacterColumnTupleSource.java index 99e25a00a1b..0fe328c9965 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanCharacterColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteCharTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanCharacterColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteCharTuple createPreviousTuple(final long rowKey) { @Override public final LongByteCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteCharTuple @Override public final Object exportElement(@NotNull final LongByteCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanCharacterColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 88% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index 9e0de21c149..c2580ce94ee 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -60,7 +60,7 @@ public final LongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]) ); } @@ -77,7 +77,7 @@ public final LongByteTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -90,7 +90,7 @@ public final void exportElement(@NotNull final LongByteTuple tupl @Override public final Object exportElement(@NotNull final LongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -119,7 +119,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -130,7 +130,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanDoubleColumnTupleSource.java index 06dd2b74314..f7ee0fe4b8d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanDoubleColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteDoubleTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanDoubleColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongByteDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteDoubleTupl @Override public final Object exportElement(@NotNull final LongByteDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanDoubleColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanFloatColumnTupleSource.java index a8669fc537b..735adf8b893 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanFloatColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteFloatTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanFloatColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongByteFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteFloatTuple @Override public final Object exportElement(@NotNull final LongByteFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanFloatColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanInstantColumnTupleSource.java index 3f2f8981277..97c7763f641 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanDateTimeColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final LongByteLongTuple createTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getLong(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,16 +59,16 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { return new LongByteLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongByteLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -85,7 +85,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -102,13 +102,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final LongByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanDateTimeColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanIntegerColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanIntegerColumnTupleSource.java index fe66ee0aeeb..6c1bf0a55d2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanIntegerColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteIntTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanIntegerColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteIntTuple createPreviousTuple(final long rowKey) { @Override public final LongByteIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteIntTuple t @Override public final Object exportElement(@NotNull final LongByteIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanIntegerColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanLongColumnTupleSource.java index 9b2f4a1a0ae..9460cd9c7a0 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanLongColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanLongColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanLongColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanObjectColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanObjectColumnTupleSource.java index cf26f0c9deb..b5da39d18d3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanObjectColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteObjectTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanObjectColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongByteObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), values[2] ); @@ -85,7 +85,7 @@ public final LongByteObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongByteObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteObjectTupl @Override public final Object exportElement(@NotNull final LongByteObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanObjectColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java index 988631e060d..6361e7eb514 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongByteByteTuple createPreviousTuple(final long rowKey) { @Override public final LongByteByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -84,7 +84,7 @@ public final LongByteByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongByteByteTuple @Override public final Object exportElement(@NotNull final LongByteByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index 83c922f26eb..185c214dd0c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,9 +65,9 @@ public final LongByteLongTuple createPreviousTuple(final long rowKey) { @Override public final LongByteLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -84,7 +84,7 @@ public final LongByteLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongByteLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongByteLongTuple @Override public final Object exportElement(@NotNull final LongByteLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanShortColumnTupleSource.java index c9a25e156b4..1994382636c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedBooleanShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedBooleanShortColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongByteShortTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Byte, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedBooleanShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedBooleanShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedBooleanShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedBooleanShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedBooleanShortColumnTupleSource( + public ReinterpretedInstantReinterpretedBooleanShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongByteShortTuple createPreviousTuple(final long rowKey) { @Override public final LongByteShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongByteShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -85,7 +85,7 @@ public final LongByteShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongByteShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongByteShortTuple @Override public final Object exportElement(@NotNull final LongByteShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedBooleanShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedBooleanShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedBooleanShortColumnTupleSource( + return new ReinterpretedInstantReinterpretedBooleanShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantBooleanColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantBooleanColumnTupleSource.java index 1622b1ff514..d2e4139c73d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeBooleanColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,8 +65,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -84,11 +84,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeBooleanColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantByteColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantByteColumnTupleSource.java index 99f0bb02618..21ad046e1d3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantByteColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeByteColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,8 +64,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeByteColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantCharacterColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantCharacterColumnTupleSource.java index 770bf1944ce..26d1423be82 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantCharacterColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeCharacterColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,8 +64,8 @@ public final LongLongCharTuple createPreviousTuple(final long rowKey) { @Override public final LongLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongCharTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongCharTuple @Override public final Object exportElement(@NotNull final LongLongCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeCharacterColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 85% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantColumnTupleSource.java index a579907a50e..b4fb9da2c92 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -10,27 +10,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -58,8 +58,8 @@ public final LongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -75,11 +75,11 @@ public final LongLongTuple createTupleFromReinterpretedValues(@NotNull final Obj @Override public final void exportElement(@NotNull final LongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -88,10 +88,10 @@ public final void exportElement(@NotNull final LongLongTuple tupl @Override public final Object exportElement(@NotNull final LongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -117,7 +117,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -128,7 +128,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantDoubleColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantDoubleColumnTupleSource.java index bfbb2a8d292..34b7f24c12b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantDoubleColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeDoubleColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,8 +64,8 @@ public final LongLongDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongDoubleTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongDoubleTupl @Override public final Object exportElement(@NotNull final LongLongDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeDoubleColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantFloatColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantFloatColumnTupleSource.java index 1c0cd43c579..14c0a2c9b58 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantFloatColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeFloatColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,8 +64,8 @@ public final LongLongFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongFloatTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongFloatTuple @Override public final Object exportElement(@NotNull final LongLongFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeFloatColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantInstantColumnTupleSource.java similarity index 73% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantInstantColumnTupleSource.java index 48906031c84..aeda115206d 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeDateTimeColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final LongLongLongTuple createTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getLong(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,16 +57,16 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { return new LongLongLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final return new LongLongLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,15 +83,15 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final LongLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeDateTimeColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantIntegerColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantIntegerColumnTupleSource.java index 2cf47fb0205..22381c329a5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantIntegerColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeIntegerColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,8 +64,8 @@ public final LongLongIntTuple createPreviousTuple(final long rowKey) { @Override public final LongLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongIntTuple t @Override public final Object exportElement(@NotNull final LongLongIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeIntegerColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantLongColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantLongColumnTupleSource.java index 692a3c1d1b8..cffb2481aee 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantLongColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeLongColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -63,8 +63,8 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -82,11 +82,11 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -99,10 +99,10 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -136,7 +136,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -148,7 +148,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeLongColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantObjectColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantObjectColumnTupleSource.java index 652cf9d93bd..b2dcbc2239c 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantObjectColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeObjectColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,8 +64,8 @@ public final LongLongObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -83,11 +83,11 @@ public final LongLongObjectTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongLongObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongObjectTupl @Override public final Object exportElement(@NotNull final LongLongObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeObjectColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 86% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index 905877890b2..318426292af 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,8 +65,8 @@ public final LongLongByteTuple createPreviousTuple(final long rowKey) { @Override public final LongLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -84,11 +84,11 @@ public final LongLongByteTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -101,10 +101,10 @@ public final void exportElement(@NotNull final LongLongByteTuple @Override public final Object exportElement(@NotNull final LongLongByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 83% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantReinterpretedInstantColumnTupleSource.java index 50fe6464fe2..1df3955567e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -10,28 +10,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -63,9 +63,9 @@ public final LongLongLongTuple createPreviousTuple(final long rowKey) { @Override public final LongLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -82,15 +82,15 @@ public final LongLongLongTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongLongLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -99,13 +99,13 @@ public final void exportElement(@NotNull final LongLongLongTuple @Override public final Object exportElement(@NotNull final LongLongLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -136,7 +136,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -148,7 +148,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantShortColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantShortColumnTupleSource.java index 766e4cbe64d..4309d6bd699 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantReinterpretedInstantShortColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeReinterpretedDateTimeShortColumnTupleSource( + public ReinterpretedInstantReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,8 +64,8 @@ public final LongLongShortTuple createPreviousTuple(final long rowKey) { @Override public final LongLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongLongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[0]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -83,11 +83,11 @@ public final LongLongShortTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongLongShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -100,10 +100,10 @@ public final void exportElement(@NotNull final LongLongShortTuple @Override public final Object exportElement(@NotNull final LongLongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeReinterpretedDateTimeShortColumnTupleSource( + return new ReinterpretedInstantReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortBooleanColumnTupleSource.java index 6c862208658..7031d14fa88 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortBooleanColumnTupleSource( + public ReinterpretedInstantShortBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongShortByteTuple createPreviousTuple(final long rowKey) { @Override public final LongShortByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongShortByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongShortByteTuple @Override public final Object exportElement(@NotNull final LongShortByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortBooleanColumnTupleSource( + return new ReinterpretedInstantShortBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortByteColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortByteColumnTupleSource.java index 5ad6385b0ba..eb986faebb9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortByteColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortByteColumnTupleSource( + public ReinterpretedInstantShortByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongShortByteTuple createPreviousTuple(final long rowKey) { @Override public final LongShortByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Byte)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortByteTuple @Override public final Object exportElement(@NotNull final LongShortByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortByteColumnTupleSource( + return new ReinterpretedInstantShortByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortCharacterColumnTupleSource.java index f2572128975..d92673f0417 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortCharacterColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortCharacterColumnTupleSource( + public ReinterpretedInstantShortCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongShortCharTuple createPreviousTuple(final long rowKey) { @Override public final LongShortCharTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortCharTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Character)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortCharTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortCharTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortCharTuple @Override public final Object exportElement(@NotNull final LongShortCharTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortCharacterColumnTupleSource( + return new ReinterpretedInstantShortCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortColumnTupleSource.java index 5234561aea0..5ee27ee67ea 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ReinterpretedDateTimeShortColumnTupleSource( + public ReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -59,7 +59,7 @@ public final LongShortTuple createPreviousTuple(final long rowKey) { @Override public final LongShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]) ); } @@ -76,7 +76,7 @@ public final LongShortTuple createTupleFromReinterpretedValues(@NotNull final Ob @Override public final void exportElement(@NotNull final LongShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final LongShortTuple tup @Override public final Object exportElement(@NotNull final LongShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ReinterpretedDateTimeShortColumnTupleSource( + return new ReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortDoubleColumnTupleSource.java index b2d05d15778..ba611085516 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortDoubleColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortDoubleColumnTupleSource( + public ReinterpretedInstantShortDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongShortDoubleTuple createPreviousTuple(final long rowKey) { @Override public final LongShortDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortDoubleTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Double)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortDoubleTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongShortDoubleTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortDoubleTup @Override public final Object exportElement(@NotNull final LongShortDoubleTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortDoubleColumnTupleSource( + return new ReinterpretedInstantShortDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortFloatColumnTupleSource.java index 6c41213f7cd..1068aac1ce8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortFloatColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortFloatColumnTupleSource( + public ReinterpretedInstantShortFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongShortFloatTuple createPreviousTuple(final long rowKey) { @Override public final LongShortFloatTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortFloatTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Float)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortFloatTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongShortFloatTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortFloatTupl @Override public final Object exportElement(@NotNull final LongShortFloatTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortFloatColumnTupleSource( + return new ReinterpretedInstantShortFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortInstantColumnTupleSource.java index b13002c0739..93baac836b6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortDateTimeColumnTupleSource( + public ReinterpretedInstantShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final LongShortLongTuple createTuple(final long rowKey) { return new LongShortLongTuple( columnSource1.getLong(rowKey), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,16 +58,16 @@ public final LongShortLongTuple createPreviousTuple(final long rowKey) { return new LongShortLongTuple( columnSource1.getPrevLong(rowKey), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @Override public final LongShortLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull fina return new LongShortLongTuple( TypeUtils.unbox((Long)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -84,7 +84,7 @@ public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final LongShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -101,13 +101,13 @@ public final void exportElement(@NotNull final LongShortLongTuple @Override public final Object exportElement(@NotNull final LongShortLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final LongShortLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); LongChunk chunk1 = chunks[0].asLongChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new LongShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new LongShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortDateTimeColumnTupleSource( + return new ReinterpretedInstantShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortIntegerColumnTupleSource.java index 579377caa35..a69e26c52dd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortIntegerColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortIntegerColumnTupleSource( + public ReinterpretedInstantShortIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongShortIntTuple createPreviousTuple(final long rowKey) { @Override public final LongShortIntTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortIntTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Integer)values[2]) ); @@ -84,7 +84,7 @@ public final LongShortIntTuple createTupleFromReinterpretedValues(@NotNull final @Override public final void exportElement(@NotNull final LongShortIntTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortIntTuple @Override public final Object exportElement(@NotNull final LongShortIntTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortIntegerColumnTupleSource( + return new ReinterpretedInstantShortIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortLongColumnTupleSource.java index 49ae99885a5..b46f94dee2a 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortLongColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortLongColumnTupleSource( + public ReinterpretedInstantShortLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongShortLongTuple createPreviousTuple(final long rowKey) { @Override public final LongShortLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Long)values[2]) ); @@ -83,7 +83,7 @@ public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongShortLongTuple @Override public final Object exportElement(@NotNull final LongShortLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortLongColumnTupleSource( + return new ReinterpretedInstantShortLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortObjectColumnTupleSource.java index fcf8917691f..6d3453090f3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortObjectColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortObjectColumnTupleSource( + public ReinterpretedInstantShortObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final LongShortObjectTuple createPreviousTuple(final long rowKey) { @Override public final LongShortObjectTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortObjectTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), values[2] ); @@ -84,7 +84,7 @@ public final LongShortObjectTuple createTupleFromReinterpretedValues(@NotNull fi @Override public final void exportElement(@NotNull final LongShortObjectTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -101,7 +101,7 @@ public final void exportElement(@NotNull final LongShortObjectTup @Override public final Object exportElement(@NotNull final LongShortObjectTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortObjectColumnTupleSource( + return new ReinterpretedInstantShortObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortReinterpretedBooleanColumnTupleSource.java index 8ef6c70e0fc..54f0a091cec 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortReinterpretedBooleanColumnTupleSource( + public ReinterpretedInstantShortReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final LongShortByteTuple createPreviousTuple(final long rowKey) { @Override public final LongShortByteTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortByteTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); @@ -85,7 +85,7 @@ public final LongShortByteTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortByteTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -102,7 +102,7 @@ public final void exportElement(@NotNull final LongShortByteTuple @Override public final Object exportElement(@NotNull final LongShortByteTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortReinterpretedBooleanColumnTupleSource( + return new ReinterpretedInstantShortReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortReinterpretedInstantColumnTupleSource.java index 9193998272d..b29f15ff79e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortReinterpretedDateTimeColumnTupleSource( + public ReinterpretedInstantShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,9 +64,9 @@ public final LongShortLongTuple createPreviousTuple(final long rowKey) { @Override public final LongShortLongTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortLongTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -83,7 +83,7 @@ public final LongShortLongTuple createTupleFromReinterpretedValues(@NotNull fina @Override public final void exportElement(@NotNull final LongShortLongTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final LongShortLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -100,13 +100,13 @@ public final void exportElement(@NotNull final LongShortLongTuple @Override public final Object exportElement(@NotNull final LongShortLongTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortReinterpretedDateTimeColumnTupleSource( + return new ReinterpretedInstantShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortShortColumnTupleSource.java index 4175f8fc5b4..60bd4b704d6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedDateTimeShortShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ReinterpretedInstantShortShortColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.LongShortShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Long, Short, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ReinterpretedDateTimeShortShortColumnTupleSource extends AbstractTupleSource { +public class ReinterpretedInstantShortShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedDateTimeShortShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ReinterpretedInstantShortShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ReinterpretedDateTimeShortShortColumnTupleSource( + public ReinterpretedInstantShortShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -64,7 +64,7 @@ public final LongShortShortTuple createPreviousTuple(final long rowKey) { @Override public final LongShortShortTuple createTupleFromValues(@NotNull final Object... values) { return new LongShortShortTuple( - DateTimeUtils.nanos((DateTime)values[0]), + DateTimeUtils.epochNanos((Instant)values[0]), TypeUtils.unbox((Short)values[1]), TypeUtils.unbox((Short)values[2]) ); @@ -83,7 +83,7 @@ public final LongShortShortTuple createTupleFromReinterpretedValues(@NotNull fin @Override public final void exportElement(@NotNull final LongShortShortTuple tuple, final int elementIndex, @NotNull final WritableColumnSource writableSource, final long destinationRowKey) { if (elementIndex == 0) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getFirstElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getFirstElement())); return; } if (elementIndex == 1) { @@ -100,7 +100,7 @@ public final void exportElement(@NotNull final LongShortShortTupl @Override public final Object exportElement(@NotNull final LongShortShortTuple tuple, int elementIndex) { if (elementIndex == 0) { - return DateTimeUtils.nanosToTime(tuple.getFirstElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getFirstElement()); } if (elementIndex == 1) { return TypeUtils.box(tuple.getSecondElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedDateTimeShortShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ReinterpretedInstantShortShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ReinterpretedDateTimeShortShortColumnTupleSource( + return new ReinterpretedInstantShortShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanInstantColumnTupleSource.java similarity index 81% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanInstantColumnTupleSource.java index 3bf02d1b645..adf8dd4ed7f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanInstantColumnTupleSource.java @@ -11,32 +11,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Boolean, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Boolean, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortBooleanDateTimeColumnTupleSource( + public ShortBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ShortByteLongTuple createTuple(final long rowKey) { return new ShortByteLongTuple( columnSource1.getShort(rowKey), BooleanUtils.booleanAsByte(columnSource2.getBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ShortByteLongTuple createPreviousTuple(final long rowKey) { return new ShortByteLongTuple( columnSource1.getPrevShort(rowKey), BooleanUtils.booleanAsByte(columnSource2.getPrevBoolean(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ShortByteLongTuple createTupleFromValues(@NotNull final Object... v return new ShortByteLongTuple( TypeUtils.unbox((Short)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ShortByteLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ShortByteLongTuple( TypeUtils.unbox((Short)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortByteLongTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortByteLongTuple return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortByteLongTuple(chunk1.get(ii), BooleanUtils.booleanAsByte(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortBooleanDateTimeColumnTupleSource( + return new ShortBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanReinterpretedInstantColumnTupleSource.java index 5b0c1edbbc3..b50b63e4254 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Boolean, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortBooleanReinterpretedDateTimeColumnTupleSource( + public ShortBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ShortByteLongTuple createTupleFromValues(@NotNull final Object... v return new ShortByteLongTuple( TypeUtils.unbox((Short)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ShortByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ShortByteLongTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortBooleanReinterpretedDateTimeColumnTupleSource( + return new ShortBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteInstantColumnTupleSource.java index 970c4a7de73..f1bf36347ad 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortByteDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortByteInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortByteDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortByteInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortByteDateTimeColumnTupleSource( + public ShortByteInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ShortByteLongTuple createTuple(final long rowKey) { return new ShortByteLongTuple( columnSource1.getShort(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ShortByteLongTuple createPreviousTuple(final long rowKey) { return new ShortByteLongTuple( columnSource1.getPrevShort(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ShortByteLongTuple createTupleFromValues(@NotNull final Object... v return new ShortByteLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ShortByteLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ShortByteLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortByteLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortByteDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortByteInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortByteDateTimeColumnTupleSource( + return new ShortByteInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteReinterpretedInstantColumnTupleSource.java index 28423d3f028..49e2fe7ebe6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortByteReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortByteLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortByteReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortByteReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortByteReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortByteReinterpretedDateTimeColumnTupleSource( + public ShortByteReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ShortByteLongTuple createTupleFromValues(@NotNull final Object... v return new ShortByteLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortByteLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortByteReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortByteReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortByteReinterpretedDateTimeColumnTupleSource( + return new ShortByteReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterInstantColumnTupleSource.java index 96cfb8e4154..75d79e301b9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Character, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Character, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortCharacterDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortCharacterInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortCharacterDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortCharacterInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortCharacterDateTimeColumnTupleSource( + public ShortCharacterInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ShortCharLongTuple createTuple(final long rowKey) { return new ShortCharLongTuple( columnSource1.getShort(rowKey), columnSource2.getChar(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ShortCharLongTuple createPreviousTuple(final long rowKey) { return new ShortCharLongTuple( columnSource1.getPrevShort(rowKey), columnSource2.getPrevChar(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ShortCharLongTuple createTupleFromValues(@NotNull final Object... v return new ShortCharLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ShortCharLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ShortCharLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortCharLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortCharLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); CharChunk chunk2 = chunks[1].asCharChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortCharLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortCharacterDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortCharacterInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortCharacterDateTimeColumnTupleSource( + return new ShortCharacterInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterReinterpretedInstantColumnTupleSource.java index 76da69d92c1..35fdba34995 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortCharacterReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortCharLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Character, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortCharacterReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortCharacterReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortCharacterReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortCharacterReinterpretedDateTimeColumnTupleSource( + public ShortCharacterReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ShortCharLongTuple createTupleFromValues(@NotNull final Object... v return new ShortCharLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Character)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortCharLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortCharLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortCharacterReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortCharacterReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortCharacterReinterpretedDateTimeColumnTupleSource( + return new ShortCharacterReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleInstantColumnTupleSource.java index b22e6873033..cbe8b49c5a6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Double, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Double, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDoubleDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortDoubleInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDoubleDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDoubleInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortDoubleDateTimeColumnTupleSource( + public ShortDoubleInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ShortDoubleLongTuple createTuple(final long rowKey) { return new ShortDoubleLongTuple( columnSource1.getShort(rowKey), columnSource2.getDouble(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ShortDoubleLongTuple createPreviousTuple(final long rowKey) { return new ShortDoubleLongTuple( columnSource1.getPrevShort(rowKey), columnSource2.getPrevDouble(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ShortDoubleLongTuple createTupleFromValues(@NotNull final Object... return new ShortDoubleLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ShortDoubleLongTuple createTupleFromReinterpretedValues(@NotNull fi return new ShortDoubleLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortDoubleLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortDoubleLongTup return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); DoubleChunk chunk2 = chunks[1].asDoubleChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortDoubleLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDoubleDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDoubleInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortDoubleDateTimeColumnTupleSource( + return new ShortDoubleInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleReinterpretedInstantColumnTupleSource.java index 2c773f9ed2b..5daa997f4dd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDoubleReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortDoubleLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Double, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDoubleReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortDoubleReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDoubleReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDoubleReinterpretedDateTimeColumnTupleSource( + public ShortDoubleReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ShortDoubleLongTuple createTupleFromValues(@NotNull final Object... return new ShortDoubleLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Double)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortDoubleLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortDoubleLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDoubleReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDoubleReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDoubleReinterpretedDateTimeColumnTupleSource( + return new ShortDoubleReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatInstantColumnTupleSource.java index 0fb80595227..3fd0e7d2e97 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Float, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Float, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortFloatDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortFloatInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortFloatDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortFloatInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortFloatDateTimeColumnTupleSource( + public ShortFloatInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ShortFloatLongTuple createTuple(final long rowKey) { return new ShortFloatLongTuple( columnSource1.getShort(rowKey), columnSource2.getFloat(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ShortFloatLongTuple createPreviousTuple(final long rowKey) { return new ShortFloatLongTuple( columnSource1.getPrevShort(rowKey), columnSource2.getPrevFloat(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ShortFloatLongTuple createTupleFromValues(@NotNull final Object... return new ShortFloatLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ShortFloatLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ShortFloatLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortFloatLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortFloatLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortFloatLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); FloatChunk chunk2 = chunks[1].asFloatChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortFloatLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortFloatDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortFloatInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortFloatDateTimeColumnTupleSource( + return new ShortFloatInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatReinterpretedInstantColumnTupleSource.java index 85339afee4c..04a87a876e9 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortFloatReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortFloatLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Float, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortFloatReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortFloatReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortFloatReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortFloatReinterpretedDateTimeColumnTupleSource( + public ShortFloatReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ShortFloatLongTuple createTupleFromValues(@NotNull final Object... return new ShortFloatLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Float)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortFloatLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortFloatLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortFloatReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortFloatReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortFloatReinterpretedDateTimeColumnTupleSource( + return new ShortFloatReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantBooleanColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantBooleanColumnTupleSource.java index 955016ccf98..4a242cf0194 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantBooleanColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Boolean. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ShortInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeBooleanColumnTupleSource( + public ShortInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ShortDateTimeBooleanColumnTupleSource( public final ShortLongByteTuple createTuple(final long rowKey) { return new ShortLongByteTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getBoolean(rowKey)) ); } @@ -57,7 +57,7 @@ public final ShortLongByteTuple createTuple(final long rowKey) { public final ShortLongByteTuple createPreviousTuple(final long rowKey) { return new ShortLongByteTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), BooleanUtils.booleanAsByte(columnSource3.getPrevBoolean(rowKey)) ); } @@ -66,7 +66,7 @@ public final ShortLongByteTuple createPreviousTuple(final long rowKey) { public final ShortLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongByteTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -75,7 +75,7 @@ public final ShortLongByteTuple createTupleFromValues(@NotNull final Object... v public final ShortLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongByteTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), BooleanUtils.booleanAsByte(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeBooleanColumnTupleSource( + return new ShortInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantByteColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantByteColumnTupleSource.java index bea1b2b651a..42a4c88dc1f 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantByteColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ShortInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeByteColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantByteColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeByteColumnTupleSource( + public ShortInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ShortDateTimeByteColumnTupleSource( public final ShortLongByteTuple createTuple(final long rowKey) { return new ShortLongByteTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -57,7 +57,7 @@ public final ShortLongByteTuple createTuple(final long rowKey) { public final ShortLongByteTuple createPreviousTuple(final long rowKey) { return new ShortLongByteTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -66,7 +66,7 @@ public final ShortLongByteTuple createPreviousTuple(final long rowKey) { public final ShortLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongByteTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -75,7 +75,7 @@ public final ShortLongByteTuple createTupleFromValues(@NotNull final Object... v public final ShortLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongByteTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ShortLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeByteColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantByteColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeByteColumnTupleSource( + return new ShortInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantCharacterColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantCharacterColumnTupleSource.java index 66909fb141b..47046f666b8 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantCharacterColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Character. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ShortInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeCharacterColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantCharacterColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeCharacterColumnTupleSource( + public ShortInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ShortDateTimeCharacterColumnTupleSource( public final ShortLongCharTuple createTuple(final long rowKey) { return new ShortLongCharTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getChar(rowKey) ); } @@ -57,7 +57,7 @@ public final ShortLongCharTuple createTuple(final long rowKey) { public final ShortLongCharTuple createPreviousTuple(final long rowKey) { return new ShortLongCharTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevChar(rowKey) ); } @@ -66,7 +66,7 @@ public final ShortLongCharTuple createPreviousTuple(final long rowKey) { public final ShortLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongCharTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -75,7 +75,7 @@ public final ShortLongCharTuple createTupleFromValues(@NotNull final Object... v public final ShortLongCharTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongCharTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongCharTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongCharTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongCharTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); CharChunk chunk3 = chunks[2].asCharChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongCharTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ShortLongCharTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeCharacterColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantCharacterColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeCharacterColumnTupleSource( + return new ShortInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantColumnTupleSource.java similarity index 78% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantColumnTupleSource.java index 116893e5ead..5eb2717667e 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantColumnTupleSource.java @@ -11,29 +11,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeColumnTupleSource}. **/ - public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ShortInstantColumnTupleSource}. **/ + public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; - public ShortDateTimeColumnTupleSource( + public ShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { super(columnSource1, columnSource2); this.columnSource1 = columnSource1; @@ -44,7 +44,7 @@ public ShortDateTimeColumnTupleSource( public final ShortLongTuple createTuple(final long rowKey) { return new ShortLongTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)) ); } @@ -52,7 +52,7 @@ public final ShortLongTuple createTuple(final long rowKey) { public final ShortLongTuple createPreviousTuple(final long rowKey) { return new ShortLongTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)) ); } @@ -60,7 +60,7 @@ public final ShortLongTuple createPreviousTuple(final long rowKey) { public final ShortLongTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -68,7 +68,7 @@ public final ShortLongTuple createTupleFromValues(@NotNull final Object... value public final ShortLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final ShortLongTuple tup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final ShortLongTuple tuple, int eleme return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -103,7 +103,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongTuple tup return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -111,15 +111,15 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongTuple tup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)))); + destinationObjectChunk.set(ii, new ShortLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)))); } destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements TwoColumnTupleSourceFactory { + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ShortInstantColumnTupleSource}. **/ + private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { } @@ -127,9 +127,9 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2 + @NotNull final ColumnSource columnSource2 ) { - return new ShortDateTimeColumnTupleSource( + return new ShortInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantDoubleColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantDoubleColumnTupleSource.java index 2040fe354b0..1ab1aa47da6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantDoubleColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Double. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ShortInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeDoubleColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantDoubleColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeDoubleColumnTupleSource( + public ShortInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ShortDateTimeDoubleColumnTupleSource( public final ShortLongDoubleTuple createTuple(final long rowKey) { return new ShortLongDoubleTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getDouble(rowKey) ); } @@ -57,7 +57,7 @@ public final ShortLongDoubleTuple createTuple(final long rowKey) { public final ShortLongDoubleTuple createPreviousTuple(final long rowKey) { return new ShortLongDoubleTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevDouble(rowKey) ); } @@ -66,7 +66,7 @@ public final ShortLongDoubleTuple createPreviousTuple(final long rowKey) { public final ShortLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongDoubleTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -75,7 +75,7 @@ public final ShortLongDoubleTuple createTupleFromValues(@NotNull final Object... public final ShortLongDoubleTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongDoubleTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongDoubleTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongDoubleTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongDoubleTup return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongDoubleTup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); DoubleChunk chunk3 = chunks[2].asDoubleChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongDoubleTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ShortLongDoubleTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeDoubleColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantDoubleColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeDoubleColumnTupleSource( + return new ShortInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantFloatColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantFloatColumnTupleSource.java index 1453c464648..34c8c779bb2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantFloatColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Float. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ShortInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeFloatColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantFloatColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeFloatColumnTupleSource( + public ShortInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ShortDateTimeFloatColumnTupleSource( public final ShortLongFloatTuple createTuple(final long rowKey) { return new ShortLongFloatTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getFloat(rowKey) ); } @@ -57,7 +57,7 @@ public final ShortLongFloatTuple createTuple(final long rowKey) { public final ShortLongFloatTuple createPreviousTuple(final long rowKey) { return new ShortLongFloatTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevFloat(rowKey) ); } @@ -66,7 +66,7 @@ public final ShortLongFloatTuple createPreviousTuple(final long rowKey) { public final ShortLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongFloatTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -75,7 +75,7 @@ public final ShortLongFloatTuple createTupleFromValues(@NotNull final Object... public final ShortLongFloatTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongFloatTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongFloatTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongFloatTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongFloatTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongFloatTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); FloatChunk chunk3 = chunks[2].asFloatChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongFloatTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ShortLongFloatTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeFloatColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantFloatColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeFloatColumnTupleSource( + return new ShortInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantInstantColumnTupleSource.java similarity index 69% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantInstantColumnTupleSource.java index 25a4d87e9dd..ac1f781fc01 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource2; + private final ColumnSource columnSource3; - public ShortDateTimeDateTimeColumnTupleSource( + public ShortInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -47,8 +47,8 @@ public ShortDateTimeDateTimeColumnTupleSource( public final ShortLongLongTuple createTuple(final long rowKey) { return new ShortLongLongTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -56,8 +56,8 @@ public final ShortLongLongTuple createTuple(final long rowKey) { public final ShortLongLongTuple createPreviousTuple(final long rowKey) { return new ShortLongLongTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -65,8 +65,8 @@ public final ShortLongLongTuple createPreviousTuple(final long rowKey) { public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -74,8 +74,8 @@ public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... v public final ShortLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final ShortLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final ShortLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -117,10 +117,10 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeDateTimeColumnTupleSource( + return new ShortInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantIntegerColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantIntegerColumnTupleSource.java index 959599588cd..0578a7029e2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantIntegerColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Integer. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ShortInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeIntegerColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantIntegerColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeIntegerColumnTupleSource( + public ShortInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ShortDateTimeIntegerColumnTupleSource( public final ShortLongIntTuple createTuple(final long rowKey) { return new ShortLongIntTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getInt(rowKey) ); } @@ -57,7 +57,7 @@ public final ShortLongIntTuple createTuple(final long rowKey) { public final ShortLongIntTuple createPreviousTuple(final long rowKey) { return new ShortLongIntTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevInt(rowKey) ); } @@ -66,7 +66,7 @@ public final ShortLongIntTuple createPreviousTuple(final long rowKey) { public final ShortLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongIntTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -75,7 +75,7 @@ public final ShortLongIntTuple createTupleFromValues(@NotNull final Object... va public final ShortLongIntTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongIntTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongIntTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongIntTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongIntTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongIntTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); IntChunk chunk3 = chunks[2].asIntChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongIntTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ShortLongIntTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeIntegerColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantIntegerColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeIntegerColumnTupleSource( + return new ShortInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantLongColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantLongColumnTupleSource.java index 66da55970b6..4cb1f0bbdcd 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantLongColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ShortInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeLongColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantLongColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeLongColumnTupleSource( + public ShortInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ShortDateTimeLongColumnTupleSource( public final ShortLongLongTuple createTuple(final long rowKey) { return new ShortLongLongTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final ShortLongLongTuple createTuple(final long rowKey) { public final ShortLongLongTuple createPreviousTuple(final long rowKey) { return new ShortLongLongTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,7 +66,7 @@ public final ShortLongLongTuple createPreviousTuple(final long rowKey) { public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -75,7 +75,7 @@ public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... v public final ShortLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ShortLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeLongColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantLongColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeLongColumnTupleSource( + return new ShortInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantObjectColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantObjectColumnTupleSource.java index 7deaf5d6a1a..dabad9079f3 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantObjectColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Object. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ShortInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeObjectColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantObjectColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeObjectColumnTupleSource( + public ShortInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ShortDateTimeObjectColumnTupleSource( public final ShortLongObjectTuple createTuple(final long rowKey) { return new ShortLongObjectTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.get(rowKey) ); } @@ -56,7 +56,7 @@ public final ShortLongObjectTuple createTuple(final long rowKey) { public final ShortLongObjectTuple createPreviousTuple(final long rowKey) { return new ShortLongObjectTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrev(rowKey) ); } @@ -65,7 +65,7 @@ public final ShortLongObjectTuple createPreviousTuple(final long rowKey) { public final ShortLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongObjectTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -74,7 +74,7 @@ public final ShortLongObjectTuple createTupleFromValues(@NotNull final Object... public final ShortLongObjectTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongObjectTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ShortLongObjectTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ShortLongObjectTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongObjectTup return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongObjectTup protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongObjectTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ShortLongObjectTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeObjectColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantObjectColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeObjectColumnTupleSource( + return new ShortInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantReinterpretedBooleanColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantReinterpretedBooleanColumnTupleSource.java index da7d57270b4..37361b897b1 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantReinterpretedBooleanColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Byte. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ShortInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeReinterpretedBooleanColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantReinterpretedBooleanColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeReinterpretedBooleanColumnTupleSource( + public ShortInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -49,7 +49,7 @@ public ShortDateTimeReinterpretedBooleanColumnTupleSource( public final ShortLongByteTuple createTuple(final long rowKey) { return new ShortLongByteTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getByte(rowKey) ); } @@ -58,7 +58,7 @@ public final ShortLongByteTuple createTuple(final long rowKey) { public final ShortLongByteTuple createPreviousTuple(final long rowKey) { return new ShortLongByteTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevByte(rowKey) ); } @@ -67,7 +67,7 @@ public final ShortLongByteTuple createPreviousTuple(final long rowKey) { public final ShortLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongByteTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -76,7 +76,7 @@ public final ShortLongByteTuple createTupleFromValues(@NotNull final Object... v public final ShortLongByteTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongByteTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ShortLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ShortLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -119,7 +119,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongByteTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -131,16 +131,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongByteTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ByteChunk chunk3 = chunks[2].asByteChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongByteTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ShortLongByteTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeReinterpretedBooleanColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantReinterpretedBooleanColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,10 +148,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeReinterpretedBooleanColumnTupleSource( + return new ShortInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantReinterpretedInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantReinterpretedInstantColumnTupleSource.java index 4d2a342a18a..4e1ec3fce11 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantReinterpretedInstantColumnTupleSource.java @@ -12,30 +12,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Long. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantReinterpretedInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeReinterpretedDateTimeColumnTupleSource( + public ShortInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -48,7 +48,7 @@ public ShortDateTimeReinterpretedDateTimeColumnTupleSource( public final ShortLongLongTuple createTuple(final long rowKey) { return new ShortLongLongTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getLong(rowKey) ); } @@ -57,7 +57,7 @@ public final ShortLongLongTuple createTuple(final long rowKey) { public final ShortLongLongTuple createPreviousTuple(final long rowKey) { return new ShortLongLongTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevLong(rowKey) ); } @@ -66,8 +66,8 @@ public final ShortLongLongTuple createPreviousTuple(final long rowKey) { public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... v public final ShortLongLongTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final ShortLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final ShortLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongLongTuple return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -130,16 +130,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongLongTuple protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); LongChunk chunk3 = chunks[2].asLongChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongLongTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ShortLongLongTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeReinterpretedDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantReinterpretedInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,10 +147,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeReinterpretedDateTimeColumnTupleSource( + return new ShortInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantShortColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantShortColumnTupleSource.java index a098bcd332b..7459d911321 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortInstantShortColumnTupleSource.java @@ -11,30 +11,30 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, DateTime, and Short. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Instant, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ShortInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortDateTimeShortColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortInstantShortColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; - private final ColumnSource columnSource2; + private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortDateTimeShortColumnTupleSource( + public ShortInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); @@ -47,7 +47,7 @@ public ShortDateTimeShortColumnTupleSource( public final ShortLongShortTuple createTuple(final long rowKey) { return new ShortLongShortTuple( columnSource1.getShort(rowKey), - DateTimeUtils.nanos(columnSource2.get(rowKey)), + DateTimeUtils.epochNanos(columnSource2.get(rowKey)), columnSource3.getShort(rowKey) ); } @@ -56,7 +56,7 @@ public final ShortLongShortTuple createTuple(final long rowKey) { public final ShortLongShortTuple createPreviousTuple(final long rowKey) { return new ShortLongShortTuple( columnSource1.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource2.getPrev(rowKey)), + DateTimeUtils.epochNanos(columnSource2.getPrev(rowKey)), columnSource3.getPrevShort(rowKey) ); } @@ -65,7 +65,7 @@ public final ShortLongShortTuple createPreviousTuple(final long rowKey) { public final ShortLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongShortTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -74,7 +74,7 @@ public final ShortLongShortTuple createTupleFromValues(@NotNull final Object... public final ShortLongShortTuple createTupleFromReinterpretedValues(@NotNull final Object... values) { return new ShortLongShortTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ShortLongShortTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ShortLongShortTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -117,7 +117,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongShortTupl return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -129,16 +129,16 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongShortTupl protected void convertChunks(@NotNull WritableChunk destination, int chunkSize, Chunk [] chunks) { WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); - ObjectChunk chunk2 = chunks[1].asObjectChunk(); + ObjectChunk chunk2 = chunks[1].asObjectChunk(); ShortChunk chunk3 = chunks[2].asShortChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongShortTuple(chunk1.get(ii), DateTimeUtils.nanos(chunk2.get(ii)), chunk3.get(ii))); + destinationObjectChunk.set(ii, new ShortLongShortTuple(chunk1.get(ii), DateTimeUtils.epochNanos(chunk2.get(ii)), chunk3.get(ii))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortDateTimeShortColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortInstantShortColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -146,10 +146,10 @@ private Factory() { @Override public TupleSource create( @NotNull final ColumnSource columnSource1, - @NotNull final ColumnSource columnSource2, + @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortDateTimeShortColumnTupleSource( + return new ShortInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerInstantColumnTupleSource.java index 6069e0be184..d6f564be5b2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Integer, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Integer, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortIntegerDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortIntegerInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortIntegerDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortIntegerInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortIntegerDateTimeColumnTupleSource( + public ShortIntegerInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ShortIntLongTuple createTuple(final long rowKey) { return new ShortIntLongTuple( columnSource1.getShort(rowKey), columnSource2.getInt(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ShortIntLongTuple createPreviousTuple(final long rowKey) { return new ShortIntLongTuple( columnSource1.getPrevShort(rowKey), columnSource2.getPrevInt(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ShortIntLongTuple createTupleFromValues(@NotNull final Object... va return new ShortIntLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ShortIntLongTuple createTupleFromReinterpretedValues(@NotNull final return new ShortIntLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortIntLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortIntLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortIntLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); IntChunk chunk2 = chunks[1].asIntChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortIntLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortIntegerDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortIntegerInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortIntegerDateTimeColumnTupleSource( + return new ShortIntegerInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerReinterpretedInstantColumnTupleSource.java index 6b395729474..c42e0b973e2 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortIntegerReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortIntLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Integer, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortIntegerReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortIntegerReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortIntegerReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortIntegerReinterpretedDateTimeColumnTupleSource( + public ShortIntegerReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ShortIntLongTuple createTupleFromValues(@NotNull final Object... va return new ShortIntLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Integer)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortIntLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortIntLongTuple tuple, int el return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortIntegerReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortIntegerReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortIntegerReinterpretedDateTimeColumnTupleSource( + return new ShortIntegerReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongInstantColumnTupleSource.java index a2a8be6e5ee..e2d39d9aa83 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortLongDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortLongInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortLongDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortLongInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortLongDateTimeColumnTupleSource( + public ShortLongInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ShortLongLongTuple createTuple(final long rowKey) { return new ShortLongLongTuple( columnSource1.getShort(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ShortLongLongTuple createPreviousTuple(final long rowKey) { return new ShortLongLongTuple( columnSource1.getPrevShort(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -67,7 +67,7 @@ public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... v return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ShortLongLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortLongLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortLongDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortLongInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortLongDateTimeColumnTupleSource( + return new ShortLongInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongReinterpretedInstantColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongReinterpretedInstantColumnTupleSource.java index 74d3661f89d..e46d2787089 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortLongReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortLongReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortLongReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortLongReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortLongReinterpretedDateTimeColumnTupleSource( + public ShortLongReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... v return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ShortLongLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ShortLongLongTuple tuple, int e return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortLongReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortLongReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortLongReinterpretedDateTimeColumnTupleSource( + return new ShortLongReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectInstantColumnTupleSource.java index b045e0922c1..4c1edb9b53b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Object, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Object, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortObjectDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortObjectInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortObjectDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortObjectInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortObjectDateTimeColumnTupleSource( + public ShortObjectInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ShortObjectLongTuple createTuple(final long rowKey) { return new ShortObjectLongTuple( columnSource1.getShort(rowKey), columnSource2.get(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ShortObjectLongTuple createPreviousTuple(final long rowKey) { return new ShortObjectLongTuple( columnSource1.getPrevShort(rowKey), columnSource2.getPrev(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ShortObjectLongTuple createTupleFromValues(@NotNull final Object... return new ShortObjectLongTuple( TypeUtils.unbox((Short)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ShortObjectLongTuple createTupleFromReinterpretedValues(@NotNull fi return new ShortObjectLongTuple( TypeUtils.unbox((Short)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ShortObjectLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ShortObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortObjectLongTup return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); ObjectChunk chunk2 = chunks[1].asObjectChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortObjectLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortObjectDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortObjectInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortObjectDateTimeColumnTupleSource( + return new ShortObjectInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectReinterpretedInstantColumnTupleSource.java index e63674aaaec..ac4932ea123 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortObjectReinterpretedInstantColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortObjectLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Object, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortObjectReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortObjectReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortObjectReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortObjectReinterpretedDateTimeColumnTupleSource( + public ShortObjectReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ShortObjectLongTuple createTupleFromValues(@NotNull final Object... return new ShortObjectLongTuple( TypeUtils.unbox((Short)values[0]), values[1], - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -92,7 +92,7 @@ public final void exportElement(@NotNull final ShortObjectLongTup return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -107,7 +107,7 @@ public final Object exportElement(@NotNull final ShortObjectLongTuple tuple, int return tuple.getSecondElement(); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortObjectReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortObjectReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortObjectReinterpretedDateTimeColumnTupleSource( + return new ShortObjectReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanInstantColumnTupleSource.java similarity index 79% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanInstantColumnTupleSource.java index 26248d9110d..d5f91de4a58 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanInstantColumnTupleSource.java @@ -12,32 +12,32 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Byte, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Byte, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedBooleanDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedBooleanInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedBooleanDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedBooleanInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortReinterpretedBooleanDateTimeColumnTupleSource( + public ShortReinterpretedBooleanInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -50,7 +50,7 @@ public final ShortByteLongTuple createTuple(final long rowKey) { return new ShortByteLongTuple( columnSource1.getShort(rowKey), columnSource2.getByte(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -59,7 +59,7 @@ public final ShortByteLongTuple createPreviousTuple(final long rowKey) { return new ShortByteLongTuple( columnSource1.getPrevShort(rowKey), columnSource2.getPrevByte(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -68,7 +68,7 @@ public final ShortByteLongTuple createTupleFromValues(@NotNull final Object... v return new ShortByteLongTuple( TypeUtils.unbox((Short)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -77,7 +77,7 @@ public final ShortByteLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ShortByteLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Byte)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ShortByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ShortByteLongTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -122,7 +122,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortByteLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -132,15 +132,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); ByteChunk chunk2 = chunks[1].asByteChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortByteLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedBooleanDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedBooleanInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -149,9 +149,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedBooleanDateTimeColumnTupleSource( + return new ShortReinterpretedBooleanInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanReinterpretedInstantColumnTupleSource.java index d38bd21c7d3..e225c270949 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedBooleanReinterpretedInstantColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortByteLongTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Byte, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedBooleanReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedBooleanReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + public ShortReinterpretedBooleanReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -68,7 +68,7 @@ public final ShortByteLongTuple createTupleFromValues(@NotNull final Object... v return new ShortByteLongTuple( TypeUtils.unbox((Short)values[0]), BooleanUtils.booleanAsByte((Boolean)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -93,7 +93,7 @@ public final void exportElement(@NotNull final ShortByteLongTuple return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -108,7 +108,7 @@ public final Object exportElement(@NotNull final ShortByteLongTuple tuple, int e return BooleanUtils.byteAsBoolean(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedBooleanReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedBooleanReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedBooleanReinterpretedDateTimeColumnTupleSource( + return new ShortReinterpretedBooleanReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantBooleanColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantBooleanColumnTupleSource.java index 958ba097187..348c7069d8b 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Boolean. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeBooleanColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeBooleanColumnTupleSource( + public ShortReinterpretedInstantBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ShortLongByteTuple createPreviousTuple(final long rowKey) { public final ShortLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongByteTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ShortLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ShortLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeBooleanColumnTupleSource( + return new ShortReinterpretedInstantBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeByteColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantByteColumnTupleSource.java similarity index 91% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeByteColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantByteColumnTupleSource.java index 632d7e5d210..0e85aa8bbf5 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeByteColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantByteColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongByteTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeByteColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantByteColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantByteColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeByteColumnTupleSource( + public ShortReinterpretedInstantByteColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ShortLongByteTuple createPreviousTuple(final long rowKey) { public final ShortLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongByteTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Byte)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeByteColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantByteColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeByteColumnTupleSource( + return new ShortReinterpretedInstantByteColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeCharacterColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantCharacterColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeCharacterColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantCharacterColumnTupleSource.java index d43b6375959..92aac8d96be 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeCharacterColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantCharacterColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongCharTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Character. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeCharacterColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantCharacterColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantCharacterColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeCharacterColumnTupleSource( + public ShortReinterpretedInstantCharacterColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ShortLongCharTuple createPreviousTuple(final long rowKey) { public final ShortLongCharTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongCharTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Character)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongCharTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongCharTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeCharacterColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantCharacterColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeCharacterColumnTupleSource( + return new ShortReinterpretedInstantCharacterColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantColumnTupleSource.java similarity index 89% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantColumnTupleSource.java index 8f45755e225..d9c5cfd69a6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantColumnTupleSource.java @@ -11,27 +11,27 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.TwoColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantColumnTupleSource}. **/ public static final TwoColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - public ShortReinterpretedDateTimeColumnTupleSource( + public ShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { @@ -60,7 +60,7 @@ public final ShortLongTuple createPreviousTuple(final long rowKey) { public final ShortLongTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]) + DateTimeUtils.epochNanos((Instant)values[1]) ); } @@ -80,7 +80,7 @@ public final void exportElement(@NotNull final ShortLongTuple tup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -92,7 +92,7 @@ public final Object exportElement(@NotNull final ShortLongTuple tuple, int eleme return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } throw new IllegalArgumentException("Bad elementIndex for 2 element tuple: " + elementIndex); } @@ -118,7 +118,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destination.setSize(chunkSize); } - /** {@link TwoColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link TwoColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements TwoColumnTupleSourceFactory { private Factory() { @@ -129,7 +129,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2 ) { - return new ShortReinterpretedDateTimeColumnTupleSource( + return new ShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2 ); diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeDoubleColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantDoubleColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeDoubleColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantDoubleColumnTupleSource.java index 5d1cc0e4d5f..613bcc05589 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeDoubleColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantDoubleColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongDoubleTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Double. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeDoubleColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantDoubleColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantDoubleColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeDoubleColumnTupleSource( + public ShortReinterpretedInstantDoubleColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ShortLongDoubleTuple createPreviousTuple(final long rowKey) { public final ShortLongDoubleTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongDoubleTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Double)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongDoubleTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongDoubleTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeDoubleColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantDoubleColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeDoubleColumnTupleSource( + return new ShortReinterpretedInstantDoubleColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeFloatColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantFloatColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeFloatColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantFloatColumnTupleSource.java index dfbcd227564..6a919cfb974 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeFloatColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantFloatColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongFloatTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Float. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeFloatColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantFloatColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantFloatColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeFloatColumnTupleSource( + public ShortReinterpretedInstantFloatColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ShortLongFloatTuple createPreviousTuple(final long rowKey) { public final ShortLongFloatTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongFloatTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Float)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongFloatTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongFloatTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeFloatColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantFloatColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeFloatColumnTupleSource( + return new ShortReinterpretedInstantFloatColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantInstantColumnTupleSource.java similarity index 76% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantInstantColumnTupleSource.java index c96272aa180..e7dac4019aa 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantInstantColumnTupleSource.java @@ -12,31 +12,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeDateTimeColumnTupleSource( + public ShortReinterpretedInstantInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -49,7 +49,7 @@ public final ShortLongLongTuple createTuple(final long rowKey) { return new ShortLongLongTuple( columnSource1.getShort(rowKey), columnSource2.getLong(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -58,7 +58,7 @@ public final ShortLongLongTuple createPreviousTuple(final long rowKey) { return new ShortLongLongTuple( columnSource1.getPrevShort(rowKey), columnSource2.getPrevLong(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,8 +66,8 @@ public final ShortLongLongTuple createPreviousTuple(final long rowKey) { public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -76,7 +76,7 @@ public final ShortLongLongTuple createTupleFromReinterpretedValues(@NotNull fina return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Long)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -88,11 +88,11 @@ public final void exportElement(@NotNull final ShortLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -104,10 +104,10 @@ public final Object exportElement(@NotNull final ShortLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -121,7 +121,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortLongLongTuple return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -131,15 +131,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); LongChunk chunk2 = chunks[1].asLongChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortLongLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -148,9 +148,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeDateTimeColumnTupleSource( + return new ShortReinterpretedInstantInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeIntegerColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantIntegerColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeIntegerColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantIntegerColumnTupleSource.java index 70ba82fd56c..678d3850df6 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeIntegerColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantIntegerColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongIntTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Integer. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeIntegerColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantIntegerColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantIntegerColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeIntegerColumnTupleSource( + public ShortReinterpretedInstantIntegerColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ShortLongIntTuple createPreviousTuple(final long rowKey) { public final ShortLongIntTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongIntTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Integer)values[2]) ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongIntTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongIntTuple tuple, int el return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeIntegerColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantIntegerColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeIntegerColumnTupleSource( + return new ShortReinterpretedInstantIntegerColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeLongColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantLongColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeLongColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantLongColumnTupleSource.java index 571fde519e0..537b8566879 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeLongColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantLongColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeLongColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantLongColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantLongColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeLongColumnTupleSource( + public ShortReinterpretedInstantLongColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final ShortLongLongTuple createPreviousTuple(final long rowKey) { public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Long)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ShortLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ShortLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeLongColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantLongColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeLongColumnTupleSource( + return new ShortReinterpretedInstantLongColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeObjectColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantObjectColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeObjectColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantObjectColumnTupleSource.java index b8c0008f476..977dbbfaa89 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeObjectColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantObjectColumnTupleSource.java @@ -12,28 +12,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongObjectTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Object. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeObjectColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantObjectColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantObjectColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeObjectColumnTupleSource( + public ShortReinterpretedInstantObjectColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ShortLongObjectTuple createPreviousTuple(final long rowKey) { public final ShortLongObjectTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongObjectTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), values[2] ); } @@ -88,7 +88,7 @@ public final void exportElement(@NotNull final ShortLongObjectTup return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -104,7 +104,7 @@ public final Object exportElement(@NotNull final ShortLongObjectTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return tuple.getThirdElement(); @@ -138,7 +138,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeObjectColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantObjectColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -150,7 +150,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeObjectColumnTupleSource( + return new ShortReinterpretedInstantObjectColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantReinterpretedBooleanColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantReinterpretedBooleanColumnTupleSource.java index 09f191c1ec2..9540d249240 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeReinterpretedBooleanColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantReinterpretedBooleanColumnTupleSource.java @@ -12,29 +12,29 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongByteTuple; import io.deephaven.util.BooleanUtils; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Byte. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantReinterpretedBooleanColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + public ShortReinterpretedInstantReinterpretedBooleanColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -67,7 +67,7 @@ public final ShortLongByteTuple createPreviousTuple(final long rowKey) { public final ShortLongByteTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongByteTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), BooleanUtils.booleanAsByte((Boolean)values[2]) ); } @@ -89,7 +89,7 @@ public final void exportElement(@NotNull final ShortLongByteTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -105,7 +105,7 @@ public final Object exportElement(@NotNull final ShortLongByteTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return BooleanUtils.byteAsBoolean(tuple.getThirdElement()); @@ -139,7 +139,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeReinterpretedBooleanColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantReinterpretedBooleanColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -151,7 +151,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeReinterpretedBooleanColumnTupleSource( + return new ShortReinterpretedInstantReinterpretedBooleanColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantReinterpretedInstantColumnTupleSource.java similarity index 87% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantReinterpretedInstantColumnTupleSource.java index 9cc5b19aa6c..9230f1646ef 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + public ShortReinterpretedInstantReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,8 +65,8 @@ public final ShortLongLongTuple createPreviousTuple(final long rowKey) { public final ShortLongLongTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongLongTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[1]), + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -87,11 +87,11 @@ public final void exportElement(@NotNull final ShortLongLongTuple return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -103,10 +103,10 @@ public final Object exportElement(@NotNull final ShortLongLongTuple tuple, int e return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeReinterpretedDateTimeColumnTupleSource( + return new ShortReinterpretedInstantReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeShortColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantShortColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeShortColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantShortColumnTupleSource.java index 5f0ce4109a5..0f30382c9c7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedDateTimeShortColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortReinterpretedInstantShortColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortLongShortTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Long, and Short. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortReinterpretedDateTimeShortColumnTupleSource extends AbstractTupleSource { +public class ShortReinterpretedInstantShortColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortReinterpretedInstantShortColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortReinterpretedDateTimeShortColumnTupleSource( + public ShortReinterpretedInstantShortColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -65,7 +65,7 @@ public final ShortLongShortTuple createPreviousTuple(final long rowKey) { public final ShortLongShortTuple createTupleFromValues(@NotNull final Object... values) { return new ShortLongShortTuple( TypeUtils.unbox((Short)values[0]), - DateTimeUtils.nanos((DateTime)values[1]), + DateTimeUtils.epochNanos((Instant)values[1]), TypeUtils.unbox((Short)values[2]) ); } @@ -87,7 +87,7 @@ public final void exportElement(@NotNull final ShortLongShortTupl return; } if (elementIndex == 1) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getSecondElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getSecondElement())); return; } if (elementIndex == 2) { @@ -103,7 +103,7 @@ public final Object exportElement(@NotNull final ShortLongShortTuple tuple, int return TypeUtils.box(tuple.getFirstElement()); } if (elementIndex == 1) { - return DateTimeUtils.nanosToTime(tuple.getSecondElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getSecondElement()); } if (elementIndex == 2) { return TypeUtils.box(tuple.getThirdElement()); @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedDateTimeShortColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortReinterpretedInstantShortColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortReinterpretedDateTimeShortColumnTupleSource( + return new ShortReinterpretedInstantShortColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortInstantColumnTupleSource.java similarity index 80% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortInstantColumnTupleSource.java index a918aa680e3..c9d16b193d7 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortInstantColumnTupleSource.java @@ -11,31 +11,31 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** - *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Short, and DateTime. + *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Short, and Instant. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortShortDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortShortInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortShortDateTimeColumnTupleSource}. **/ - public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortShortInstantColumnTupleSource}. **/ + public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; - private final ColumnSource columnSource3; + private final ColumnSource columnSource3; - public ShortShortDateTimeColumnTupleSource( + public ShortShortInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { super(columnSource1, columnSource2, columnSource3); this.columnSource1 = columnSource1; @@ -48,7 +48,7 @@ public final ShortShortLongTuple createTuple(final long rowKey) { return new ShortShortLongTuple( columnSource1.getShort(rowKey), columnSource2.getShort(rowKey), - DateTimeUtils.nanos(columnSource3.get(rowKey)) + DateTimeUtils.epochNanos(columnSource3.get(rowKey)) ); } @@ -57,7 +57,7 @@ public final ShortShortLongTuple createPreviousTuple(final long rowKey) { return new ShortShortLongTuple( columnSource1.getPrevShort(rowKey), columnSource2.getPrevShort(rowKey), - DateTimeUtils.nanos(columnSource3.getPrev(rowKey)) + DateTimeUtils.epochNanos(columnSource3.getPrev(rowKey)) ); } @@ -66,7 +66,7 @@ public final ShortShortLongTuple createTupleFromValues(@NotNull final Object... return new ShortShortLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -75,7 +75,7 @@ public final ShortShortLongTuple createTupleFromReinterpretedValues(@NotNull fin return new ShortShortLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ShortShortLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ShortShortLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -120,7 +120,7 @@ public final Object exportElementReinterpreted(@NotNull final ShortShortLongTupl return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -130,15 +130,15 @@ protected void convertChunks(@NotNull WritableChunk destination, WritableObjectChunk destinationObjectChunk = destination.asWritableObjectChunk(); ShortChunk chunk1 = chunks[0].asShortChunk(); ShortChunk chunk2 = chunks[1].asShortChunk(); - ObjectChunk chunk3 = chunks[2].asObjectChunk(); + ObjectChunk chunk3 = chunks[2].asObjectChunk(); for (int ii = 0; ii < chunkSize; ++ii) { - destinationObjectChunk.set(ii, new ShortShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.nanos(chunk3.get(ii)))); + destinationObjectChunk.set(ii, new ShortShortLongTuple(chunk1.get(ii), chunk2.get(ii), DateTimeUtils.epochNanos(chunk3.get(ii)))); } destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortShortDateTimeColumnTupleSource}. **/ - private static final class Factory implements ThreeColumnTupleSourceFactory { + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortShortInstantColumnTupleSource}. **/ + private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { } @@ -147,9 +147,9 @@ private Factory() { public TupleSource create( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, - @NotNull final ColumnSource columnSource3 + @NotNull final ColumnSource columnSource3 ) { - return new ShortShortDateTimeColumnTupleSource( + return new ShortShortInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortReinterpretedDateTimeColumnTupleSource.java b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortReinterpretedInstantColumnTupleSource.java similarity index 90% rename from engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortReinterpretedDateTimeColumnTupleSource.java rename to engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortReinterpretedInstantColumnTupleSource.java index 2f593984bba..474df3c8eef 100644 --- a/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortReinterpretedDateTimeColumnTupleSource.java +++ b/engine/tuplesource/src/main/java/io/deephaven/engine/table/impl/tuplesource/generated/ShortShortReinterpretedInstantColumnTupleSource.java @@ -11,28 +11,28 @@ import io.deephaven.engine.table.WritableColumnSource; import io.deephaven.engine.table.impl.tuplesource.AbstractTupleSource; import io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.tuple.generated.ShortShortLongTuple; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; +import java.time.Instant; /** *

    {@link TupleSource} that produces key column values from {@link ColumnSource} types Short, Short, and Long. *

    Generated by io.deephaven.replicators.TupleSourceCodeGenerator. */ @SuppressWarnings({"unused", "WeakerAccess"}) -public class ShortShortReinterpretedDateTimeColumnTupleSource extends AbstractTupleSource { +public class ShortShortReinterpretedInstantColumnTupleSource extends AbstractTupleSource { - /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} instance to create instances of {@link ShortShortReinterpretedInstantColumnTupleSource}. **/ public static final ThreeColumnTupleSourceFactory FACTORY = new Factory(); private final ColumnSource columnSource1; private final ColumnSource columnSource2; private final ColumnSource columnSource3; - public ShortShortReinterpretedDateTimeColumnTupleSource( + public ShortShortReinterpretedInstantColumnTupleSource( @NotNull final ColumnSource columnSource1, @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 @@ -66,7 +66,7 @@ public final ShortShortLongTuple createTupleFromValues(@NotNull final Object... return new ShortShortLongTuple( TypeUtils.unbox((Short)values[0]), TypeUtils.unbox((Short)values[1]), - DateTimeUtils.nanos((DateTime)values[2]) + DateTimeUtils.epochNanos((Instant)values[2]) ); } @@ -91,7 +91,7 @@ public final void exportElement(@NotNull final ShortShortLongTupl return; } if (elementIndex == 2) { - writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.nanosToTime(tuple.getThirdElement())); + writableSource.set(destinationRowKey, (ELEMENT_TYPE) DateTimeUtils.epochNanosToInstant(tuple.getThirdElement())); return; } throw new IndexOutOfBoundsException("Invalid element index " + elementIndex + " for export"); @@ -106,7 +106,7 @@ public final Object exportElement(@NotNull final ShortShortLongTuple tuple, int return TypeUtils.box(tuple.getSecondElement()); } if (elementIndex == 2) { - return DateTimeUtils.nanosToTime(tuple.getThirdElement()); + return DateTimeUtils.epochNanosToInstant(tuple.getThirdElement()); } throw new IllegalArgumentException("Bad elementIndex for 3 element tuple: " + elementIndex); } @@ -137,7 +137,7 @@ protected void convertChunks(@NotNull WritableChunk destination, destinationObjectChunk.setSize(chunkSize); } - /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortShortReinterpretedDateTimeColumnTupleSource}. **/ + /** {@link ThreeColumnTupleSourceFactory} for instances of {@link ShortShortReinterpretedInstantColumnTupleSource}. **/ private static final class Factory implements ThreeColumnTupleSourceFactory { private Factory() { @@ -149,7 +149,7 @@ public TupleSource create( @NotNull final ColumnSource columnSource2, @NotNull final ColumnSource columnSource3 ) { - return new ShortShortReinterpretedDateTimeColumnTupleSource( + return new ShortShortReinterpretedInstantColumnTupleSource( columnSource1, columnSource2, columnSource3 diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/ArrowWrapperTools.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/ArrowWrapperTools.java index 696e0db4952..50f529626ae 100644 --- a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/ArrowWrapperTools.java +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/ArrowWrapperTools.java @@ -10,7 +10,7 @@ import io.deephaven.engine.util.reference.CleanupReferenceProcessorInstance; import io.deephaven.extensions.arrow.sources.ArrowByteColumnSource; import io.deephaven.extensions.arrow.sources.ArrowCharColumnSource; -import io.deephaven.extensions.arrow.sources.ArrowDateTimeColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowInstantColumnSource; import io.deephaven.extensions.arrow.sources.ArrowIntColumnSource; import io.deephaven.extensions.arrow.sources.ArrowLocalTimeColumnSource; import io.deephaven.extensions.arrow.sources.ArrowLongColumnSource; @@ -100,7 +100,7 @@ *

  • {@link ArrowObjectColumnSource ArrowObjectColumnSource<BigInteger>} - uses {@link UInt8Vector} under the * hood, returns BigInteger
  • *
  • {@link ArrowLocalTimeColumnSource} - uses {@link TimeMilliVector} under the hood, returns LocalTime
  • - *
  • {@link ArrowDateTimeColumnSource} - uses {@link TimeStampVector} under the hood, returns DateTime
  • + *
  • {@link ArrowInstantColumnSource} - uses {@link TimeStampVector} under the hood, returns DateTime
  • *
  • {@link ArrowStringColumnSource} - uses {@link VarCharVector} under the hood, returns String
  • *
  • {@link ArrowObjectColumnSource ArrowObjectColumnSource<byte[]>} - uses {@link FixedSizeBinaryVector} under * the hood, returns byte[]
  • @@ -249,7 +249,7 @@ private static AbstractColumnSource generateColumnSource( case TIMESTAMPNANOTZ: case TIMESTAMPSEC: case TIMESTAMPSECTZ: - return new ArrowDateTimeColumnSource(highBit, field, arrowHelper); + return new ArrowInstantColumnSource(highBit, field, arrowHelper); case NULL: case STRUCT: case DATEDAY: diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDateTimeColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowInstantColumnSource.java similarity index 72% rename from extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDateTimeColumnSource.java rename to extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowInstantColumnSource.java index 021dae5b12b..aafb6a8713a 100644 --- a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDateTimeColumnSource.java +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowInstantColumnSource.java @@ -15,40 +15,40 @@ import io.deephaven.engine.table.ChunkSource; import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; import io.deephaven.extensions.arrow.ArrowWrapperTools; -import io.deephaven.time.DateTime; +import java.time.Instant; import org.apache.arrow.vector.TimeStampVector; import org.apache.arrow.vector.types.pojo.Field; import org.jetbrains.annotations.NotNull; /** * Arrow Vector: {@link TimeStampVector} - * Deephaven Type: io.deephaven.time.DateTime + * Deephaven Type: java.time.Instant */ -public class ArrowDateTimeColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForObject { - public ArrowDateTimeColumnSource(final int highBit, final @NotNull Field field, +public class ArrowInstantColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForObject { + public ArrowInstantColumnSource(final int highBit, final @NotNull Field field, final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { - super(DateTime.class, highBit, field, arrowTableContext); + super(Instant.class, highBit, field, arrowTableContext); } @Override public void fillChunk(final ChunkSource. @NotNull FillContext context, final @NotNull WritableChunk destination, final @NotNull RowSequence rowSequence) { - final WritableObjectChunk chunk = destination.asWritableObjectChunk(); + final WritableObjectChunk chunk = destination.asWritableObjectChunk(); final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; chunk.setSize(0); fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); } @Override - public final DateTime get(final long rowKey) { + public final Instant get(final long rowKey) { try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { fc.ensureLoadingBlock(getBlockNo(rowKey)); return extract(getPositionInBlock(rowKey), fc.getVector(field)); } } - private DateTime extract(final int posInBlock, final TimeStampVector vector) { - return vector.isSet(posInBlock) == 0 ? null : new DateTime(vector.get(posInBlock)); + private Instant extract(final int posInBlock, final TimeStampVector vector) { + return vector.isSet(posInBlock) == 0 ? null : io.deephaven.time.DateTimeUtils.epochNanosToInstant(vector.get(posInBlock)); } } diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimestampVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimestampVectorTest.java index 6895770cf80..454aecce280 100644 --- a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimestampVectorTest.java +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimestampVectorTest.java @@ -14,8 +14,8 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.QueryTable; import io.deephaven.engine.testutil.junit4.EngineCleanup; -import io.deephaven.time.DateTime; import java.io.File; +import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -27,7 +27,7 @@ public class ArrowTimestampVectorTest { private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); - private static final DateTime[] expectedValues = new DateTime[] {new DateTime(1670443801), new DateTime(1570443532), null, new DateTime(0), new DateTime(170443801), new DateTime(-72309740)}; + private static final Instant[] expectedValues = new Instant[] {io.deephaven.time.DateTimeUtils.epochNanosToInstant(1670443801), io.deephaven.time.DateTimeUtils.epochNanosToInstant(1570443532), null, io.deephaven.time.DateTimeUtils.epochNanosToInstant(0), io.deephaven.time.DateTimeUtils.epochNanosToInstant(170443801), io.deephaven.time.DateTimeUtils.epochNanosToInstant(-72309740)}; @Rule public final EngineCleanup framework = new EngineCleanup(); @@ -50,7 +50,7 @@ public void testReadArrowFile() { Assert.assertEquals(1, table.getColumnSources().size()); // noinspection OptionalGetWithoutIsPresent, unchecked; - final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); final MutableInt pos = new MutableInt(); @@ -63,10 +63,10 @@ public void testFillChunk() { final QueryTable table = loadTable(); // noinspection OptionalGetWithoutIsPresent, unchecked; - final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); - final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); cs.fillChunk(fillContext, chunk, table.getRowSet()); diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarragePerformanceLog.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarragePerformanceLog.java index b90be30e9d3..0061e529cd5 100644 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarragePerformanceLog.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarragePerformanceLog.java @@ -10,23 +10,25 @@ import io.deephaven.engine.table.impl.QueryTable; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.IOException; +import java.time.Instant; +import java.util.Map; import java.util.function.Supplier; /** * Enable barrage performance metrics by setting the {@code BarragePerformanceLog.enableAll} configuration property, or * by adding the {@link io.deephaven.engine.table.Table#BARRAGE_PERFORMANCE_KEY_ATTRIBUTE table key} as an - * {@link io.deephaven.engine.table.Table#setAttribute(String, Object) attribute} to the table. + * {@link io.deephaven.engine.table.Table#withAttributes(Map) attribute} to the table. */ public class BarragePerformanceLog { /** * If all barrage performance logging is enabled by default, then table's description is used as TableKey unless * overridden with the {@link io.deephaven.engine.table.Table#BARRAGE_PERFORMANCE_KEY_ATTRIBUTE table key} - * {@link io.deephaven.engine.table.Table#setAttribute(String, Object) attribute}. + * {@link io.deephaven.engine.table.Table#withAttributes(Map) attribute}. */ public static final boolean ALL_PERFORMANCE_ENABLED = Configuration.getInstance().getBooleanForClassWithDefault( BarragePerformanceLog.class, "enableAll", true); @@ -115,7 +117,7 @@ public interface WriteMetricsConsumer { } public static class SnapshotMetricsHelper implements WriteMetricsConsumer { - private final DateTime requestTm = DateTime.now(); + private final Instant requestTm = DateTimeUtils.now(); public String tableId; public String tableKey; public long queueNanos; diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSnapshotPerformanceLogger.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSnapshotPerformanceLogger.java index 01be8e609ec..7e10817baf3 100644 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSnapshotPerformanceLogger.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSnapshotPerformanceLogger.java @@ -9,9 +9,9 @@ import io.deephaven.tablelogger.Row; import io.deephaven.tablelogger.RowSetter; import io.deephaven.tablelogger.WritableRowContainer; -import io.deephaven.time.DateTime; import java.io.IOException; +import java.time.Instant; public class BarrageSnapshotPerformanceLogger extends MemoryTableLogger { @@ -24,7 +24,7 @@ public BarrageSnapshotPerformanceLogger() { @SuppressWarnings("rawtypes") interface ISetter extends WritableRowContainer { - void log(Row.Flags flags, String tableId, String tableKey, DateTime time, + void log(Row.Flags flags, String tableId, String tableKey, Instant time, long queueTm, long snapshotTm, long writeTm, long bytesWritten) throws IOException; } @@ -37,7 +37,7 @@ public static String getDefaultTableName() { class DirectSetter extends BaseSetter implements ISetter { RowSetter TableId; RowSetter TableKey; - RowSetter RequestTime; + RowSetter RequestTime; RowSetter QueueMillis; RowSetter SnapshotMillis; RowSetter WriteMillis; @@ -46,7 +46,7 @@ class DirectSetter extends BaseSetter implements ISetter { DirectSetter() { TableId = row.getSetter("TableId", String.class); TableKey = row.getSetter("TableKey", String.class); - RequestTime = row.getSetter("RequestTime", DateTime.class); + RequestTime = row.getSetter("RequestTime", Instant.class); QueueMillis = row.getSetter("QueueMillis", double.class); SnapshotMillis = row.getSetter("SnapshotMillis", double.class); WriteMillis = row.getSetter("WriteMillis", double.class); @@ -54,7 +54,7 @@ class DirectSetter extends BaseSetter implements ISetter { } @Override - public void log(Row.Flags flags, String tableId, String tableKey, DateTime requestTime, + public void log(Row.Flags flags, String tableId, String tableKey, Instant requestTime, long queueNanos, long snapshotNanos, long writeNanons, long bytesWritten) throws IOException { setRowFlags(flags); @@ -81,7 +81,7 @@ protected String threadName() { final ColumnsSpecHelper cols = new ColumnsSpecHelper() .add("TableId", String.class) .add("TableKey", String.class) - .add("RequestTime", DateTime.class) + .add("RequestTime", Instant.class) .add("QueueMillis", double.class) .add("SnapshotMillis", double.class) @@ -101,7 +101,7 @@ protected ISetter createSetter() { } public void log( - String tableId, String tableKey, DateTime requestTime, + String tableId, String tableKey, Instant requestTime, long queueNanos, long snapshotNanos, long writeNanos, long bytesWritten) throws IOException { log(DEFAULT_INTRADAY_LOGGER_FLAGS, tableId, tableKey, requestTime, @@ -109,7 +109,7 @@ public void log( } public void log( - Row.Flags flags, String tableId, String tableKey, DateTime requestTime, + Row.Flags flags, String tableId, String tableKey, Instant requestTime, long queueNanos, long snapshotNanos, long writeNanos, long bytesWritten) throws IOException { verifyCondition(isInitialized(), "init() must be called before calling log()"); diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSubscriptionPerformanceLogger.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSubscriptionPerformanceLogger.java index 26a6cd425ab..a58b79b0351 100644 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSubscriptionPerformanceLogger.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSubscriptionPerformanceLogger.java @@ -9,9 +9,9 @@ import io.deephaven.tablelogger.Row; import io.deephaven.tablelogger.RowSetter; import io.deephaven.tablelogger.WritableRowContainer; -import io.deephaven.time.DateTime; import java.io.IOException; +import java.time.Instant; public class BarrageSubscriptionPerformanceLogger extends MemoryTableLogger { @@ -24,7 +24,7 @@ public BarrageSubscriptionPerformanceLogger() { @SuppressWarnings("rawtypes") interface ISetter extends WritableRowContainer { - void log(Row.Flags flags, String tableId, String tableKey, String statType, DateTime time, + void log(Row.Flags flags, String tableId, String tableKey, String statType, Instant time, long count, double pct50, double pct75, double pct90, double pct95, double pct99, double max) throws IOException; } @@ -38,7 +38,7 @@ class DirectSetter extends BaseSetter implements ISetter { RowSetter TableId; RowSetter TableKey; RowSetter StatType; - RowSetter Time; + RowSetter Time; RowSetter Count; RowSetter Pct50; RowSetter Pct75; @@ -51,7 +51,7 @@ class DirectSetter extends BaseSetter implements ISetter { TableId = row.getSetter("TableId", String.class); TableKey = row.getSetter("TableKey", String.class); StatType = row.getSetter("StatType", String.class); - Time = row.getSetter("Time", DateTime.class); + Time = row.getSetter("Time", Instant.class); Count = row.getSetter("Count", long.class); Pct50 = row.getSetter("Pct50", double.class); Pct75 = row.getSetter("Pct75", double.class); @@ -62,7 +62,7 @@ class DirectSetter extends BaseSetter implements ISetter { } @Override - public void log(Row.Flags flags, String tableId, String tableKey, String statType, DateTime time, + public void log(Row.Flags flags, String tableId, String tableKey, String statType, Instant time, long count, double pct50, double pct75, double pct90, double pct95, double pct99, double max) throws IOException { setRowFlags(flags); @@ -94,7 +94,7 @@ protected String threadName() { .add("TableId", String.class) .add("TableKey", String.class) .add("StatType", String.class) - .add("Time", DateTime.class) + .add("Time", Instant.class) .add("Count", long.class) .add("Pct50", double.class) @@ -117,7 +117,7 @@ protected ISetter createSetter() { } public void log( - String tableId, String tableKey, String statType, DateTime time, + String tableId, String tableKey, String statType, Instant time, long count, double pct50, double pct75, double pct90, double pct95, double pct99, double max) throws IOException { log(DEFAULT_INTRADAY_LOGGER_FLAGS, tableId, tableKey, statType, time, @@ -125,7 +125,7 @@ public void log( } public void log( - Row.Flags flags, String tableId, String tableKey, String statType, DateTime time, + Row.Flags flags, String tableId, String tableKey, String statType, Instant time, long count, double pct50, double pct75, double pct90, double pct95, double pct99, double max) throws IOException { verifyCondition(isInitialized(), "init() must be called before calling log()"); diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/chunk/ChunkInputStreamGenerator.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/chunk/ChunkInputStreamGenerator.java index eac637aa7c0..85aefa37ebb 100644 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/chunk/ChunkInputStreamGenerator.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/chunk/ChunkInputStreamGenerator.java @@ -14,7 +14,6 @@ import io.deephaven.extensions.barrage.ColumnConversionMode; import io.deephaven.extensions.barrage.util.DefensiveDrainable; import io.deephaven.extensions.barrage.util.StreamReaderOptions; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.datastructures.LongSizedDataStructure; import io.deephaven.chunk.Chunk; @@ -29,6 +28,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.time.Instant; +import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.Iterator; @@ -91,24 +91,12 @@ static ChunkInputStreamGenerator makeInputStreamGenerator( out.write(normal.unscaledValue().toByteArray()); }); } - if (type == DateTime.class) { - // This code path is utilized for arrays and vectors of DateTimes, which cannot be reinterpreted. - ObjectChunk objChunk = chunk.asObjectChunk(); - WritableLongChunk outChunk = WritableLongChunk.makeWritableChunk(objChunk.size()); - for (int i = 0; i < objChunk.size(); ++i) { - outChunk.set(i, DateTimeUtils.nanos(objChunk.get(i))); - } - if (chunk instanceof PoolableChunk) { - ((PoolableChunk) chunk).close(); - } - return new LongChunkInputStreamGenerator(outChunk, Long.BYTES, rowOffset); - } if (type == Instant.class) { // This code path is utilized for arrays and vectors of Instant, which cannot be reinterpreted. ObjectChunk objChunk = chunk.asObjectChunk(); WritableLongChunk outChunk = WritableLongChunk.makeWritableChunk(objChunk.size()); for (int i = 0; i < objChunk.size(); ++i) { - outChunk.set(i, DateTimeUtils.toEpochNano(objChunk.get(i))); + outChunk.set(i, DateTimeUtils.epochNanos(objChunk.get(i))); } if (chunk instanceof PoolableChunk) { ((PoolableChunk) chunk).close(); @@ -120,7 +108,7 @@ static ChunkInputStreamGenerator makeInputStreamGenerator( ObjectChunk objChunk = chunk.asObjectChunk(); WritableLongChunk outChunk = WritableLongChunk.makeWritableChunk(objChunk.size()); for (int i = 0; i < objChunk.size(); ++i) { - outChunk.set(i, DateTimeUtils.toEpochNano(objChunk.get(i))); + outChunk.set(i, DateTimeUtils.epochNanos(objChunk.get(i))); } if (chunk instanceof PoolableChunk) { ((PoolableChunk) chunk).close(); @@ -251,21 +239,15 @@ static WritableChunk extractChunkFromInputStream( outChunk, outOffset, totalRows ); } - if (type == DateTime.class) { - return FixedWidthChunkInputStreamGenerator.extractChunkFromInputStreamWithTypeConversion( - Long.BYTES, options, io -> DateTimeUtils.nanosToTime(io.readLong()), - fieldNodeIter, bufferInfoIter, is, outChunk, outOffset, totalRows - ); - } if (type == Instant.class) { return FixedWidthChunkInputStreamGenerator.extractChunkFromInputStreamWithTypeConversion( - Long.BYTES, options, io -> DateTimeUtils.makeInstant(io.readLong()), + Long.BYTES, options, io -> DateTimeUtils.epochNanosToInstant(io.readLong()), fieldNodeIter, bufferInfoIter, is, outChunk, outOffset, totalRows ); } if (type == ZonedDateTime.class) { return FixedWidthChunkInputStreamGenerator.extractChunkFromInputStreamWithTypeConversion( - Long.BYTES, options, io -> DateTimeUtils.makeZonedDateTime(io.readLong()), + Long.BYTES, options, io -> DateTimeUtils.epochNanosToZonedDateTime(io.readLong(), DateTimeUtils.timeZone()), fieldNodeIter, bufferInfoIter, is, outChunk, outOffset, totalRows ); } diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/table/BarrageTable.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/table/BarrageTable.java index d23d9a7083d..17c10121a09 100644 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/table/BarrageTable.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/table/BarrageTable.java @@ -32,13 +32,14 @@ import io.deephaven.io.log.LogEntry; import io.deephaven.io.log.LogLevel; import io.deephaven.io.logger.Logger; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.annotations.InternalUseOnly; import org.HdrHistogram.Histogram; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.IOException; +import java.time.Instant; import java.util.*; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; @@ -547,7 +548,7 @@ public void stop() { @Override public void run() { - final DateTime now = DateTime.now(); + final Instant now = DateTimeUtils.now(); final BarrageSubscriptionPerformanceLogger logger = BarragePerformanceLog.getInstance().getSubscriptionLogger(); @@ -564,7 +565,7 @@ public void run() { } } - private void flush(final DateTime now, final BarrageSubscriptionPerformanceLogger logger, final Histogram hist, + private void flush(final Instant now, final BarrageSubscriptionPerformanceLogger logger, final Histogram hist, final String statType) throws IOException { if (hist.getTotalCount() == 0) { return; diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java index 62103aea371..33e07d17ad9 100755 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java @@ -33,7 +33,6 @@ import io.deephaven.proto.flight.util.MessageHelper; import io.deephaven.proto.flight.util.SchemaHelper; import io.deephaven.proto.util.Exceptions; -import io.deephaven.time.DateTime; import io.deephaven.api.util.NameValidator; import io.deephaven.engine.util.ColumnFormatting; import io.deephaven.engine.util.config.MutableInputTable; @@ -112,7 +111,7 @@ public class BarrageUtil { BigDecimal.class, BigInteger.class, String.class, - DateTime.class, + Instant.class, Boolean.class)); public static ByteString schemaBytesFromTable(@NotNull final Table table) { @@ -314,7 +313,7 @@ private static Class getDefaultType(final ArrowType arrowType, final Converte final TimeUnit timestampUnit = timestampType.getUnit(); if (tz == null || "UTC".equals(tz)) { if (maybeConvertForTimeUnit(timestampUnit, result, i)) { - return DateTime.class; + return Instant.class; } } throw Exceptions.statusRuntimeException(Code.INVALID_ARGUMENT, exMsg + @@ -344,7 +343,7 @@ public static class ConvertedArrowSchema { public final int nCols; public TableDefinition tableDef; // a multiplicative factor to apply when reading; useful for eg converting arrow timestamp time units - // to the expected nanos value for DateTime. + // to the expected nanos value for Instant. public int[] conversionFactors; public Map attributes; @@ -575,7 +574,7 @@ private static ArrowType arrowTypeFor(Class type) { || type == BigInteger.class) { return Types.MinorType.VARBINARY.getType(); } - if (type == DateTime.class || type == Instant.class || type == ZonedDateTime.class) { + if (type == Instant.class || type == ZonedDateTime.class) { return NANO_SINCE_EPOCH_TYPE; } diff --git a/extensions/barrage/src/test/java/io/deephaven/extensions/barrage/chunk/BarrageColumnRoundTripTest.java b/extensions/barrage/src/test/java/io/deephaven/extensions/barrage/chunk/BarrageColumnRoundTripTest.java index 76f28f8bd1e..986d928b52d 100644 --- a/extensions/barrage/src/test/java/io/deephaven/extensions/barrage/chunk/BarrageColumnRoundTripTest.java +++ b/extensions/barrage/src/test/java/io/deephaven/extensions/barrage/chunk/BarrageColumnRoundTripTest.java @@ -24,7 +24,6 @@ import io.deephaven.chunk.WritableObjectChunk; import io.deephaven.chunk.WritableShortChunk; import io.deephaven.extensions.barrage.util.BarrageProtoUtil; -import io.deephaven.time.DateTime; import io.deephaven.util.BooleanUtils; import io.deephaven.util.QueryConstants; import io.deephaven.util.SafeCloseable; @@ -264,18 +263,6 @@ public void testDoubleChunkSerialization() throws IOException { } } - public void testDateTimeChunkSerialization() throws IOException { - final Random random = new Random(0); - for (final BarrageSubscriptionOptions opts : options) { - testRoundTripSerialization(opts, DateTime.class, (utO) -> { - final WritableObjectChunk chunk = utO.asWritableObjectChunk(); - for (int i = 0; i < chunk.size(); ++i) { - chunk.set(i, i % 7 == 0 ? null : new DateTime(random.nextLong())); - } - }, new ObjectIdentityValidator<>()); - } - } - public void testInstantChunkSerialization() throws IOException { final Random random = new Random(0); for (final BarrageSubscriptionOptions opts : options) { diff --git a/extensions/csv/src/main/java/io/deephaven/csv/CsvTools.java b/extensions/csv/src/main/java/io/deephaven/csv/CsvTools.java index 3e060b34686..d45185895bd 100644 --- a/extensions/csv/src/main/java/io/deephaven/csv/CsvTools.java +++ b/extensions/csv/src/main/java/io/deephaven/csv/CsvTools.java @@ -45,9 +45,9 @@ import io.deephaven.engine.table.impl.sources.BooleanArraySource; import io.deephaven.engine.table.impl.sources.ByteArraySource; import io.deephaven.engine.table.impl.sources.CharacterArraySource; -import io.deephaven.engine.table.impl.sources.DateTimeArraySource; import io.deephaven.engine.table.impl.sources.DoubleArraySource; import io.deephaven.engine.table.impl.sources.FloatArraySource; +import io.deephaven.engine.table.impl.sources.InstantArraySource; import io.deephaven.engine.table.impl.sources.IntegerArraySource; import io.deephaven.engine.table.impl.sources.LongArraySource; import io.deephaven.engine.table.impl.sources.ObjectArraySource; @@ -55,8 +55,7 @@ import io.deephaven.engine.util.PathUtil; import io.deephaven.engine.util.TableTools; import io.deephaven.io.streams.BzipFileOutputStream; -import io.deephaven.time.DateTime; -import io.deephaven.time.TimeZone; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.BooleanUtils; import io.deephaven.util.QueryConstants; import io.deephaven.util.annotations.ScriptApi; @@ -74,6 +73,9 @@ import java.net.URL; import java.nio.file.Path; import java.nio.file.Paths; +import java.time.Instant; +import java.time.ZoneId; +import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -303,7 +305,7 @@ public static Collection renamesForHeaderless(String... columnNames) { */ @ScriptApi public static Table readHeaderlessCsv(String filePath, Collection columnNames) throws CsvReaderException { - return CsvTools.readCsv(filePath, builder().hasHeaderRow(false).build()) + return readCsv(filePath, builder().hasHeaderRow(false).build()) .renameColumns(renamesForHeaderless(columnNames)); } @@ -313,7 +315,7 @@ public static Table readHeaderlessCsv(String filePath, Collection column */ @ScriptApi public static Table readHeaderlessCsv(String filePath, String... columnNames) throws CsvReaderException { - return CsvTools.readCsv(filePath, builder().hasHeaderRow(false).build()) + return readCsv(filePath, builder().hasHeaderRow(false).build()) .renameColumns(renamesForHeaderless(columnNames)); } @@ -387,7 +389,7 @@ public static void writeCsv(Table source, boolean compressed, String destPath, S @ScriptApi public static void writeCsv(Table source, boolean compressed, String destPath, boolean nullsAsEmpty, String... columns) throws IOException { - writeCsv(source, destPath, compressed, io.deephaven.time.TimeZone.TZ_DEFAULT, nullsAsEmpty, columns); + writeCsv(source, destPath, compressed, DateTimeUtils.timeZone(), nullsAsEmpty, columns); } /** @@ -415,7 +417,7 @@ public static void writeCsv(Table source, String destPath, String... columns) th @ScriptApi public static void writeCsv(Table source, String destPath, boolean nullsAsEmpty, String... columns) throws IOException { - writeCsv(source, destPath, false, io.deephaven.time.TimeZone.TZ_DEFAULT, nullsAsEmpty, columns); + writeCsv(source, destPath, false, DateTimeUtils.timeZone(), nullsAsEmpty, columns); } /** @@ -445,8 +447,7 @@ public static void writeCsv(Table source, PrintStream out, boolean nullsAsEmpty, throws IOException { final PrintWriter printWriter = new PrintWriter(out); final BufferedWriter bufferedWriter = new BufferedWriter(printWriter); - CsvTools.writeCsv(source, bufferedWriter, io.deephaven.time.TimeZone.TZ_DEFAULT, null, nullsAsEmpty, - ',', columns); + writeCsv(source, bufferedWriter, DateTimeUtils.timeZone(), null, nullsAsEmpty, ',', columns); } /** @@ -455,15 +456,14 @@ public static void writeCsv(Table source, PrintStream out, boolean nullsAsEmpty, * @param source a Deephaven table object to be exported * @param destPath path to the CSV file to be written * @param compressed whether to zip the file being written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param columns a list of columns to include in the export * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table source, String destPath, boolean compressed, - io.deephaven.time.TimeZone timeZone, + public static void writeCsv(Table source, String destPath, boolean compressed, ZoneId timeZone, String... columns) throws IOException { - CsvTools.writeCsv(source, destPath, compressed, timeZone, null, NULLS_AS_EMPTY_DEFAULT, ',', columns); + writeCsv(source, destPath, compressed, timeZone, null, NULLS_AS_EMPTY_DEFAULT, ',', columns); } /** @@ -472,16 +472,15 @@ public static void writeCsv(Table source, String destPath, boolean compressed, * @param source a Deephaven table object to be exported * @param destPath path to the CSV file to be written * @param compressed whether to zip the file being written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' * @param columns a list of columns to include in the export * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table source, String destPath, boolean compressed, - io.deephaven.time.TimeZone timeZone, + public static void writeCsv(Table source, String destPath, boolean compressed, ZoneId timeZone, boolean nullsAsEmpty, String... columns) throws IOException { - CsvTools.writeCsv(source, destPath, compressed, timeZone, null, nullsAsEmpty, ',', columns); + writeCsv(source, destPath, compressed, timeZone, null, nullsAsEmpty, ',', columns); } /** @@ -490,17 +489,16 @@ public static void writeCsv(Table source, String destPath, boolean compressed, * @param source a Deephaven table object to be exported * @param destPath path to the CSV file to be written * @param compressed whether to zip the file being written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' * @param separator the delimiter for the CSV * @param columns a list of columns to include in the export * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table source, String destPath, boolean compressed, - io.deephaven.time.TimeZone timeZone, + public static void writeCsv(Table source, String destPath, boolean compressed, ZoneId timeZone, boolean nullsAsEmpty, char separator, String... columns) throws IOException { - CsvTools.writeCsv(source, destPath, compressed, timeZone, null, nullsAsEmpty, separator, columns); + writeCsv(source, destPath, compressed, timeZone, null, nullsAsEmpty, separator, columns); } /** @@ -509,14 +507,13 @@ public static void writeCsv(Table source, String destPath, boolean compressed, * @param sources an array of Deephaven table objects to be exported * @param destPath path to the CSV file to be written * @param compressed whether to compress (bz2) the file being written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param tableSeparator a String (normally a single character) to be used as the table delimiter * @param columns a list of columns to include in the export * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table[] sources, String destPath, boolean compressed, - io.deephaven.time.TimeZone timeZone, + public static void writeCsv(Table[] sources, String destPath, boolean compressed, ZoneId timeZone, String tableSeparator, String... columns) throws IOException { writeCsv(sources, destPath, compressed, timeZone, tableSeparator, NULLS_AS_EMPTY_DEFAULT, columns); } @@ -527,14 +524,13 @@ public static void writeCsv(Table[] sources, String destPath, boolean compressed * @param sources an array of Deephaven table objects to be exported * @param destPath path to the CSV file to be written * @param compressed whether to compress (bz2) the file being written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param tableSeparator a String (normally a single character) to be used as the table delimiter * @param columns a list of columns to include in the export * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table[] sources, String destPath, boolean compressed, - io.deephaven.time.TimeZone timeZone, + public static void writeCsv(Table[] sources, String destPath, boolean compressed, ZoneId timeZone, String tableSeparator, boolean nullsAsEmpty, String... columns) throws IOException { writeCsv(sources, destPath, compressed, timeZone, tableSeparator, ',', nullsAsEmpty, columns); } @@ -545,7 +541,7 @@ public static void writeCsv(Table[] sources, String destPath, boolean compressed * @param sources an array of Deephaven table objects to be exported * @param destPath path to the CSV file to be written * @param compressed whether to compress (bz2) the file being written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param tableSeparator a String (normally a single character) to be used as the table delimiter * @param fieldSeparator the delimiter for the CSV files * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' @@ -553,8 +549,7 @@ public static void writeCsv(Table[] sources, String destPath, boolean compressed * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table[] sources, String destPath, boolean compressed, - io.deephaven.time.TimeZone timeZone, + public static void writeCsv(Table[] sources, String destPath, boolean compressed, ZoneId timeZone, String tableSeparator, char fieldSeparator, boolean nullsAsEmpty, String... columns) throws IOException { BufferedWriter out = (compressed ? new BufferedWriter(new OutputStreamWriter(new BzipFileOutputStream(destPath + ".bz2"))) @@ -581,14 +576,14 @@ public static void writeCsv(Table[] sources, String destPath, boolean compressed * @param source a Deephaven table object to be exported * @param destPath path to the CSV file to be written * @param compressed whether to zip the file being written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param progress a procedure that implements BiConsumer, and takes a progress Integer and a total size Integer to * update progress * @param columns a list of columns to include in the export * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table source, String destPath, boolean compressed, TimeZone timeZone, + public static void writeCsv(Table source, String destPath, boolean compressed, ZoneId timeZone, @Nullable BiConsumer progress, String... columns) throws IOException { writeCsv(source, destPath, compressed, timeZone, progress, NULLS_AS_EMPTY_DEFAULT, columns); } @@ -599,7 +594,7 @@ public static void writeCsv(Table source, String destPath, boolean compressed, T * @param source a Deephaven table object to be exported * @param destPath path to the CSV file to be written * @param compressed whether to zip the file being written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param progress a procedure that implements BiConsumer, and takes a progress Integer and a total size Integer to * update progress * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' @@ -607,7 +602,7 @@ public static void writeCsv(Table source, String destPath, boolean compressed, T * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table source, String destPath, boolean compressed, TimeZone timeZone, + public static void writeCsv(Table source, String destPath, boolean compressed, ZoneId timeZone, @Nullable BiConsumer progress, boolean nullsAsEmpty, String... columns) throws IOException { writeCsv(source, destPath, compressed, timeZone, progress, nullsAsEmpty, ',', columns); @@ -619,7 +614,7 @@ public static void writeCsv(Table source, String destPath, boolean compressed, T * @param source a Deephaven table object to be exported * @param destPath path to the CSV file to be written * @param compressed whether to zip the file being written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param progress a procedure that implements BiConsumer, and takes a progress Integer and a total size Integer to * update progress * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' @@ -628,7 +623,7 @@ public static void writeCsv(Table source, String destPath, boolean compressed, T * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table source, String destPath, boolean compressed, TimeZone timeZone, + public static void writeCsv(Table source, String destPath, boolean compressed, ZoneId timeZone, @Nullable BiConsumer progress, boolean nullsAsEmpty, char separator, String... columns) throws IOException { final Writer out = @@ -642,7 +637,7 @@ public static void writeCsv(Table source, String destPath, boolean compressed, T * * @param source a Deephaven table object to be exported * @param out Writer used to write the CSV - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param progress a procedure that implements BiConsumer, and takes a progress Integer and a total size Integer to * update progress * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' @@ -650,7 +645,7 @@ public static void writeCsv(Table source, String destPath, boolean compressed, T * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table source, Writer out, TimeZone timeZone, + public static void writeCsv(Table source, Writer out, ZoneId timeZone, @Nullable BiConsumer progress, boolean nullsAsEmpty, String... columns) throws IOException { writeCsv(source, out, timeZone, progress, nullsAsEmpty, ',', columns); @@ -661,7 +656,7 @@ public static void writeCsv(Table source, Writer out, TimeZone timeZone, * * @param source a Deephaven table object to be exported * @param out Writer used to write the CSV - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param progress a procedure that implements BiConsumer, and takes a progress Integer and a total size Integer to * update progress * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' @@ -670,7 +665,7 @@ public static void writeCsv(Table source, Writer out, TimeZone timeZone, * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsv(Table source, Writer out, TimeZone timeZone, + public static void writeCsv(Table source, Writer out, ZoneId timeZone, @Nullable BiConsumer progress, boolean nullsAsEmpty, char separator, String... columns) throws IOException { @@ -794,12 +789,12 @@ public static void writeToMultipleFiles(Table table, String path, String filenam * * @param source a Deephaven table object to be exported * @param out a Writer to which the header should be written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param colNames a list of columns to include in the export * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, String... colNames) + public static void writeCsvContents(Table source, Writer out, ZoneId timeZone, String... colNames) throws IOException { writeCsvContents(source, out, timeZone, null, colNames); } @@ -809,13 +804,13 @@ public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, * * @param source a Deephaven table object to be exported * @param out a Writer to which the header should be written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' * @param colNames a list of columns to include in the export * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, boolean nullsAsEmpty, + public static void writeCsvContents(Table source, Writer out, ZoneId timeZone, boolean nullsAsEmpty, String... colNames) throws IOException { writeCsvContents(source, out, timeZone, null, nullsAsEmpty, colNames); } @@ -825,14 +820,14 @@ public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, * * @param source a Deephaven table object to be exported * @param out a Writer to which the header should be written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param progress a procedure that implements BiConsumer, and takes a progress Integer and a total size Integer to * update progress * @param colNames a list of columns to include in the export * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, + public static void writeCsvContents(Table source, Writer out, ZoneId timeZone, @Nullable BiConsumer progress, String... colNames) throws IOException { writeCsvContents(source, out, timeZone, progress, NULLS_AS_EMPTY_DEFAULT, colNames); } @@ -842,7 +837,7 @@ public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, * * @param source a Deephaven table object to be exported * @param out a Writer to which the header should be written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param progress a procedure that implements BiConsumer, and takes a progress Integer and a total size Integer to * update progress * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' @@ -850,7 +845,7 @@ public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, + public static void writeCsvContents(Table source, Writer out, ZoneId timeZone, @Nullable BiConsumer progress, boolean nullsAsEmpty, String... colNames) throws IOException { writeCsvContents(source, out, timeZone, progress, nullsAsEmpty, ',', colNames); @@ -861,7 +856,7 @@ public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, * * @param source a Deephaven table object to be exported * @param out a Writer to which the header should be written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param progress a procedure that implements BiConsumer, and takes a progress Integer and a total size Integer to * update progress * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' @@ -870,7 +865,7 @@ public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, * @throws IOException if the target file cannot be written */ @ScriptApi - public static void writeCsvContents(Table source, Writer out, TimeZone timeZone, + public static void writeCsvContents(Table source, Writer out, ZoneId timeZone, @Nullable BiConsumer progress, boolean nullsAsEmpty, char separator, String... colNames) throws IOException { if (colNames.length == 0) { @@ -904,7 +899,7 @@ protected static String separatorCsvEscape(String str, String separator) { * Writes an array of Deephaven DataColumns out as a CSV file. * * @param out a Writer to which the header should be written - * @param timeZone a TimeZone constant relative to which DateTime data should be adjusted + * @param timeZone a time zone constant relative to which date time data should be adjusted * @param cols an array of Deephaven DataColumns to be written * @param size the size of the DataColumns * @param nullsAsEmpty if nulls should be written as blank instead of '(null)' @@ -915,13 +910,13 @@ protected static String separatorCsvEscape(String str, String separator) { */ private static void writeCsvContentsSeq( final Writer out, - final TimeZone timeZone, + final ZoneId timeZone, final DataColumn[] cols, final long size, final boolean nullsAsEmpty, final char separator, - @Nullable BiConsumer progress) throws IOException { - QueryPerformanceNugget nugget = + @Nullable final BiConsumer progress) throws IOException { + final QueryPerformanceNugget nugget = QueryPerformanceRecorder.getInstance().getNugget("CsvTools.writeCsvContentsSeq()"); try { String separatorStr = String.valueOf(separator); @@ -935,8 +930,10 @@ private static void writeCsvContentsSeq( final Object o = cols[j].get(i); if (o instanceof String) { out.write("" + separatorCsvEscape((String) o, separatorStr)); - } else if (o instanceof DateTime) { - out.write(separatorCsvEscape(((DateTime) o).toString(timeZone), separatorStr)); + } else if (o instanceof Instant) { + final ZonedDateTime zdt = ZonedDateTime.ofInstant((Instant) o, timeZone); + out.write(separatorCsvEscape( + zdt.toLocalDateTime().toString() + zdt.getOffset().toString(), separatorStr)); } else { out.write(nullsAsEmpty ? separatorCsvEscape(o == null ? "" : o.toString(), separatorStr) @@ -1215,9 +1212,9 @@ protected void nullFlagsToValues(final String[] values, final boolean[] isNull, } } - private static final class MyDateTimeAsLongSink extends MySinkBase { - public MyDateTimeAsLongSink(int columnIndex) { - super(new DateTimeArraySource(), long.class, LongChunk::chunkWrap); + private static final class MyInstantAsLongSink extends MySinkBase { + public MyInstantAsLongSink(int columnIndex) { + super(new InstantArraySource(), long.class, LongChunk::chunkWrap); } @Override @@ -1241,8 +1238,7 @@ private static SinkFactory makeMySinkFactory() { MyBooleanAsByteSink::new, MyCharSink::new, QueryConstants.NULL_CHAR, MyStringSink::new, null, - MyDateTimeAsLongSink::new, QueryConstants.NULL_LONG, - MyDateTimeAsLongSink::new, QueryConstants.NULL_LONG); + MyInstantAsLongSink::new, QueryConstants.NULL_LONG, + MyInstantAsLongSink::new, QueryConstants.NULL_LONG); } - } diff --git a/extensions/csv/src/main/java/io/deephaven/csv/DeephavenTimeZoneParser.java b/extensions/csv/src/main/java/io/deephaven/csv/DeephavenTimeZoneParser.java index 82415f910b0..a42ec58eae3 100644 --- a/extensions/csv/src/main/java/io/deephaven/csv/DeephavenTimeZoneParser.java +++ b/extensions/csv/src/main/java/io/deephaven/csv/DeephavenTimeZoneParser.java @@ -9,22 +9,20 @@ import io.deephaven.csv.tokenization.Tokenizer; import io.deephaven.csv.util.MutableLong; import io.deephaven.csv.util.MutableObject; -import io.deephaven.time.TimeZone; +import io.deephaven.time.TimeZoneAliases; +import java.nio.charset.StandardCharsets; import java.time.ZoneId; - +import java.util.Map; public final class DeephavenTimeZoneParser implements Tokenizer.CustomTimeZoneParser { - private static final String DEEPHAVEN_TZ_PREFIX = "TZ_"; - private static final int MAX_DEEPHAVEN_TZ_LENGTH = 3; + private static final int MAX_TZ_LENGTH = computeMaxTimeZoneLength(); private static final TIntObjectHashMap ZONE_ID_MAP = createZoneIdMap(); private int lastTzKey = -1; private ZoneId lastZoneId = null; - public DeephavenTimeZoneParser() { - - } + public DeephavenTimeZoneParser() {} @Override public boolean tryParse(ByteSlice bs, MutableObject zoneId, MutableLong offsetSeconds) { @@ -52,8 +50,18 @@ public boolean tryParse(ByteSlice bs, MutableObject zoneId, MutableLong return true; } + private static int computeMaxTimeZoneLength() { + int rst = 0; + + for (String tz : TimeZoneAliases.getAllZones().keySet()) { + rst = Math.max(tz.length(), rst); + } + + return rst; + } + /** - * Take up to three uppercase characters from a TimeZone string and pack them into an integer. + * Take up to three uppercase characters from a time zone string and pack them into an integer. * * @param bs A ByteSlice holding the timezone key. * @return The characters packed into an int, or -1 if there are too many or too few characters, or if the @@ -63,50 +71,39 @@ private static int tryParseTzKey(final ByteSlice bs) { int res = 0; int current; for (current = bs.begin(); current != bs.end(); ++current) { - if (current - bs.begin() > MAX_DEEPHAVEN_TZ_LENGTH) { + if (current - bs.begin() > MAX_TZ_LENGTH) { return -1; } final char ch = RangeTests.toUpper((char) bs.data()[current]); - if (!RangeTests.isUpper(ch)) { - // If it's some nonalphabetic character - break; - } res = res * 26 + (ch - 'A'); } if (current - bs.begin() == 0) { return -1; } bs.setBegin(current); - return res; + return Math.abs(res); } private static TIntObjectHashMap createZoneIdMap() { final TIntObjectHashMap zoneIdMap = new TIntObjectHashMap<>(); - for (TimeZone zone : TimeZone.values()) { - final String zname = zone.name(); - if (!zname.startsWith(DEEPHAVEN_TZ_PREFIX)) { - throw new RuntimeException("Logic error: unexpected enum in DBTimeZone: " + zname); - } - final String zSuffix = zname.substring(DEEPHAVEN_TZ_PREFIX.length()); - final int zlen = zSuffix.length(); - if (zlen > MAX_DEEPHAVEN_TZ_LENGTH) { - throw new RuntimeException("Logic error: unexpectedly-long enum in DBTimeZone: " + zname); - } - final byte[] data = new byte[zlen]; - for (int ii = 0; ii < zlen; ++ii) { - final char ch = zSuffix.charAt(ii); - if (!RangeTests.isUpper(ch)) { - throw new RuntimeException("Logic error: unexpected character in DBTimeZone name: " + zname); - } - data[ii] = (byte) ch; + for (Map.Entry entry : TimeZoneAliases.getAllZones().entrySet()) { + final String zname = entry.getKey(); + final ZoneId zoneId = entry.getValue(); + if (zname.length() > MAX_TZ_LENGTH) { + throw new RuntimeException("Logic error: unexpectedly-long time zone name: " + zname); } + final byte[] data = zname.getBytes(StandardCharsets.UTF_8); final ByteSlice bs = new ByteSlice(data, 0, data.length); final int tzKey = tryParseTzKey(bs); if (tzKey < 0) { - throw new RuntimeException("Logic error: can't parse DBTimeZone as key: " + zname); + throw new RuntimeException("Logic error: can't parse time zone as key: " + zname); + } + + final ZoneId previous = zoneIdMap.put(tzKey, zoneId); + + if (previous != null) { + throw new RuntimeException("Time zone hashing collision: " + zname + " " + tzKey); } - final ZoneId zoneId = zone.getTimeZone().toTimeZone().toZoneId(); - zoneIdMap.put(tzKey, zoneId); } return zoneIdMap; } diff --git a/extensions/csv/src/test/java/io/deephaven/csv/DeephavenCsvTest.java b/extensions/csv/src/test/java/io/deephaven/csv/DeephavenCsvTest.java index 9a370958965..05aec1ceb80 100644 --- a/extensions/csv/src/test/java/io/deephaven/csv/DeephavenCsvTest.java +++ b/extensions/csv/src/test/java/io/deephaven/csv/DeephavenCsvTest.java @@ -6,26 +6,24 @@ import io.deephaven.csv.util.CsvReaderException; import io.deephaven.engine.table.Table; import io.deephaven.engine.util.TableTools; -import io.deephaven.time.DateTime; import org.apache.commons.io.input.ReaderInputStream; -import org.assertj.core.api.Assertions; import org.junit.Test; import java.io.StringReader; import java.nio.charset.StandardCharsets; +import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; import static io.deephaven.engine.testutil.TstUtils.assertTableEquals; public class DeephavenCsvTest { + @Test - public void dateTimeCustomTimezone() throws CsvReaderException { + public void instantCustomTimezone() throws CsvReaderException { final ZoneId nycId = ZoneId.of("America/New_York"); - final DateTime DATETIME_A = - DateTime.of(LocalDateTime.of(2019, 5, 2, 19, 33, 12, 123456789).atZone(nycId).toInstant()); - final DateTime DATETIME_B = - DateTime.of(LocalDateTime.of(2017, 2, 2, 3, 18, 55, 987654321).atZone(nycId).toInstant()); + Instant INSTANT_A = LocalDateTime.of(2019, 5, 2, 19, 33, 12, 123456789).atZone(nycId).toInstant(); + Instant INSTANT_B = LocalDateTime.of(2017, 2, 2, 3, 18, 55, 987654321).atZone(nycId).toInstant(); final String input = "" + "Timestamp\n" + @@ -33,8 +31,7 @@ public void dateTimeCustomTimezone() throws CsvReaderException { "\n" + "2017-02-02T03:18:55.987654321 NY\n"; - final Table expected = TableTools.newTable( - TableTools.col("Timestamp", DATETIME_A, null, DATETIME_B)); + final Table expected = TableTools.newTable(TableTools.col("Timestamp", INSTANT_A, null, INSTANT_B)); invokeTest(input, CsvTools.builder().build(), expected); } diff --git a/extensions/csv/src/test/java/io/deephaven/csv/TestCsvTools.java b/extensions/csv/src/test/java/io/deephaven/csv/TestCsvTools.java index bb209bf7e11..cca09604b95 100644 --- a/extensions/csv/src/test/java/io/deephaven/csv/TestCsvTools.java +++ b/extensions/csv/src/test/java/io/deephaven/csv/TestCsvTools.java @@ -9,10 +9,8 @@ import io.deephaven.engine.table.TableDefinition; import io.deephaven.engine.table.impl.InMemoryTable; import io.deephaven.engine.testutil.TstUtils; -import io.deephaven.time.DateTime; -import io.deephaven.time.TimeZone; -import io.deephaven.engine.util.TableTools; import io.deephaven.test.types.OutOfBandTest; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; @@ -27,8 +25,8 @@ import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; -import java.util.Scanner; -import java.util.regex.Pattern; +import java.time.Instant; +import java.util.List; import static io.deephaven.util.QueryConstants.NULL_DOUBLE; import static io.deephaven.util.QueryConstants.NULL_INT; @@ -201,56 +199,48 @@ public void testLoadCsv() throws Exception { @Test public void testWriteCsv() throws Exception { - File csvFile = new File(tmpDir, "tmp.csv"); - String[] colNames = {"StringKeys", "GroupedInts", "Doubles", "DateTime"}; - long numCols = colNames.length; - Table tableToTest = new InMemoryTable( + final File csvFile = new File(tmpDir, "tmp.csv"); + final String[] colNames = {"StringKeys", "GroupedInts", "Doubles", "DateTime"}; + final long numCols = colNames.length; + final Table tableToTest = new InMemoryTable( colNames, new Object[] { - new String[] {"key11", "key11", "key21", "key21", "key22"}, - new int[] {1, 2, 2, NULL_INT, 3}, - new double[] {2.342, 0.0932, Double.NaN, NULL_DOUBLE, 3}, - new DateTime[] {new DateTime(100), new DateTime(10000), null, - new DateTime(100000), new DateTime(1000000)} - });; - long numRows = tableToTest.size(); - - String allSeparators = ",|\tzZ- €9@"; - for (char separator : allSeparators.toCharArray()) { - String separatorStr = String.valueOf(separator); - - // Ignore separators in double quotes using this regex - String splitterPattern = Pattern.quote(separatorStr) + "(?=([^\"]*\"[^\"]*\")*[^\"]*$)"; - - CsvTools.writeCsv(tableToTest, csvFile.getPath(), false, TimeZone.TZ_DEFAULT, false, separator, colNames); - Scanner csvReader = new Scanner(csvFile); - - // Check header - String header = csvReader.nextLine(); - String[] headerLine = header.split(splitterPattern); - Assert.assertArrayEquals(colNames, headerLine); - - // Check rest of values - for (int i = 0; i < numRows; i++) { - Assert.assertTrue(csvReader.hasNextLine()); - String rawLine = csvReader.nextLine(); - String[] csvLine = rawLine.split(splitterPattern); - Assert.assertEquals(numCols, csvLine.length); + new String[] { + "key11", "key11", "key21", "key21", "key22", null, "ABCDEFGHIJK", "\"", "123", + "456", "789", ",", "8" + }, + new int[] { + 1, 2, 2, NULL_INT, 3, -99, -100, Integer.MIN_VALUE + 1, Integer.MAX_VALUE, + 5, 6, 7, 8 + }, + new double[] { + 2.342, 0.0932, 10000000, NULL_DOUBLE, 3, Double.MIN_VALUE, Double.MAX_VALUE, + Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY, -1.00, 0.0, -0.001, Double.NaN + }, + new Instant[] { + DateTimeUtils.epochNanosToInstant(100), + DateTimeUtils.epochNanosToInstant(10000), + null, + DateTimeUtils.epochNanosToInstant(100000), + DateTimeUtils.epochNanosToInstant(1000000), + DateTimeUtils.parseInstant("2022-11-06T02:00:00.000000000-04:00"), + DateTimeUtils.parseInstant("2022-11-06T02:00:00.000000000-05:00"), + DateTimeUtils.parseInstant("2022-11-06T02:00:01.000000001-04:00"), + DateTimeUtils.parseInstant("2022-11-06T02:00:01.000000001-05:00"), + DateTimeUtils.parseInstant("2022-11-06T02:59:59.999999999-04:00"), + DateTimeUtils.parseInstant("2022-11-06T02:59:59.999999999-05:00"), + DateTimeUtils.parseInstant("2022-11-06T03:00:00.000000000-04:00"), + DateTimeUtils.parseInstant("2022-11-06T03:00:00.000000000-05:00") + } + }); - // Use separatorCsvEscape and compare the values - for (int j = 0; j < numCols; j++) { - String valFromTable = tableToTest.getColumn(colNames[j]).get(i) == null - ? TableTools.nullToNullString(tableToTest.getColumn(colNames[j]).get(i)) - : CsvTools.separatorCsvEscape(tableToTest.getColumn(colNames[j]).get(i).toString(), - separatorStr); - - Assert.assertEquals(valFromTable, csvLine[j]); - } - - } - - // Check we exhausted the file - Assert.assertFalse(csvReader.hasNextLine()); + final String allSeparators = ",|\tzZ- 9@"; + for (final char separator : allSeparators.toCharArray()) { + CsvTools.writeCsv( + tableToTest, csvFile.getPath(), false, DateTimeUtils.timeZone(), false, separator, colNames); + final Table result = CsvTools.readCsv(csvFile.getPath(), + CsvSpecs.builder().delimiter(separator).nullValueLiterals(List.of("(null)")).build()); + TstUtils.assertTableEquals(tableToTest, result); } } } diff --git a/extensions/jdbc/src/main/java/io/deephaven/jdbc/JdbcToTableAdapter.java b/extensions/jdbc/src/main/java/io/deephaven/jdbc/JdbcToTableAdapter.java index de61c23af01..83181f417f2 100644 --- a/extensions/jdbc/src/main/java/io/deephaven/jdbc/JdbcToTableAdapter.java +++ b/extensions/jdbc/src/main/java/io/deephaven/jdbc/JdbcToTableAdapter.java @@ -20,6 +20,7 @@ import io.deephaven.engine.table.impl.sources.ArrayBackedColumnSource; import io.deephaven.engine.table.impl.sources.ChunkedBackingStoreExposedWritableSource; import io.deephaven.engine.table.impl.sources.InMemoryColumnSource; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.datastructures.LongSizedDataStructure; import org.jetbrains.annotations.NotNull; @@ -85,7 +86,7 @@ public static class ReadJdbcOptions { private String replacement = "_"; private int maxRows = -1; private boolean strict = true; - private TimeZone sourceTimeZone = TimeZone.getDefault(); + private TimeZone sourceTimeZone = TimeZone.getTimeZone(DateTimeUtils.timeZone()); private String arrayDelimiter = ","; private final Map> targetTypeMap = new HashMap<>(); diff --git a/extensions/jdbc/src/main/java/io/deephaven/jdbc/JdbcTypeMapper.java b/extensions/jdbc/src/main/java/io/deephaven/jdbc/JdbcTypeMapper.java index 3809780c4ca..8303d5379f7 100644 --- a/extensions/jdbc/src/main/java/io/deephaven/jdbc/JdbcTypeMapper.java +++ b/extensions/jdbc/src/main/java/io/deephaven/jdbc/JdbcTypeMapper.java @@ -21,13 +21,14 @@ import io.deephaven.chunk.WritableShortChunk; import io.deephaven.chunk.attributes.Values; import io.deephaven.jdbc.util.ArrayParser; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import org.jetbrains.annotations.NotNull; import java.math.BigDecimal; import java.sql.*; import java.sql.Date; +import java.time.Instant; import java.time.LocalDate; import java.time.LocalTime; import java.util.*; @@ -115,8 +116,8 @@ public boolean isStrict() { * *

    * Note that more than one type mapping is possible for each SQL type - a DATE might be converted to either a - * LocalDate or a DateTime for example. And the same is true for the target type - a DateTime might be sourced from - * a SQL DATE or TIMESTAMP value. + * LocalDate oran Instant for example. And the same is true for the target type -an Instant might be sourced from a + * SQL DATE or TIMESTAMP value. *

    * *

    @@ -128,17 +129,16 @@ public boolean isStrict() { *

    * *

    - * DateTime values have a different problem - SQL and Deephaven DateTime values are conceptually different. - * TIMESTAMP columns in SQL databases typically do not store timezone information. They are equivalent to a java - * LocalDateTime in this respect. However, Deephaven usually stores timestamps in DateTime columns, internally - * represented as nanos-since-the-epoch. This means JDBC timestamps usually require the "context" of a timezone in - * order to be converted to a DateTime properly. Writing a DateTime to a JDBC datasource (via the bind mechanism) - * has the same issue. Unfortunately this time-zone context issue applies even when mapping JDBC DATETIME values - * "directly" to LocalDate, because most JDBC drivers require all Date related values to pass through a - * java.sql.Date object, which is also epoch-based, not "local". The latest JDBC standard deals with this problem - * but doesn't seem to be widely implemented. Here we handle this problem by passing a "Context" object every time a - * conversion occurs, which contains the timezone to be used when extracting or binding JDBC date or timestamp - * values. + * Instant values have a different problem - SQL and Deephaven Instant values are conceptually different. TIMESTAMP + * columns in SQL databases typically do not store timezone information. They are equivalent to a java LocalDateTime + * in this respect. However, Deephaven usually stores timestamps in Instant columns, internally represented as + * nanos-since-the-epoch. This means JDBC timestamps usually require the "context" of a timezone in order to be + * converted toan Instant properly. Writingan Instant to a JDBC datasource (via the bind mechanism) has the same + * issue. Unfortunately this time-zone context issue applies even when mapping JDBC DATETIME values "directly" to + * LocalDate, because most JDBC drivers require all Date related values to pass through a java.sql.Date object, + * which is also epoch-based, not "local". The latest JDBC standard deals with this problem but doesn't seem to be + * widely implemented. Here we handle this problem by passing a "Context" object every time a conversion occurs, + * which contains the timezone to be used when extracting or binding JDBC date or timestamp values. *

    * * @param the Deephaven column type this mapping handles @@ -713,59 +713,63 @@ public void bindFromChunk( } } - public static class DateDateTimeDataTypeMapping extends DataTypeMapping { - DateDateTimeDataTypeMapping() { - super(Types.DATE, DateTime.class, java.sql.Date.class); + public static class DateInstantDataTypeMapping extends DataTypeMapping { + DateInstantDataTypeMapping() { + super(Types.DATE, Instant.class, java.sql.Date.class); } @Override public void bindToChunk( WritableChunk destChunk, int destOffset, ResultSet resultSet, int columnIndex, Context context) throws SQLException { - final WritableObjectChunk objectChunk = destChunk.asWritableObjectChunk(); + final WritableObjectChunk objectChunk = destChunk.asWritableObjectChunk(); final java.sql.Date date = resultSet.getDate(columnIndex, context.getSourceCalendar()); - objectChunk.set(destOffset, date == null ? null : new DateTime(date.getTime() * MILLIS_TO_NANOS)); + objectChunk.set(destOffset, date == null + ? null + : DateTimeUtils.epochMillisToInstant(date.getTime())); } @Override public void bindFromChunk(Chunk srcChunk, int srcOffset, PreparedStatement stmt, int parameterIndex, Context context) throws SQLException { - final ObjectChunk objectChunk = srcChunk.asObjectChunk(); - final DateTime value = objectChunk.get(srcOffset); + final ObjectChunk objectChunk = srcChunk.asObjectChunk(); + final Instant value = objectChunk.get(srcOffset); if (value == null) { stmt.setNull(parameterIndex, sqlType); } else { - stmt.setDate(parameterIndex, new Date(value.getMillis()), context.getSourceCalendar()); + stmt.setDate(parameterIndex, new Date(value.toEpochMilli()), context.getSourceCalendar()); } } } - public static class TimestampDateTimeDataTypeMapping extends DataTypeMapping { - TimestampDateTimeDataTypeMapping(int sqlType) { - super(sqlType, DateTime.class, java.sql.Timestamp.class); + public static class TimestampInstantDataTypeMapping extends DataTypeMapping { + TimestampInstantDataTypeMapping(int sqlType) { + super(sqlType, Instant.class, java.sql.Timestamp.class); } @Override public void bindToChunk( WritableChunk destChunk, int destOffset, ResultSet resultSet, int columnIndex, Context context) throws SQLException { - final WritableObjectChunk objectChunk = destChunk.asWritableObjectChunk(); + final WritableObjectChunk objectChunk = destChunk.asWritableObjectChunk(); final java.sql.Timestamp timestamp = resultSet.getTimestamp(columnIndex, context.getSourceCalendar()); - objectChunk.set(destOffset, timestamp == null ? null - : new DateTime(timestamp.getTime() * MILLIS_TO_NANOS + timestamp.getNanos() % 1_000_000)); + objectChunk.set(destOffset, timestamp == null + ? null + : DateTimeUtils.epochNanosToInstant( + timestamp.getTime() * MILLIS_TO_NANOS + timestamp.getNanos() % 1_000_000)); } @Override public void bindFromChunk( Chunk srcChunk, int srcOffset, PreparedStatement stmt, int parameterIndex, Context context) throws SQLException { - final ObjectChunk objectChunk = srcChunk.asObjectChunk(); - final DateTime value = objectChunk.get(srcOffset); + final ObjectChunk objectChunk = srcChunk.asObjectChunk(); + final Instant value = objectChunk.get(srcOffset); if (value == null) { stmt.setNull(parameterIndex, sqlType); } else { - final Timestamp ts = new Timestamp(value.getMillis()); - ts.setNanos((int) (value.getNanos() % 1_000_000_000L)); + final Timestamp ts = new Timestamp(value.toEpochMilli()); + ts.setNanos((int) (DateTimeUtils.epochNanos(value) % 1_000_000_000L)); stmt.setTimestamp(parameterIndex, ts, context.getSourceCalendar()); } } @@ -1002,21 +1006,21 @@ MappingCollection build() { Map.entry(Types.BLOB, new MappingCollection(byte[].class, new ByteArrayDataTypeMapping(Types.BLOB))), Map.entry(Types.DATE, MappingCollection.builder(LocalDate.class) .mapping(LocalDate.class, new DateLocalDateDataTypeMapping()) - .mapping(DateTime.class, new DateDateTimeDataTypeMapping()) + .mapping(Instant.class, new DateInstantDataTypeMapping()) // provides the option to treat a DATE column as a String .mapping(String.class, new StringDataTypeMapping(Types.DATE)) .build()), // TODO: map to LocalDateTime? - Map.entry(Types.TIMESTAMP, MappingCollection.builder(DateTime.class) - .mapping(DateTime.class, new TimestampDateTimeDataTypeMapping(Types.TIMESTAMP)) + Map.entry(Types.TIMESTAMP, MappingCollection.builder(Instant.class) + .mapping(Instant.class, new TimestampInstantDataTypeMapping(Types.TIMESTAMP)) // provides the option to treat a TIMESTAMP column as a String .mapping(String.class, new StringDataTypeMapping(Types.TIMESTAMP)) .build()), // TODO: map to OffsetDateTime? - Map.entry(Types.TIMESTAMP_WITH_TIMEZONE, MappingCollection.builder(DateTime.class) - .mapping(DateTime.class, new TimestampDateTimeDataTypeMapping(Types.TIMESTAMP_WITH_TIMEZONE)) + Map.entry(Types.TIMESTAMP_WITH_TIMEZONE, MappingCollection.builder(Instant.class) + .mapping(Instant.class, new TimestampInstantDataTypeMapping(Types.TIMESTAMP_WITH_TIMEZONE)) // provides the option to treat a TIMESTAMP_WITH_TIMEZONE column as a String .mapping(String.class, new StringDataTypeMapping(Types.TIMESTAMP_WITH_TIMEZONE)) .build()), @@ -1051,8 +1055,8 @@ static class SqlServerTypes { try { // special DATETIMEOFFSET type for SQL Server final Map sqlServerMap = new HashMap<>(); - sqlServerMap.put(SqlServerTypes.DATETIMEOFFSET, MappingCollection.builder(DateTime.class) - .mapping(DateTime.class, new TimestampDateTimeDataTypeMapping(SqlServerTypes.DATETIMEOFFSET)) + sqlServerMap.put(SqlServerTypes.DATETIMEOFFSET, MappingCollection.builder(Instant.class) + .mapping(Instant.class, new TimestampInstantDataTypeMapping(SqlServerTypes.DATETIMEOFFSET)) .build()); driverSpecificDataTypeMappings.put( diff --git a/extensions/jdbc/src/test/java/io/deephaven/jdbc/JdbcToTableAdapterTest.java b/extensions/jdbc/src/test/java/io/deephaven/jdbc/JdbcToTableAdapterTest.java index cf92ce5b315..a1afaf6007d 100644 --- a/extensions/jdbc/src/test/java/io/deephaven/jdbc/JdbcToTableAdapterTest.java +++ b/extensions/jdbc/src/test/java/io/deephaven/jdbc/JdbcToTableAdapterTest.java @@ -6,11 +6,11 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.Table; import io.deephaven.engine.util.TableTools; -import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeFormatter; +import io.deephaven.time.DateTimeFormatters; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import io.deephaven.util.function.ThrowingRunnable; -import org.joda.time.format.DateTimeFormat; -import org.joda.time.format.DateTimeFormatter; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -22,9 +22,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; -import java.time.LocalDate; -import java.time.LocalTime; -import java.time.ZoneOffset; +import java.time.*; import java.util.InputMismatchException; import java.util.Set; import java.util.TimeZone; @@ -33,6 +31,8 @@ public class JdbcToTableAdapterTest { + private static final ZoneId TZ_UTC = ZoneId.of("UTC"); + private Connection conn; private Statement stmt; private final long numRows = (long) (2.5 * LARGEST_POOLED_CHUNK_CAPACITY); @@ -54,7 +54,7 @@ public void setUp() throws SQLException { " \"DateTime Type\" DATETIME NULL" + ");"); - final DateTimeFormatter dateTimeFormat = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS"); + final DateTimeFormatter dtf = DateTimeFormatters.NONISO9.getFormatter(); for (long ii = 0; ii < numRows; ++ii) { stmt.executeUpdate("INSERT INTO TestTable VALUES (" + @@ -65,7 +65,10 @@ public void setUp() throws SQLException { ", " + (ii % 256 == 3 ? "NULL" : ii - numRows / 2) + // long ", " + (ii % 256 == 4 ? "NULL" : (ii - numRows / 2) / 256.0) + // float ", " + (ii % 256 == 5 ? "NULL" : "'" + ii + "'") + // string - ", " + (ii % 256 == 6 ? "NULL" : "'" + dateTimeFormat.print(ii * 100_000L) + "'") + // date + ", " + (ii % 256 == 6 + ? "NULL" + : "'" + dtf.format(DateTimeUtils.epochNanosToInstant(ii * 100_000L), TZ_UTC) + "Z'") + + // date ");"); } } @@ -186,7 +189,7 @@ public void testDefaultResultTypes() throws SQLException { final ColumnSource big_int_type = result.getColumnSource("big_int_type"); final ColumnSource decimal_type = result.getColumnSource("decimal_type"); final ColumnSource string_type = result.getColumnSource("string_type"); - final ColumnSource datetime_type = result.getColumnSource("datetime_type"); + final ColumnSource instant_type = result.getColumnSource("datetime_type"); // check expected column sources types Assert.assertEquals(Boolean.class, bool_type.getType()); @@ -196,7 +199,7 @@ public void testDefaultResultTypes() throws SQLException { Assert.assertEquals(long.class, big_int_type.getType()); Assert.assertEquals(double.class, decimal_type.getType()); Assert.assertEquals(String.class, string_type.getType()); - Assert.assertEquals(DateTime.class, datetime_type.getType()); + Assert.assertEquals(Instant.class, instant_type.getType()); // Check table values for (long ii = 0; ii < result.size(); ++ii) { @@ -246,11 +249,11 @@ public void testDefaultResultTypes() throws SQLException { } if (ii % 256 == 6) { - Assert.assertNull(datetime_type.get(ii)); + Assert.assertNull(instant_type.get(ii)); } else { - final DateTime dt = datetime_type.get(ii); + final Instant dt = instant_type.get(ii); // is only accurate - Assert.assertEquals(ii * 100_000L, dt.getMillis()); + Assert.assertEquals(ii * 100_000L, DateTimeUtils.epochNanos(dt)); } } } @@ -566,14 +569,14 @@ public void testDateTypeMapping() throws SQLException { Assert.assertEquals(expectedDate, ldcs.get(0)); Assert.assertNull(ldcs.get(1)); - // Convert to DateTime - options.columnTargetType("DateCol", DateTime.class); + // Convert to Instant + options.columnTargetType("DateCol", Instant.class); options.sourceTimeZone(TimeZone.getTimeZone("UTC")); result = JdbcToTableAdapter.readJdbc(stmt.executeQuery("SELECT * FROM SingleTestTable"), options); - ColumnSource dtcs = result.getColumnSource("DateCol"); + ColumnSource dtcs = result.getColumnSource("DateCol"); final long epochTm = expectedDate.atStartOfDay().toEpochSecond(ZoneOffset.UTC); - Assert.assertEquals(epochTm, dtcs.get(0).getMillis() / 1000); + Assert.assertEquals(epochTm, dtcs.get(0).toEpochMilli() / 1000); Assert.assertNull(dtcs.get(1)); } diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java b/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java index 14f9af4ad5b..5e20e0fad68 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java @@ -37,7 +37,6 @@ import io.deephaven.kafka.KafkaTools.TableType.Ring; import io.deephaven.kafka.KafkaTools.TableType.Visitor; import io.deephaven.stream.StreamToBlinkTableAdapter; -import io.deephaven.time.DateTime; import io.deephaven.engine.liveness.LivenessScope; import io.deephaven.engine.liveness.LivenessScopeStack; import io.deephaven.engine.util.BigDecimalUtils; @@ -72,6 +71,7 @@ import java.io.IOException; import java.io.Serializable; import java.math.BigDecimal; +import java.time.Instant; import java.util.*; import java.util.concurrent.ExecutionException; import java.util.function.*; @@ -238,7 +238,7 @@ private static SchemaBuilder.FieldAssembler addFieldForColDef( fass = base.doubleType().noDefault(); } else if (type == String.class) { fass = base.stringType().noDefault(); - } else if (type == DateTime.class) { + } else if (type == Instant.class) { fass = base.longBuilder().prop(logicalTypeName, "timestamp-micros").endLong().noDefault(); } else if (type == BigDecimal.class) { final BigDecimalUtils.PropertyNames propertyNames = @@ -374,7 +374,7 @@ private static void pushColumnTypesFromAvroField( final LogicalType logicalType = getEffectiveLogicalType(fieldName, elementTypeSchema); if (LogicalTypes.timestampMicros().equals(logicalType) || LogicalTypes.timestampMillis().equals(logicalType)) { - columnsOut.add(ColumnDefinition.fromGenericType(mappedNameForColumn, DateTime[].class)); + columnsOut.add(ColumnDefinition.fromGenericType(mappedNameForColumn, Instant[].class)); } else { columnsOut.add(ColumnDefinition.fromGenericType(mappedNameForColumn, long[].class)); } @@ -2011,7 +2011,7 @@ private static int getCommonCols( consumerProperties, TIMESTAMP_COLUMN_NAME_PROPERTY, TIMESTAMP_COLUMN_NAME_DEFAULT, - (final String colName) -> ColumnDefinition.fromGenericType(colName, DateTime.class)); + (final String colName) -> ColumnDefinition.fromGenericType(colName, Instant.class)); return c; } diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordChunkAdapter.java b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordChunkAdapter.java index 5b87738413f..f0efcb4f71d 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordChunkAdapter.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordChunkAdapter.java @@ -4,15 +4,14 @@ package io.deephaven.kafka.ingest; import io.deephaven.engine.table.TableDefinition; -import io.deephaven.time.DateTime; import io.deephaven.chunk.*; import org.apache.avro.LogicalType; import org.apache.avro.LogicalTypes; import org.apache.avro.Schema; -import org.apache.avro.generic.GenericContainer; import org.apache.avro.generic.GenericRecord; import java.math.BigDecimal; +import java.time.Instant; import java.util.*; import java.util.function.IntFunction; import java.util.regex.Pattern; @@ -98,11 +97,11 @@ private static FieldCopier makeFieldCopier( case Int: return new GenericRecordIntFieldCopier(fieldPathStr, separator, schema); case Long: - if (dataType == DateTime.class) { + if (dataType == Instant.class) { final LogicalType logicalType = getLogicalType(schema, fieldPathStr, separator); if (logicalType == null) { throw new IllegalArgumentException( - "Can not map field without a logical type to DateTime: field=" + fieldPathStr); + "Can not map field without a logical type to Instant: field=" + fieldPathStr); } if (logicalType instanceof LogicalTypes.TimestampMillis) { return new GenericRecordLongFieldCopierWithMultiplier(fieldPathStr, separator, schema, @@ -112,7 +111,7 @@ private static FieldCopier makeFieldCopier( return new GenericRecordLongFieldCopierWithMultiplier(fieldPathStr, separator, schema, 1000L); } throw new IllegalArgumentException( - "Can not map field with unknown logical type to DateTime: field=" + fieldPathStr + "Can not map field with unknown logical type to Instant: field=" + fieldPathStr + ", logical type=" + logicalType); } @@ -140,21 +139,21 @@ private static FieldCopier makeFieldCopier( "field=" + fieldPathStr + ", logical type=" + logicalType); } if (dataType.isArray()) { - if (DateTime.class.isAssignableFrom(componentType)) { + if (Instant.class.isAssignableFrom(componentType)) { final LogicalType logicalType = getArrayTypeLogicalType(schema, fieldPathStr, separator); if (logicalType == null) { throw new IllegalArgumentException( - "Can not map field without a logical type to DateTime[]: field=" + fieldPathStr); + "Can not map field without a logical type to Instant[]: field=" + fieldPathStr); } if (logicalType instanceof LogicalTypes.TimestampMillis) { - return new GenericRecordDateTimeArrayFieldCopier(fieldPathStr, separator, schema, + return new GenericRecordInstantArrayFieldCopier(fieldPathStr, separator, schema, 1000_000L); } if (logicalType instanceof LogicalTypes.TimestampMicros) { - return new GenericRecordDateTimeArrayFieldCopier(fieldPathStr, separator, schema, 1000L); + return new GenericRecordInstantArrayFieldCopier(fieldPathStr, separator, schema, 1000L); } throw new IllegalArgumentException( - "Can not map field with unknown logical type to DateTime[]: field=" + fieldPathStr + "Can not map field with unknown logical type to Instant[]: field=" + fieldPathStr + ", logical type=" + logicalType); } diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordDateTimeArrayFieldCopier.java b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordInstantArrayFieldCopier.java similarity index 74% rename from extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordDateTimeArrayFieldCopier.java rename to extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordInstantArrayFieldCopier.java index 9f318884dd2..0b679ccb0c9 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordDateTimeArrayFieldCopier.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordInstantArrayFieldCopier.java @@ -7,30 +7,30 @@ import io.deephaven.chunk.WritableChunk; import io.deephaven.chunk.WritableObjectChunk; import io.deephaven.chunk.attributes.Values; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import org.apache.avro.Schema; import org.apache.avro.generic.GenericArray; import org.apache.avro.generic.GenericRecord; +import java.time.Instant; import java.util.regex.Pattern; -public class GenericRecordDateTimeArrayFieldCopier extends GenericRecordFieldCopier { +public class GenericRecordInstantArrayFieldCopier extends GenericRecordFieldCopier { private final long multiplier; - public GenericRecordDateTimeArrayFieldCopier(final String fieldPathStr, final Pattern separator, final Schema schema, final long multiplier) { + public GenericRecordInstantArrayFieldCopier(final String fieldPathStr, final Pattern separator, final Schema schema, final long multiplier) { super(fieldPathStr, separator, schema); this.multiplier = multiplier; } - private static DateTime[] convertArray(final GenericArray ga, final long multiplier) { + private static Instant[] convertArray(final GenericArray ga, final long multiplier) { final int gaSize = ga.size(); if (gaSize == 0) { - return DateTimeUtils.ZERO_LENGTH_DATETIME_ARRAY; + return DateTimeUtils.ZERO_LENGTH_INSTANT_ARRAY; } - final DateTime[] out = new DateTime[ga.size()]; + final Instant[] out = new Instant[ga.size()]; int i = 0; for (Object o : ga) { - out[i] = new DateTime(multiplier * (long) o); + out[i] = DateTimeUtils.epochNanosToInstant(multiplier * (long) o); ++i; } return out; diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeChunkAdapter.java b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeChunkAdapter.java index 7ffd41e0d63..948fa416775 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeChunkAdapter.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeChunkAdapter.java @@ -5,9 +5,9 @@ import io.deephaven.UncheckedDeephavenException; import io.deephaven.engine.table.TableDefinition; -import io.deephaven.time.DateTime; import io.deephaven.chunk.ChunkType; +import java.time.Instant; import java.util.Map; import java.util.function.IntFunction; @@ -54,8 +54,8 @@ private static FieldCopier makeFieldCopier( case Int: return new JsonNodeIntFieldCopier(fieldName); case Long: - if (dataType == DateTime.class) { - return new JsonNodeDateTimeFieldCopier(fieldName); + if (dataType == Instant.class) { + return new JsonNodeInstantFieldCopier(fieldName); } return new JsonNodeLongFieldCopier(fieldName); case Float: diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeDateTimeFieldCopier.java b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeInstantFieldCopier.java similarity index 73% rename from extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeDateTimeFieldCopier.java rename to extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeInstantFieldCopier.java index bc3aa94a49a..aabcb904dc4 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeDateTimeFieldCopier.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeInstantFieldCopier.java @@ -7,13 +7,14 @@ import com.fasterxml.jackson.databind.JsonNode; import io.deephaven.chunk.*; import io.deephaven.chunk.attributes.Values; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; -public class JsonNodeDateTimeFieldCopier implements FieldCopier { +import java.time.Instant; + +public class JsonNodeInstantFieldCopier implements FieldCopier { private final JsonPointer fieldPointer; - public JsonNodeDateTimeFieldCopier(final String fieldPointerStr) { + public JsonNodeInstantFieldCopier(final String fieldPointerStr) { this.fieldPointer = JsonPointer.compile(fieldPointerStr); } @@ -27,8 +28,8 @@ public void copyField( final WritableLongChunk output = publisherChunk.asWritableLongChunk(); for (int ii = 0; ii < length; ++ii) { final JsonNode node = (JsonNode) inputChunk.get(ii + sourceOffset); - final DateTime dateTime = JsonNodeUtil.getDateTime(node, fieldPointer, true, true); - output.set(ii + destOffset, DateTimeUtils.nanos(dateTime)); + final Instant instant = JsonNodeUtil.getInstant(node, fieldPointer, true, true); + output.set(ii + destOffset, DateTimeUtils.epochNanos(instant)); } } } diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeUtil.java b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeUtil.java index 645f71abfeb..1d1da718b1f 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeUtil.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeUtil.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import io.deephaven.UncheckedDeephavenException; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import org.jetbrains.annotations.NotNull; @@ -18,6 +17,7 @@ import java.math.BigDecimal; import java.math.BigInteger; +import java.time.Instant; public class JsonNodeUtil { private static final ObjectMapper objectMapper = new ObjectMapper() @@ -690,47 +690,47 @@ public static Object getValue(final JsonNode node) { } /** - * Returns a {@link DateTime} from a {@link JsonNode}. Will try to infer precision of a long value to be parsed + * Returns an {@link Instant} from a {@link JsonNode}. Will try to infer precision of a long value to be parsed * using {@link DateTimeUtils} autoEpochToTime. If the value in the JSON record is not numeric, this method will - * attempt to parse it as a Deephaven DateTime string (yyyy-MM-ddThh:mm:ss[.nnnnnnnnn] TZ). + * attempt to parse it as a Deephaven Instant string (yyyy-MM-ddThh:mm:ss[.nnnnnnnnn] TZ). * * @param node The {@link JsonNode} from which to retrieve the value. * @param key The String key of the value to retrieve. - * @return A {@link DateTime} + * @returnan {@link Instant} */ @Nullable - public static DateTime getDateTime(@NotNull final JsonNode node, @NotNull final String key, + public static Instant getInstant(@NotNull final JsonNode node, @NotNull final String key, final boolean allowMissingKeys, final boolean allowNullValues) { final JsonNode tmpNode = checkAllowMissingOrNull(node, key, allowMissingKeys, allowNullValues); - return getDateTime(tmpNode); + return getInstant(tmpNode); } /** - * Returns a {@link DateTime} from a {@link JsonNode}. Will try to infer precision of a long value to be parsed + * Returns an {@link Instant} from a {@link JsonNode}. Will try to infer precision of a long value to be parsed * using {@link DateTimeUtils} autoEpochToTime. If the value in the JSON record is not numeric, this method will - * attempt to parse it as a Deephaven DateTime string (yyyy-MM-ddThh:mm:ss[.nnnnnnnnn] TZ). + * attempt to parse it as a Deephaven Instant string (yyyy-MM-ddThh:mm:ss[.nnnnnnnnn] TZ). * * @param node The {@link JsonNode} from which to retrieve the value. * @param ptr A JsonPointer to the node for the value to retrieve. - * @return A {@link DateTime} + * @returnan {@link Instant} */ @Nullable - public static DateTime getDateTime(@NotNull final JsonNode node, @NotNull final JsonPointer ptr, + public static Instant getInstant(@NotNull final JsonNode node, @NotNull final JsonPointer ptr, final boolean allowMissingKeys, final boolean allowNullValues) { final JsonNode tmpNode = checkAllowMissingOrNull(node, ptr, allowMissingKeys, allowNullValues); - return getDateTime(tmpNode); + return getInstant(tmpNode); } /** - * Returns a {@link DateTime} from a {@link JsonNode}. Will try to infer precision of a long value to be parsed + * Returns an {@link Instant} from a {@link JsonNode}. Will try to infer precision of a long value to be parsed * using {@link DateTimeUtils} autoEpochToTime. If the value in the JSON record is not numeric, this method will - * attempt to parse it as a Deephaven DateTime string (yyyy-MM-ddThh:mm:ss[.nnnnnnnnn] TZ). + * attempt to parse it as a Deephaven Instant string (yyyy-MM-ddThh:mm:ss[.nnnnnnnnn] TZ). * * @param node The {@link JsonNode} from which to retrieve the value. - * @return A {@link DateTime} + * @returnan {@link Instant} */ @Nullable - public static DateTime getDateTime(final JsonNode node) { + public static Instant getInstant(final JsonNode node) { if (isNullOrMissingField(node)) { return null; } @@ -738,9 +738,9 @@ public static DateTime getDateTime(final JsonNode node) { // ISO Zoned String, millis (small number), or nanos (large number) if (node.isLong() || node.isInt()) { final long value = node.asLong(); - return DateTimeUtils.autoEpochToTime(value); + return DateTimeUtils.epochAutoToInstant(value); } else { - return DateTimeUtils.convertDateTime(node.asText()); + return DateTimeUtils.parseInstant(node.asText()); } } } diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/publish/GenericRecordKeyOrValueSerializer.java b/extensions/kafka/src/main/java/io/deephaven/kafka/publish/GenericRecordKeyOrValueSerializer.java index d8b1aaef1bb..aa3d45c1f3d 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/publish/GenericRecordKeyOrValueSerializer.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/publish/GenericRecordKeyOrValueSerializer.java @@ -9,11 +9,11 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.util.BigDecimalUtils; import io.deephaven.kafka.KafkaSchemaUtils; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.string.StringUtils; import io.deephaven.engine.table.ColumnSource; import io.deephaven.chunk.*; import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.time.DateTimeUtils; import io.deephaven.util.QueryConstants; import io.deephaven.util.SafeCloseable; import io.deephaven.util.type.TypeUtils; @@ -28,6 +28,7 @@ import java.math.MathContext; import java.math.RoundingMode; import java.nio.ByteBuffer; +import java.time.Instant; import java.util.*; import java.util.concurrent.TimeUnit; @@ -288,22 +289,24 @@ private static GenericRecordFieldProcessor makeObjectFieldProcessor( (final int ii, final ObjectChunk inputChunk) -> inputChunk.get(ii)); } - private static GenericRecordFieldProcessor makeDateTimeToMillisFieldProcessor( + private static GenericRecordFieldProcessor makeInstantToMillisFieldProcessor( final String fieldName, final ColumnSource chunkSource) { return makeGenericFieldProcessor( fieldName, chunkSource, - (final int ii, final ObjectChunk inputChunk) -> ((DateTime) inputChunk.get(ii)).getMillis()); + (final int ii, final ObjectChunk inputChunk) -> ((Instant) inputChunk.get(ii)) + .toEpochMilli()); } - private static GenericRecordFieldProcessor makeDateTimeToMicrosFieldProcessor( + private static GenericRecordFieldProcessor makeInstantToMicrosFieldProcessor( final String fieldName, final ColumnSource chunkSource) { return makeGenericFieldProcessor( fieldName, chunkSource, - (final int ii, final ObjectChunk inputChunk) -> ((DateTime) inputChunk.get(ii)).getMicros()); + (final int ii, final ObjectChunk inputChunk) -> DateTimeUtils + .epochMicros((Instant) inputChunk.get(ii))); } private static BigInteger toBigIntegerAtPrecisionAndScale( @@ -380,7 +383,7 @@ private GenericRecordFieldProcessor getLongProcessor( final Class columnType, final ColumnSource src) { final Schema fieldSchema = field.schema(); - if (columnType == DateTime.class && fieldSchema.getType() == Schema.Type.LONG) { + if (columnType == Instant.class && fieldSchema.getType() == Schema.Type.LONG) { final LogicalType logicalType = fieldSchema.getLogicalType(); if (LogicalTypes.timestampMicros().equals(logicalType)) { return makeLongFieldProcessorWithInverseFactor(fieldName, src, 1000); @@ -447,17 +450,17 @@ private GenericRecordFieldProcessor getFieldProcessorForType( if (type == double.class) { return makeDoubleFieldProcessor(fieldName, src); } - if (type == DateTime.class) { + if (type == Instant.class) { final String logicalType = getLogicalType(fieldName, field); if (logicalType == null) { throw new IllegalArgumentException( "field " + fieldName + " for column " + columnName + " has no logical type."); } if (logicalType.equals("timestamp-millis")) { - return makeDateTimeToMillisFieldProcessor(fieldName, src); + return makeInstantToMillisFieldProcessor(fieldName, src); } if (logicalType.equals("timestamp-micros")) { - return makeDateTimeToMicrosFieldProcessor(fieldName, src); + return makeInstantToMicrosFieldProcessor(fieldName, src); } throw new IllegalArgumentException("field " + fieldName + " for column " + columnName + " has unrecognized logical type " + logicalType); diff --git a/extensions/kafka/src/test/java/io/deephaven/kafka/ingest/TestAvroAdapter.java b/extensions/kafka/src/test/java/io/deephaven/kafka/ingest/TestAvroAdapter.java index 951a176f968..fce56f3b70d 100644 --- a/extensions/kafka/src/test/java/io/deephaven/kafka/ingest/TestAvroAdapter.java +++ b/extensions/kafka/src/test/java/io/deephaven/kafka/ingest/TestAvroAdapter.java @@ -5,7 +5,6 @@ import io.deephaven.chunk.attributes.Values; import io.deephaven.engine.table.TableDefinition; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.chunk.*; import io.deephaven.util.BooleanUtils; @@ -20,6 +19,7 @@ import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; +import java.time.Instant; import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -92,19 +92,19 @@ public void testTimestamp() throws IOException { final String[] names = new String[] {"last_name", "number", "truthiness", "timestamp", "timestampMicros", "timeMillis", "timeMicros"}; - final Class[] types = new Class[] {String.class, int.class, boolean.class, DateTime.class, DateTime.class, + final Class[] types = new Class[] {String.class, int.class, boolean.class, Instant.class, Instant.class, int.class, long.class}; final TableDefinition definition = TableDefinition.from(Arrays.asList(names), Arrays.asList(types)); - final DateTime dt1 = DateTimeUtils.convertDateTime("2021-08-23T12:00:00.123456789 NY"); - final DateTime dt2 = DateTimeUtils.convertDateTime("2021-08-23T13:00:00.500600700 NY"); + final Instant dt1 = DateTimeUtils.parseInstant("2021-08-23T12:00:00.123456789 NY"); + final Instant dt2 = DateTimeUtils.parseInstant("2021-08-23T13:00:00.500600700 NY"); final GenericData.Record genericRecord1 = new GenericData.Record(avroSchema); genericRecord1.put("last_name", "LN1"); genericRecord1.put("number", 32); genericRecord1.put("truthiness", false); - genericRecord1.put("timestamp", dt1.getMillis()); - genericRecord1.put("timestampMicros", dt1.getMicros()); + genericRecord1.put("timestamp", dt1.toEpochMilli()); + genericRecord1.put("timestampMicros", DateTimeUtils.epochMicros(dt1)); genericRecord1.put("timeMillis", 10000); genericRecord1.put("timeMicros", 100000L); @@ -112,8 +112,8 @@ public void testTimestamp() throws IOException { genericRecord2.put("last_name", null); genericRecord2.put("number", 64); genericRecord2.put("truthiness", true); - genericRecord2.put("timestamp", dt2.getMillis()); - genericRecord2.put("timestampMicros", dt2.getMicros()); + genericRecord2.put("timestamp", dt2.toEpochMilli()); + genericRecord2.put("timestampMicros", DateTimeUtils.epochMicros(dt2)); genericRecord2.put("timeMillis", 20000); genericRecord2.put("timeMicros", 200000L); @@ -165,16 +165,20 @@ public void testTimestamp() throws IOException { TestCase.assertEquals("LN1", output[0].asObjectChunk().get(0)); TestCase.assertEquals(32, output[1].asIntChunk().get(0)); TestCase.assertEquals(BooleanUtils.FALSE_BOOLEAN_AS_BYTE, output[2].asByteChunk().get(0)); - TestCase.assertEquals(DateTimeUtils.millisToNanos(dt1.getMillis()), output[3].asLongChunk().get(0)); - TestCase.assertEquals(DateTimeUtils.microsToNanos(dt1.getMicros()), output[4].asLongChunk().get(0)); + TestCase.assertEquals(DateTimeUtils.millisToNanos(DateTimeUtils.epochMillis(dt1)), + output[3].asLongChunk().get(0)); + TestCase.assertEquals(DateTimeUtils.microsToNanos(DateTimeUtils.epochMicros(dt1)), + output[4].asLongChunk().get(0)); TestCase.assertEquals(10000, output[5].asIntChunk().get(0)); TestCase.assertEquals(100000, output[6].asLongChunk().get(0)); TestCase.assertNull(output[0].asObjectChunk().get(1)); TestCase.assertEquals(64, output[1].asIntChunk().get(1)); TestCase.assertEquals(BooleanUtils.TRUE_BOOLEAN_AS_BYTE, output[2].asByteChunk().get(1)); - TestCase.assertEquals(DateTimeUtils.millisToNanos(dt2.getMillis()), output[3].asLongChunk().get(1)); - TestCase.assertEquals(DateTimeUtils.microsToNanos(dt2.getMicros()), output[4].asLongChunk().get(1)); + TestCase.assertEquals(DateTimeUtils.millisToNanos(DateTimeUtils.epochMillis(dt2)), + output[3].asLongChunk().get(1)); + TestCase.assertEquals(DateTimeUtils.microsToNanos(DateTimeUtils.epochMicros(dt2)), + output[4].asLongChunk().get(1)); TestCase.assertEquals(20000, output[5].asIntChunk().get(1)); TestCase.assertEquals(200000, output[6].asLongChunk().get(1)); diff --git a/extensions/parquet/benchmark/src/benchmark/java/io/deephaven/benchmark/parquet/table/TableWriteBenchmark.java b/extensions/parquet/benchmark/src/benchmark/java/io/deephaven/benchmark/parquet/table/TableWriteBenchmark.java index b1261d9ab79..fa0613c7227 100644 --- a/extensions/parquet/benchmark/src/benchmark/java/io/deephaven/benchmark/parquet/table/TableWriteBenchmark.java +++ b/extensions/parquet/benchmark/src/benchmark/java/io/deephaven/benchmark/parquet/table/TableWriteBenchmark.java @@ -74,7 +74,7 @@ public void setupEnv() throws IOException { "Bl = ii % 8192 == 0 ? null : ii % 2 == 0", "Sym = ii % 64 == 0 ? null : Long.toString(ii % 1000)", "Str = ii % 128 == 0 ? null : Long.toString(ii)", - "DT = ii % 256 == 0 ? null : new DateTime(nowNanos + ii)", + "DT = ii % 256 == 0 ? null : DateTimeUtils.epochNanosToInstant(nowNanos + ii)", // "Ser = ii % 1024 == 0 ? null : new SimpleSerializable(ii)", "Ext = ii % 1024 == 0 ? null : new SimpleExternalizable(ii)", "Fix = ii % 64 == 0 ? null : new BigInteger(Long.toString(ii % 1000), 10)", diff --git a/extensions/parquet/table/src/brotliTest/java/io/deephaven/parquet/table/BrotliParquetTableReadWriteTest.java b/extensions/parquet/table/src/brotliTest/java/io/deephaven/parquet/table/BrotliParquetTableReadWriteTest.java index 73d73394096..2c403f4129a 100644 --- a/extensions/parquet/table/src/brotliTest/java/io/deephaven/parquet/table/BrotliParquetTableReadWriteTest.java +++ b/extensions/parquet/table/src/brotliTest/java/io/deephaven/parquet/table/BrotliParquetTableReadWriteTest.java @@ -60,7 +60,7 @@ private static Table getTableFlat(int size, boolean includeSerializable) { "someShortColumn = (short)i", "someByteColumn = (byte)i", "someCharColumn = (char)i", - "someTime = DateTime.now() + i", + "someTime = DateTimeUtils.now() + i", "someKey = `` + (int)(i /100)", "nullKey = i < -1?`123`:null")); if (includeSerializable) { diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java index ab6a18f6824..b6cda76905c 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.core.JsonProcessingException; import io.deephaven.UncheckedDeephavenException; import io.deephaven.stringset.StringSet; -import io.deephaven.time.DateTime; import io.deephaven.engine.table.impl.locations.TableDataException; import io.deephaven.parquet.table.metadata.CodecInfo; import io.deephaven.parquet.table.metadata.ColumnTypeInfo; @@ -26,6 +25,7 @@ import java.io.File; import java.io.IOException; import java.math.BigInteger; +import java.time.Instant; import java.util.*; import java.util.function.BiFunction; import java.util.function.Supplier; @@ -224,7 +224,7 @@ public static ParquetInstructions readParquetSchema( colDef.baseType = long.class; break; case INT96: - colDef.baseType = DateTime.class; + colDef.baseType = Instant.class; break; case DOUBLE: colDef.baseType = double.class; @@ -359,7 +359,7 @@ public Optional> visit( case MILLIS: case MICROS: case NANOS: - return Optional.of(DateTime.class); + return Optional.of(Instant.class); } } errorString.setValue("TimestampLogicalType, isAdjustedToUTC=" + timestampLogicalType.isAdjustedToUTC() diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetTableWriter.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetTableWriter.java index fc8d9e8c953..f838751387f 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetTableWriter.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetTableWriter.java @@ -36,7 +36,6 @@ import io.deephaven.parquet.table.metadata.TableInfo; import io.deephaven.parquet.table.util.TrackedSeekableChannelsProvider; import io.deephaven.stringset.StringSet; -import io.deephaven.time.DateTime; import io.deephaven.util.QueryConstants; import io.deephaven.util.SafeCloseable; import io.deephaven.util.annotations.VisibleForTesting; @@ -57,6 +56,7 @@ import java.nio.*; import java.nio.file.Path; import java.nio.file.Paths; +import java.time.Instant; import java.util.*; import java.util.function.Function; import java.util.function.LongSupplier; @@ -510,10 +510,10 @@ static void writeColumnSource( } Class columnType = columnSource.getType(); - if (columnType == DateTime.class) { + if (columnType == Instant.class) { // noinspection unchecked - columnSource = (ColumnSource) ReinterpretUtils.dateTimeToLongSource( - (ColumnSource) columnSource); + columnSource = (ColumnSource) ReinterpretUtils.instantToLongSource( + (ColumnSource) columnSource); columnType = columnSource.getType(); } else if (columnType == Boolean.class) { // noinspection unchecked diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/TypeInfos.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/TypeInfos.java index abaf8c4a013..7006521c913 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/TypeInfos.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/TypeInfos.java @@ -8,7 +8,6 @@ import io.deephaven.engine.table.ColumnSource; import io.deephaven.engine.table.impl.CodecLookup; import io.deephaven.stringset.StringSet; -import io.deephaven.time.DateTime; import io.deephaven.util.codec.ExternalizableCodec; import io.deephaven.util.codec.SerializableCodec; import org.apache.commons.lang3.tuple.ImmutablePair; @@ -24,6 +23,7 @@ import java.io.Externalizable; import java.math.BigDecimal; import java.math.BigInteger; +import java.time.Instant; import java.util.*; import java.util.function.Supplier; @@ -45,7 +45,7 @@ class TypeInfos { CharType.INSTANCE, ByteType.INSTANCE, StringType.INSTANCE, - DateTimeType.INSTANCE, + InstantType.INSTANCE, BigIntegerType.INSTANCE }; @@ -360,10 +360,10 @@ public PrimitiveBuilder getBuilder(boolean required, boolean repe /** * TODO: newer versions of parquet seem to support NANOS, but this version seems to only support MICROS */ - private enum DateTimeType implements TypeInfo { + private enum InstantType implements TypeInfo { INSTANCE; - private static final Set> clazzes = Collections.singleton(DateTime.class); + private static final Set> clazzes = Collections.singleton(Instant.class); @Override public Set> getTypes() { diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetColumnLocation.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetColumnLocation.java index c07b88951d7..8f9701f525f 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetColumnLocation.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetColumnLocation.java @@ -616,7 +616,7 @@ private static ToPage makeToPage( toPage = ToLongPage.create(pageType); break; case INT96: - toPage = ToDateTimePageFromInt96.create(pageType); + toPage = ToInstantPageFromInt96.create(pageType); break; case DOUBLE: toPage = ToDoublePage.create(pageType); @@ -702,7 +702,7 @@ private static class LogicalTypeVisitor LogicalTypeAnnotation.TimestampLogicalTypeAnnotation timestampLogicalType) { if (timestampLogicalType.isAdjustedToUTC()) { return Optional - .of(ToDateTimePage.create(componentType, timestampLogicalType.getUnit())); + .of(ToInstantPage.create(componentType, timestampLogicalType.getUnit())); } return Optional.empty(); } diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToDateTimePage.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToInstantPage.java similarity index 56% rename from extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToDateTimePage.java rename to extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToInstantPage.java index 3ccff81a09c..97522a6c84a 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToDateTimePage.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToInstantPage.java @@ -7,26 +7,26 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.vector.ObjectVector; import io.deephaven.vector.ObjectVectorDirect; -import io.deephaven.time.DateTime; import org.apache.parquet.schema.LogicalTypeAnnotation; import org.jetbrains.annotations.NotNull; +import java.time.Instant; import java.util.function.LongFunction; import java.util.function.LongUnaryOperator; -public abstract class ToDateTimePage extends ToLongPage { +public abstract class ToInstantPage extends ToLongPage { @SuppressWarnings("rawtypes") - private static final ToDateTimePage MILLIS_INSTANCE = new ToDateTimePageFromMillis(); + private static final ToInstantPage MILLIS_INSTANCE = new ToInstantPageFromMillis(); @SuppressWarnings("rawtypes") - private static final ToDateTimePage MICROS_INSTANCE = new ToDateTimePageFromMicros(); + private static final ToInstantPage MICROS_INSTANCE = new ToInstantPageFromMicros(); @SuppressWarnings("rawtypes") - private static final ToDateTimePage NANOS_INSTANCE = new ToDateTimePageFromNanos(); + private static final ToInstantPage NANOS_INSTANCE = new ToInstantPageFromNanos(); @SuppressWarnings("unchecked") - public static ToPage create(@NotNull final Class nativeType, + public static ToPage create(@NotNull final Class nativeType, final LogicalTypeAnnotation.TimeUnit unit) { - if (DateTime.class.equals(nativeType)) { + if (Instant.class.equals(nativeType)) { switch (unit) { case MILLIS: return MILLIS_INSTANCE; @@ -40,14 +40,14 @@ public static ToPage create(@NotNull final } throw new IllegalArgumentException( - "The native type for a DateTime column is " + nativeType.getCanonicalName()); + "The native type foran Instant column is " + nativeType.getCanonicalName()); } - protected ToDateTimePage() {} + protected ToInstantPage() {} - protected static ObjectVector makeVectorHelper(final long[] result, - final LongFunction unitToTime) { - DateTime[] to = new DateTime[result.length]; + protected static ObjectVector makeVectorHelper(final long[] result, + final LongFunction unitToTime) { + Instant[] to = new Instant[result.length]; for (int i = 0; i < result.length; ++i) { to[i] = unitToTime.apply(result[i]); @@ -66,23 +66,23 @@ protected static long[] convertResultHelper(@NotNull final Object result, final @Override @NotNull - public final Class getNativeComponentType() { - return DateTime.class; + public final Class getNativeComponentType() { + return Instant.class; } - private static final class ToDateTimePageFromNanos extends ToDateTimePage { + private static final class ToInstantPageFromNanos extends ToInstantPage { @Override @NotNull - public ObjectVector makeVector(long[] result) { - return makeVectorHelper(result, DateTimeUtils::nanosToTime); + public ObjectVector makeVector(long[] result) { + return makeVectorHelper(result, DateTimeUtils::epochNanosToInstant); } } - private static final class ToDateTimePageFromMicros extends ToDateTimePage { + private static final class ToInstantPageFromMicros extends ToInstantPage { @Override @NotNull - public ObjectVector makeVector(long[] result) { - return makeVectorHelper(result, DateTimeUtils::microsToTime); + public ObjectVector makeVector(long[] result) { + return makeVectorHelper(result, DateTimeUtils::epochMicrosToInstant); } @Override @@ -91,11 +91,11 @@ public long[] convertResult(@NotNull final Object result) { } } - private static final class ToDateTimePageFromMillis extends ToDateTimePage { + private static final class ToInstantPageFromMillis extends ToInstantPage { @Override @NotNull - public ObjectVector makeVector(long[] result) { - return makeVectorHelper(result, DateTimeUtils::millisToTime); + public ObjectVector makeVector(long[] result) { + return makeVectorHelper(result, DateTimeUtils::epochMillisToInstant); } @Override diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToDateTimePageFromInt96.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToInstantPageFromInt96.java similarity index 73% rename from extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToDateTimePageFromInt96.java rename to extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToInstantPageFromInt96.java index 6de8f011bbb..a8793f7b9de 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToDateTimePageFromInt96.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToInstantPageFromInt96.java @@ -7,21 +7,21 @@ import io.deephaven.time.DateTimeUtils; import io.deephaven.vector.ObjectVector; import io.deephaven.vector.ObjectVectorDirect; -import io.deephaven.time.DateTime; -import io.deephaven.time.TimeZone; import io.deephaven.configuration.Configuration; import io.deephaven.chunk.ChunkType; import org.apache.parquet.io.api.Binary; import org.jetbrains.annotations.NotNull; import java.nio.ByteBuffer; +import java.time.Instant; +import java.time.ZoneId; /** - * Parquet {@link ToPage} implementation for {@link DateTime}s stored as Int96s representing an Impala + * Parquet {@link ToPage} implementation for {@link Instant}s stored as Int96s representing an Impala * format Timestamp (nanoseconds of day and Julian date encoded as 8 bytes and 4 bytes, respectively) * */ -public class ToDateTimePageFromInt96 implements ToPage { +public class ToInstantPageFromInt96 implements ToPage { /* * Potential references/points of comparison for this algorithm: * https://github.com/apache/iceberg/pull/1184/files @@ -29,7 +29,7 @@ public class ToDateTimePageFromInt96 implements ToPage(); + private static final ToInstantPageFromInt96 INSTANCE = new ToInstantPageFromInt96<>(); private static final long NANOS_PER_DAY = 86400L * 1000 * 1000 * 1000; private static final int JULIAN_OFFSET_TO_UNIX_EPOCH_DAYS = 2_440_588; private static long offset; @@ -38,26 +38,28 @@ public class ToDateTimePageFromInt96 implements ToPage ToDateTimePageFromInt96 create(@NotNull Class nativeType) { - if (DateTime.class.equals(nativeType)) { + public static ToInstantPageFromInt96 create(@NotNull Class nativeType) { + if (Instant.class.equals(nativeType)) { //noinspection unchecked return INSTANCE; } - throw new IllegalArgumentException("The native type for a DateTime column is " + nativeType.getCanonicalName()); + throw new IllegalArgumentException("The native type foran Instant column is " + nativeType.getCanonicalName()); } - private ToDateTimePageFromInt96() { + private ToInstantPageFromInt96() { } /** * Allows overriding the time zone to be used when interpreting Int96 timestamp values. * Default is UTC. Can be set globally with the parameter deephaven.parquet.referenceTimeZone. - * Valid values are time zone Strings which would be used in convertDateTime, such as NY. + * Valid values are time zone Strings which would be used in {@link DateTimeUtils#parseInstant(String) parseInstant}, + * such as NY. + * * @param timeZone */ public static void setReferenceTimeZone(@NotNull final String timeZone) { - offset = DateTimeUtils.nanosOfDay(DateTimeUtils.convertDateTime("1970-01-01T00:00:00 " + timeZone), TimeZone.TZ_UTC); + offset = DateTimeUtils.nanosOfDay(DateTimeUtils.parseInstant("1970-01-01T00:00:00 " + timeZone), ZoneId.of("UTC")); } @Override @@ -77,8 +79,8 @@ public final ChunkType getChunkType() { @Override @NotNull - public final Class getNativeComponentType() { - return DateTime.class; + public final Class getNativeComponentType() { + return Instant.class; } @Override @@ -100,12 +102,12 @@ public final long[] convertResult(@NotNull final Object result) { @Override @NotNull - public final ObjectVector makeVector(@NotNull final long[] result) { - final DateTime[] to = new DateTime[result.length]; + public final ObjectVector makeVector(@NotNull final long[] result) { + final Instant[] to = new Instant[result.length]; final int resultLength = result.length; for (int ri = 0; ri < resultLength; ++ri) { - to[ri] = DateTimeUtils.nanosToTime(result[ri]); + to[ri] = DateTimeUtils.epochNanosToInstant(result[ri]); } return new ObjectVectorDirect<>(to); diff --git a/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/ParquetTableReadWriteTest.java b/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/ParquetTableReadWriteTest.java index 4539b683c42..dc1666bfb9c 100644 --- a/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/ParquetTableReadWriteTest.java +++ b/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/ParquetTableReadWriteTest.java @@ -77,7 +77,7 @@ private static Table getTableFlat(int size, boolean includeSerializable) { "someShortColumn = (short)i", "someByteColumn = (byte)i", "someCharColumn = (char)i", - "someTime = DateTime.now() + i", + "someTime = DateTimeUtils.now() + i", "someKey = `` + (int)(i /100)", "nullKey = i < -1?`123`:null", "bdColumn = java.math.BigDecimal.valueOf(ii).stripTrailingZeros()", @@ -91,7 +91,7 @@ private static Table getTableFlat(int size, boolean includeSerializable) { "nullShortColumn = (short)null", "nullByteColumn = (byte)null", "nullCharColumn = (char)null", - "nullTime = (DateTime)null", + "nullTime = (Instant)null", "nullString = (String)null")); if (includeSerializable) { columns.add("someSerializable = new SomeSillyTest(i)"); @@ -174,7 +174,7 @@ private static Table getGroupedTable(int size, boolean includeSerializable) { "nonNullString = (String[])(((Object)nonNullString) == null?null:nonNullString.toArray())", "nonNullPolyString = (String[])(((Object)nonNullPolyString) == null?null:nonNullPolyString.toArray())", "someBoolColumn = (Boolean[])(((Object)someBoolColumn) == null?null:someBoolColumn.toArray())", - "someTime = (DateTime[])(((Object)someTime) == null?null:someTime.toArray())"); + "someTime = (Instant[])(((Object)someTime) == null?null:someTime.toArray())"); return result; } diff --git a/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/TestParquetTools.java b/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/TestParquetTools.java index 5dc25d65f0e..5d778e20683 100644 --- a/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/TestParquetTools.java +++ b/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/TestParquetTools.java @@ -246,7 +246,7 @@ public void testWriteTableMissingColumns() { "D = NULL_DOUBLE", "Bl = (Boolean) null", "Str = (String) null", - "DT = (DateTime) null"); + "DT = (Instant) null"); final File dest = new File(testRoot + File.separator + "Null.parquet"); ParquetTools.writeTables(new Table[] {TableTools.emptyTable(10_000L)}, nullTable.getDefinition(), new File[] {dest}); diff --git a/extensions/source-support/src/test/java/io/deephaven/generic/region/AppendOnlyFixedSizePageRegionTest.java b/extensions/source-support/src/test/java/io/deephaven/generic/region/AppendOnlyFixedSizePageRegionTest.java index 3faba090071..9b3b1de151b 100644 --- a/extensions/source-support/src/test/java/io/deephaven/generic/region/AppendOnlyFixedSizePageRegionTest.java +++ b/extensions/source-support/src/test/java/io/deephaven/generic/region/AppendOnlyFixedSizePageRegionTest.java @@ -22,7 +22,6 @@ import io.deephaven.engine.util.TableTools; import io.deephaven.io.log.impl.LogOutputStringImpl; import io.deephaven.test.types.OutOfBandTest; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import org.apache.commons.lang3.mutable.MutableInt; import org.jetbrains.annotations.NotNull; @@ -31,6 +30,7 @@ import org.junit.Test; import org.junit.experimental.categories.Category; +import java.time.Instant; import java.util.*; import static org.assertj.core.api.Assertions.*; @@ -46,8 +46,8 @@ public class AppendOnlyFixedSizePageRegionTest { @Test public void testCorrectness() { - final DateTime startTime = DateTime.now(); - final DateTime endTime = DateTimeUtils.plus(startTime, 1_000_000_000L); + final Instant startTime = Instant.now(); + final Instant endTime = DateTimeUtils.plus(startTime, 1_000_000_000L); final SimulationClock clock = new SimulationClock(startTime, endTime, 100_000_000L); final TimeTable[] timeTables = new TimeTable[] { new TimeTable(UpdateGraphProcessor.DEFAULT, clock, startTime, 1000, false), diff --git a/java-client/flight/src/main/java/io/deephaven/client/impl/FieldAdapter.java b/java-client/flight/src/main/java/io/deephaven/client/impl/FieldAdapter.java index 1ae8fd912b3..cd7e4d7debc 100644 --- a/java-client/flight/src/main/java/io/deephaven/client/impl/FieldAdapter.java +++ b/java-client/flight/src/main/java/io/deephaven/client/impl/FieldAdapter.java @@ -81,8 +81,7 @@ public static Field stringField(String name) { } public static Field instantField(String name) { - return field(name, new ArrowType.Timestamp(TimeUnit.NANOSECOND, "UTC"), - "io.deephaven.time.DateTime"); + return field(name, new ArrowType.Timestamp(TimeUnit.NANOSECOND, "UTC"), "java.time.Instant"); } private static Field field(String name, ArrowType arrowType, String deephavenType) { diff --git a/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/ChunkerCompleter.java b/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/ChunkerCompleter.java index c05f40587a7..ca59bf2453e 100644 --- a/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/ChunkerCompleter.java +++ b/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/ChunkerCompleter.java @@ -7,7 +7,6 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.table.TableDefinition; import io.deephaven.engine.context.QueryScope.MissingVariableException; -import io.deephaven.time.DateTime; import io.deephaven.engine.util.VariableProvider; import io.deephaven.io.logger.Logger; import io.deephaven.lang.api.HasScope; @@ -22,6 +21,7 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.time.Instant; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.regex.Pattern; @@ -1400,7 +1400,7 @@ private Class guessColumnType(String columnName, List scope, Complet case "Date": return String.class; case "Timestamp": - return DateTime.class; + return Instant.class; } // failure; allow anything... diff --git a/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/CompletionRequest.java b/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/CompletionRequest.java index b5771d21f0e..3d0ce0543e7 100644 --- a/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/CompletionRequest.java +++ b/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/CompletionRequest.java @@ -158,7 +158,7 @@ private TableDefinition convertNewTableInvocation(final ChunkerInvoke invoke) { case "stringCol": columns.add(ColumnDefinition.ofString(colName)); break; - case "dateTimeCol": + case "instantCol": columns.add(ColumnDefinition.ofTime(colName)); break; case "longCol": diff --git a/open-api/lang-tools/src/test/groovy/io/deephaven/lang/completion/ColumnExpressionCompletionHandlerTest.groovy b/open-api/lang-tools/src/test/groovy/io/deephaven/lang/completion/ColumnExpressionCompletionHandlerTest.groovy index 214ead79601..1634a09023a 100644 --- a/open-api/lang-tools/src/test/groovy/io/deephaven/lang/completion/ColumnExpressionCompletionHandlerTest.groovy +++ b/open-api/lang-tools/src/test/groovy/io/deephaven/lang/completion/ColumnExpressionCompletionHandlerTest.groovy @@ -9,14 +9,15 @@ import io.deephaven.internal.log.LoggerFactory import io.deephaven.io.logger.Logger import io.deephaven.lang.parse.CompletionParser import io.deephaven.proto.backplane.script.grpc.CompletionItem -import io.deephaven.time.DateTime import io.deephaven.util.SafeCloseable import spock.lang.Specification import spock.lang.Unroll +import java.time.Instant + class ColumnExpressionCompletionHandlerTest extends Specification implements ChunkerCompleterMixin { - private static String src_(String methodName = 't', String columnName = 'Date', String completion = "cur") { + private static String src_(String methodName = 't', String columnName = 'Date', String completion = "prev") { return """u = ${methodName}.update('$columnName = $completion""" } @@ -34,7 +35,7 @@ class ColumnExpressionCompletionHandlerTest extends Specification implements Chu def "Completion at #position should find typesafe column completion for partially completed column expressions"(int position, Set completions) { given: -//u = t.update('Date=cur +//u = t.update('Date=prev String src = src_() CompletionParser p = new CompletionParser() doc = p.parse(src) @@ -43,7 +44,7 @@ class ColumnExpressionCompletionHandlerTest extends Specification implements Chu VariableProvider variables = Mock(VariableProvider) { (0..1) * getVariableNames() >> ['t'] (0..1) * getVariableType('t') >> Table - (0..1) * getTableDefinition('t') >> TableDefinition.from(['Date', 'DateClock'], [DateTime, Clock] + (0..1) * getTableDefinition('t') >> TableDefinition.from(['Date', 'DateTime'], [String, Instant] ) } @@ -68,13 +69,27 @@ class ColumnExpressionCompletionHandlerTest extends Specification implements Chu position | completions // between `e=`, expect method name completions, and a single column name completion, for Clock 19 | [ - src_('t', 'Date', "currentTime()'"), - src_('t', 'Date', "currentTimeMillis()'"), + src_('t', 'Date', "previousDay("), + src_('t', 'Date', "previousDay(\""), + src_('t', 'Date', "previousDay()'"), + src_('t', 'Date', "previousBusinessDay("), + src_('t', 'Date', "previousBusinessDay(\""), + src_('t', 'Date', "previousBusinessDay()'"), + src_('t', 'Date', "previousNonBusinessDay("), + src_('t', 'Date', "previousNonBusinessDay(\""), + src_('t', 'Date', "previousNonBusinessDay()'"), ] 18 | [ - src_('t', 'Date', "currentTime()'"), - src_('t', 'Date', "currentTimeMillis()'"), - src_('t', 'DateClock', "cur"), + src_('t', 'Date', "previousDay("), + src_('t', 'Date', "previousDay(\""), + src_('t', 'Date', "previousDay()'"), + src_('t', 'Date', "previousBusinessDay("), + src_('t', 'Date', "previousBusinessDay(\""), + src_('t', 'Date', "previousBusinessDay()'"), + src_('t', 'Date', "previousNonBusinessDay("), + src_('t', 'Date', "previousNonBusinessDay(\""), + src_('t', 'Date', "previousNonBusinessDay()'"), + src_('t', 'DateTime', "prev"), ] } diff --git a/plugin/figure/src/main/java/io/deephaven/figure/FigureWidgetTranslator.java b/plugin/figure/src/main/java/io/deephaven/figure/FigureWidgetTranslator.java index fb6d9f53d79..41bde1ae202 100644 --- a/plugin/figure/src/main/java/io/deephaven/figure/FigureWidgetTranslator.java +++ b/plugin/figure/src/main/java/io/deephaven/figure/FigureWidgetTranslator.java @@ -58,8 +58,7 @@ import io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault; import io.deephaven.time.calendar.BusinessCalendar; import org.jetbrains.annotations.NotNull; -import org.joda.time.format.DateTimeFormat; -import org.joda.time.format.DateTimeFormatter; +import java.time.format.DateTimeFormatter; import java.awt.*; import java.time.DayOfWeek; @@ -79,7 +78,7 @@ import java.util.stream.Stream; public class FigureWidgetTranslator { - private static final DateTimeFormatter HOLIDAY_TIME_FORMAT = DateTimeFormat.forPattern("HH:mm"); + private static final DateTimeFormatter HOLIDAY_TIME_FORMAT = DateTimeFormatter.ofPattern("HH:mm"); private final List errorList = new ArrayList<>(); private final Map tablePositionMap = new HashMap<>(); @@ -544,7 +543,7 @@ private BusinessCalendarDescriptor translateBusinessCalendar(AxisTransformBusine final BusinessCalendar businessCalendar = axisTransform.getBusinessCalendar(); final BusinessCalendarDescriptor.Builder businessCalendarDescriptor = BusinessCalendarDescriptor.newBuilder(); businessCalendarDescriptor.setName(businessCalendar.name()); - businessCalendarDescriptor.setTimeZone(businessCalendar.timeZone().getTimeZone().getID()); + businessCalendarDescriptor.setTimeZone(businessCalendar.timeZone().getId()); Arrays.stream(BusinessCalendarDescriptor.DayOfWeek.values()).filter(dayOfWeek -> { if (dayOfWeek == BusinessCalendarDescriptor.DayOfWeek.UNRECOGNIZED) { return false; @@ -568,10 +567,12 @@ private BusinessCalendarDescriptor translateBusinessCalendar(AxisTransformBusine localDate.setDay(entry.getKey().getDayOfMonth()); final Holiday.Builder holiday = Holiday.newBuilder(); Arrays.stream(entry.getValue().getBusinessPeriods()).map(bp -> { - final String open = HOLIDAY_TIME_FORMAT.withZone(businessCalendar.timeZone().getTimeZone()) - .print(bp.getStartTime().getMillis()); - final String close = HOLIDAY_TIME_FORMAT.withZone(businessCalendar.timeZone().getTimeZone()) - .print(bp.getEndTime().getMillis()); + // noinspection ConstantConditions + final String open = HOLIDAY_TIME_FORMAT.withZone(businessCalendar.timeZone()) + .format(bp.getStartTime()); + // noinspection ConstantConditions + final String close = HOLIDAY_TIME_FORMAT.withZone(businessCalendar.timeZone()) + .format(bp.getEndTime()); final BusinessPeriod.Builder businessPeriod = BusinessPeriod.newBuilder(); businessPeriod.setOpen(open); businessPeriod.setClose(close); diff --git a/props/configs/src/main/resources/calendar/BEIJING.calendar b/props/configs/src/main/resources/calendar/BEIJING.calendar index 92734f7abc2..f02d336d3ca 100644 --- a/props/configs/src/main/resources/calendar/BEIJING.calendar +++ b/props/configs/src/main/resources/calendar/BEIJING.calendar @@ -4,7 +4,7 @@ BEIJING - TZ_SHG + Asia/Shanghai en US diff --git a/props/configs/src/main/resources/calendar/DTB.calendar b/props/configs/src/main/resources/calendar/DTB.calendar index f3ac4cf202a..7f6e71f9658 100644 --- a/props/configs/src/main/resources/calendar/DTB.calendar +++ b/props/configs/src/main/resources/calendar/DTB.calendar @@ -4,7 +4,7 @@ DTB - TZ_CE + Europe/Berlin 09:00,20:00 Saturday diff --git a/props/configs/src/main/resources/calendar/GBLO.calendar b/props/configs/src/main/resources/calendar/GBLO.calendar index bc98f25524b..d11c89da937 100644 --- a/props/configs/src/main/resources/calendar/GBLO.calendar +++ b/props/configs/src/main/resources/calendar/GBLO.calendar @@ -4,7 +4,7 @@ GBLO - TZ_LON + Europe/London 09:30,14:30 Saturday diff --git a/props/configs/src/main/resources/calendar/GLOBAL.calendar b/props/configs/src/main/resources/calendar/GLOBAL.calendar index ebc32556c2a..5c73b3b5ccd 100644 --- a/props/configs/src/main/resources/calendar/GLOBAL.calendar +++ b/props/configs/src/main/resources/calendar/GLOBAL.calendar @@ -4,7 +4,7 @@ GLOBAL - TZ_NY + America/New_York 09:30,16:00 Saturday diff --git a/props/configs/src/main/resources/calendar/JPOSE.calendar b/props/configs/src/main/resources/calendar/JPOSE.calendar index 2cd0d1b4e56..a9f6e91c488 100644 --- a/props/configs/src/main/resources/calendar/JPOSE.calendar +++ b/props/configs/src/main/resources/calendar/JPOSE.calendar @@ -4,7 +4,7 @@ JPOSE - TZ_JP + Asia/Tokyo 09:00,11:30 12:30,15:00 diff --git a/props/configs/src/main/resources/calendar/LSE.calendar b/props/configs/src/main/resources/calendar/LSE.calendar index d46da55403c..e204bba0534 100644 --- a/props/configs/src/main/resources/calendar/LSE.calendar +++ b/props/configs/src/main/resources/calendar/LSE.calendar @@ -4,7 +4,7 @@ LSE - TZ_UTC + UTC 08:00,16:30 Saturday diff --git a/props/configs/src/main/resources/calendar/MOSCOW.calendar b/props/configs/src/main/resources/calendar/MOSCOW.calendar index 95a03dd72af..1aabe7af46a 100644 --- a/props/configs/src/main/resources/calendar/MOSCOW.calendar +++ b/props/configs/src/main/resources/calendar/MOSCOW.calendar @@ -4,7 +4,7 @@ MOSCOW - TZ_MOS + Europe/Moscow 09:30,19:00 Saturday diff --git a/props/configs/src/main/resources/calendar/MUMBAI.calendar b/props/configs/src/main/resources/calendar/MUMBAI.calendar index b19a7a46182..cfbc2744fd3 100644 --- a/props/configs/src/main/resources/calendar/MUMBAI.calendar +++ b/props/configs/src/main/resources/calendar/MUMBAI.calendar @@ -4,7 +4,7 @@ MUMBAI - TZ_IN + Asia/Kolkata 09:15,15:30 Saturday diff --git a/props/configs/src/main/resources/calendar/USNY.calendar b/props/configs/src/main/resources/calendar/USNY.calendar index 1453961a48c..e755f8cd248 100644 --- a/props/configs/src/main/resources/calendar/USNY.calendar +++ b/props/configs/src/main/resources/calendar/USNY.calendar @@ -4,7 +4,7 @@ USNY - TZ_NY + America/New_York 09:30,16:00 Saturday diff --git a/props/configs/src/main/resources/calendar/USNYSE.calendar b/props/configs/src/main/resources/calendar/USNYSE.calendar index 6081c4564c1..3b4050adb8d 100644 --- a/props/configs/src/main/resources/calendar/USNYSE.calendar +++ b/props/configs/src/main/resources/calendar/USNYSE.calendar @@ -4,7 +4,7 @@ USNYSE - TZ_NY + America/New_York 09:30,16:00 Saturday diff --git a/props/configs/src/main/resources/calendar/USNYSEWEEKDAYS.calendar b/props/configs/src/main/resources/calendar/USNYSEWEEKDAYS.calendar index 13f6b86fed5..11b65deaee1 100644 --- a/props/configs/src/main/resources/calendar/USNYSEWEEKDAYS.calendar +++ b/props/configs/src/main/resources/calendar/USNYSEWEEKDAYS.calendar @@ -4,7 +4,7 @@ USNYSEWEEKDAYS - TZ_NY + America/New_York en US diff --git a/props/configs/src/main/resources/calendar/UTC.calendar b/props/configs/src/main/resources/calendar/UTC.calendar index 0fa0708c62b..c92ec9b5b10 100644 --- a/props/configs/src/main/resources/calendar/UTC.calendar +++ b/props/configs/src/main/resources/calendar/UTC.calendar @@ -4,7 +4,7 @@ UTC - TZ_UTC + UTC 00:00,24:00 diff --git a/props/configs/src/main/resources/default_time_zone_aliases.csv b/props/configs/src/main/resources/default_time_zone_aliases.csv new file mode 100644 index 00000000000..59f847af7fe --- /dev/null +++ b/props/configs/src/main/resources/default_time_zone_aliases.csv @@ -0,0 +1,7 @@ +ET,America/New_York +CT,America/Chicago +MT,America/Denver +PT,America/Los_Angeles +HK,Asia/Hong_Kong +JP,Asia/Tokyo +LON,Europe/London diff --git a/props/configs/src/main/resources/dh-defaults.prop b/props/configs/src/main/resources/dh-defaults.prop index 2745307b79a..d3dbbbdc2b6 100644 --- a/props/configs/src/main/resources/dh-defaults.prop +++ b/props/configs/src/main/resources/dh-defaults.prop @@ -27,6 +27,9 @@ StringUtils.cacheSize=0 TrackedFileHandleFactory.maxOpenFiles=1024 +###### Time Zone & Calendars ##### +user.timezone=America/New_York +timezone.aliases=/default_time_zone_aliases.csv Calendar.default=USNYSE Calendar.importPath=/default_calendar_imports.txt @@ -38,9 +41,6 @@ GroovyDeephavenSession.initScripts=core/deephaven_core_utils.groovy PythonDeephavenSession.initScripts=core/deephaven_jpy_init.py -###### Server's timezone ##### -server.timezone=America/New_York - default.processEnvironmentFactory=io.deephaven.util.process.DefaultProcessEnvironment$Factory deephaven.console.type=python diff --git a/props/test-configs/src/main/resources/dh-tests.prop b/props/test-configs/src/main/resources/dh-tests.prop index 9eb7205c665..8457c2441de 100644 --- a/props/test-configs/src/main/resources/dh-tests.prop +++ b/props/test-configs/src/main/resources/dh-tests.prop @@ -35,6 +35,9 @@ TrackedFileHandleFactory.maxOpenFiles=1024 TableDataRefreshService.tableLocationsRefreshMillis=10000 TableDataRefreshService.tableSizeRefreshMillis=1000 +###### Time Zone & Calendars ##### +user.timezone=America/New_York +timezone.aliases=/test_time_zone_aliases.csv Calendar.default=USNYSE Calendar.importPath=/default_calendar_imports.txt @@ -60,9 +63,6 @@ GroovyDeephavenSession.initScripts=core/deephaven_core_utils.groovy PythonDeephavenSession.initScripts=core/deephaven_jpy_init.py -###### Server's timezone ##### -server.timezone=America/New_York - ###### Measurement Options ###### statsdriver.enabled=false allocation.stats.enabled=false diff --git a/props/test-configs/src/main/resources/test_time_zone_aliases.csv b/props/test-configs/src/main/resources/test_time_zone_aliases.csv new file mode 100644 index 00000000000..6f751c08d2e --- /dev/null +++ b/props/test-configs/src/main/resources/test_time_zone_aliases.csv @@ -0,0 +1,24 @@ +NY,America/New_York +#ET,America/New_York +MN,America/Chicago +#CT,America/Chicago +MT,America/Denver +PT,America/Los_Angeles +HI,Pacific/Honolulu +BT,America/Sao_Paulo +KR,Asia/Seoul +HK,Asia/Hong_Kong +JP,Asia/Tokyo +AT,Canada/Atlantic +NF,Canada/Newfoundland +AL,America/Anchorage +IN,Asia/Kolkata +CE,Europe/Berlin +SG,Asia/Singapore +LON,Europe/London +MOS,Europe/Moscow +SHG,Asia/Shanghai +CH,Europe/Zurich +NL,Europe/Amsterdam +TW,Asia/Taipei +SYD,Australia/Sydney diff --git a/py/client/pydeephaven/_arrow.py b/py/client/pydeephaven/_arrow.py index 4fa40549652..6d89903938d 100644 --- a/py/client/pydeephaven/_arrow.py +++ b/py/client/pydeephaven/_arrow.py @@ -27,7 +27,7 @@ pa.timestamp('s'): '', pa.timestamp('ms'): '', pa.timestamp('us'): '', - pa.timestamp('ns'): 'io.deephaven.time.DateTime', + pa.timestamp('ns'): 'java.time.Instant', pa.date32(): '', pa.date64(): '', pa.duration('s'): '', @@ -56,7 +56,7 @@ def map_arrow_type(arrow_type: pa.DataType) -> Dict[str, str]: if not dh_type: # if this is a case of timestamp with tz specified if isinstance(arrow_type, pa.TimestampType): - dh_type = "io.deephaven.time.DateTime" + dh_type = "java.time.Instant" if not dh_type: raise DHError(message=f'unsupported arrow data type : {arrow_type}, refer to ' diff --git a/py/client/tests/test_updateby.py b/py/client/tests/test_updateby.py index b5a58caa608..b0da0f1e459 100644 --- a/py/client/tests/test_updateby.py +++ b/py/client/tests/test_updateby.py @@ -15,7 +15,7 @@ class UpdateByTestCase(BaseTestCase): def setUp(self): super().setUp() pa_table = csv.read_csv(self.csv_file) - self.static_table = self.session.import_table(pa_table).update(["Timestamp=currentTime()"]) + self.static_table = self.session.import_table(pa_table).update(["Timestamp=now()"]) self.ticking_table = self.session.time_table(1000000).update( ["a = i", "b = i*i % 13", "c = i * 13 % 23", "d = a + b", "e = a - b"]) diff --git a/py/client2/demo_process_ticking.py b/py/client2/demo_process_ticking.py index b6696714e22..f33b2ef4f74 100644 --- a/py/client2/demo_process_ticking.py +++ b/py/client2/demo_process_ticking.py @@ -42,7 +42,7 @@ def _process_deltas(self, table: dh.Table, col_index: int, # run this on the IDE # from deephaven import time_table -# demo3m = time_table("00:00:00.000001").update(["Int64Value = (long)(Math.random() * 1000)", "Bucket = (long)(ii % 1_000_000)"]).last_by("Bucket") +# demo3m = time_table("PT00:00:00.000001").update(["Int64Value = (long)(Math.random() * 1000)", "Bucket = (long)(ii % 1_000_000)"]).last_by("Bucket") # sum3m = demo3m.view(["Int64Value"]).sum_by() client = dh.Client.connect("localhost:10000") diff --git a/py/client2/demo_process_ticking_generator.py b/py/client2/demo_process_ticking_generator.py index 578e3e3c54d..e3094185ddc 100644 --- a/py/client2/demo_process_ticking_generator.py +++ b/py/client2/demo_process_ticking_generator.py @@ -122,7 +122,7 @@ def _process_deltas(self, col_chunks: DictGeneratorType, parity: int) -> int: # run this on the IDE # from deephaven import time_table -# demo3m = time_table("00:00:00.000001").update(["Int64Value = (long)(Math.random() * 1000)", "Bucket = (long)(ii % 1_000_000)"]).last_by("Bucket") +# demo3m = time_table("PT00:00:00.000001").update(["Int64Value = (long)(Math.random() * 1000)", "Bucket = (long)(ii % 1_000_000)"]).last_by("Bucket") # sum3m = demo3m.view(["Int64Value"]).sum_by() client = dh.Client.connect("localhost:10000") diff --git a/py/server/deephaven/arrow.py b/py/server/deephaven/arrow.py index 9b84418e4a9..c9acd82f131 100644 --- a/py/server/deephaven/arrow.py +++ b/py/server/deephaven/arrow.py @@ -35,7 +35,7 @@ pa.timestamp('s'): '', pa.timestamp('ms'): '', pa.timestamp('us'): '', - pa.timestamp('ns'): 'io.deephaven.time.DateTime', + pa.timestamp('ns'): 'java.time.Instant', pa.date32(): '', pa.date64(): '', pa.duration('s'): '', @@ -66,7 +66,7 @@ def _map_arrow_type(arrow_type) -> Dict[str, str]: if not dh_type: # if this is a case of timestamp with tz specified if isinstance(arrow_type, pa.TimestampType): - dh_type = "io.deephaven.time.DateTime" + dh_type = "java.time.Instant" if not dh_type: raise DHError(message=f'unsupported arrow data type : {arrow_type}, refer to ' diff --git a/py/server/deephaven/calendar.py b/py/server/deephaven/calendar.py index d7a2036b6b7..a7380006481 100644 --- a/py/server/deephaven/calendar.py +++ b/py/server/deephaven/calendar.py @@ -10,7 +10,7 @@ import jpy from deephaven._wrapper import JObjectWrapper -from deephaven.time import TimeZone, DateTime +from deephaven.time import TimeZone, Instant from deephaven import DHError @@ -83,12 +83,12 @@ def j_object(self) -> jpy.JType: return self.j_business_period @property - def start_time(self) -> DateTime: + def start_time(self) -> Instant: """ The start of the period. """ return self.j_business_period.getStartTime() @property - def end_time(self) -> DateTime: + def end_time(self) -> Instant: """ The end of the period. """ return self.j_business_period.getEndTime() @@ -123,12 +123,12 @@ def business_periods(self) -> List[BusinessPeriod]: return periods @property - def start_of_day(self) -> DateTime: + def start_of_day(self) -> Instant: """ The start of the business day. """ return self.j_business_schedule.getStartOfBusinessDay() @property - def end_of_day(self) -> DateTime: + def end_of_day(self) -> Instant: """ The end of the business day. """ return self.j_business_schedule.getEndOfBusinessDay() @@ -140,23 +140,23 @@ def is_business_day(self) -> bool: """ return self.j_business_schedule.isBusinessDay() - def is_business_time(self, time: DateTime) -> bool: + def is_business_time(self, time: Instant) -> bool: """ Whether the specified time is a business time for the day. Args: - time (DateTime): the time during the day + time (Instant): the time during the day Return: bool """ return self.j_business_schedule.isBusinessTime(time) - def business_time_elapsed(self, time: DateTime) -> int: + def business_time_elapsed(self, time: Instant) -> int: """ Returns the amount of business time in nanoseconds that has elapsed on the given day by the specified time. Args: - time (DateTime): the time during the day + time (Instant): the time during the day Returns: int @@ -179,7 +179,7 @@ def current_day(self) -> str: @property def time_zone(self) -> TimeZone: """ Returns the timezone of the calendar. """ - return TimeZone(self.j_calendar.timeZone()) + return self.j_calendar.timeZone() def previous_day(self, date: str) -> str: """ Gets the day prior to the given date. diff --git a/py/server/deephaven/column.py b/py/server/deephaven/column.py index 3f5bec3d7ad..91c2f84592d 100644 --- a/py/server/deephaven/column.py +++ b/py/server/deephaven/column.py @@ -201,7 +201,7 @@ def datetime_col(name: str, data: Sequence) -> InputColumn: Returns: a new input column """ - return InputColumn(name=name, data_type=dtypes.DateTime, input_data=data) + return InputColumn(name=name, data_type=dtypes.Instant, input_data=data) def pyobj_col(name: str, data: Sequence) -> InputColumn: diff --git a/py/server/deephaven/config/__init__.py b/py/server/deephaven/config/__init__.py index cdc5c971cbd..7571f604a32 100644 --- a/py/server/deephaven/config/__init__.py +++ b/py/server/deephaven/config/__init__.py @@ -5,20 +5,11 @@ """ This module provides access to the Deephaven server configuration. """ import jpy -from deephaven import DHError -from deephaven.time import TimeZone +from deephaven.dtypes import TimeZone -_JDHConfig = jpy.get_type("io.deephaven.configuration.Configuration") -_JDateTimeZone = jpy.get_type("org.joda.time.DateTimeZone") +_JDateTimeUtils = jpy.get_type("io.deephaven.time.DateTimeUtils") def get_server_timezone() -> TimeZone: """ Returns the server's time zone. """ - try: - j_timezone = _JDateTimeZone.forTimeZone(_JDHConfig.getInstance().getServerTimezone()) - for tz in TimeZone: - if j_timezone == tz.value.getTimeZone(): - return tz - raise NotImplementedError("can't find the time zone in the TimeZone Enum.") - except Exception as e: - raise DHError(e, message=f"failed to find a recognized time zone") from e + return _JDateTimeUtils.timeZone() diff --git a/py/server/deephaven/csv.py b/py/server/deephaven/csv.py index 06d1dac5556..c57882da15f 100644 --- a/py/server/deephaven/csv.py +++ b/py/server/deephaven/csv.py @@ -80,7 +80,7 @@ def read( dht.float_: _JParsers.FLOAT_FAST, dht.double: _JParsers.DOUBLE, dht.string: _JParsers.STRING, - dht.DateTime: _JParsers.DATETIME, + dht.Instant: _JParsers.DATETIME, } for column_name, column_type in header.items(): csv_specs_builder.putParserForName(column_name, parser_map[column_type]) diff --git a/py/server/deephaven/dtypes.py b/py/server/deephaven/dtypes.py index 7a26326dac9..8fdeedb3b4e 100644 --- a/py/server/deephaven/dtypes.py +++ b/py/server/deephaven/dtypes.py @@ -102,10 +102,20 @@ def __call__(self, *args, **kwargs): """Java BigDecimal type""" StringSet = DType(j_name="io.deephaven.stringset.StringSet") """Deephaven StringSet type""" -DateTime = DType(j_name="io.deephaven.time.DateTime", np_type=np.dtype("datetime64[ns]")) -"""Deephaven DateTime type""" -Period = DType(j_name="io.deephaven.time.Period") -"""Deephaven time period type""" +Instant = DType(j_name="java.time.Instant", np_type=np.dtype("datetime64[ns]")) +"""Instant date time type""" +LocalDate = DType(j_name="java.time.LocalDate") +"""Local date type""" +LocalTime = DType(j_name="java.time.LocalTime") +"""Local time type""" +ZonedDateTime = DType(j_name="java.time.ZonedDateTime") +"""Zoned date time type""" +Duration = DType(j_name="java.time.Duration") +"""Time period type, which is a unit of time in terms of clock time (24-hour days, hours, minutes, seconds, and nanoseconds).""" +Period = DType(j_name="java.time.Period") +"""Time period type, which is a unit of time in terms of calendar time (days, weeks, months, years, etc.).""" +TimeZone = DType(j_name="java.time.ZoneId") +"""Time zone type.""" PyObject = DType(j_name="org.jpy.PyObject") """Python object type""" JObject = DType(j_name="java.lang.Object") @@ -138,8 +148,10 @@ def __call__(self, *args, **kwargs): """Double-precision floating-point array type""" string_array = DType(j_name='[Ljava.lang.String;') """Java String array type""" -datetime_array = DType(j_name='[Lio.deephaven.time.DateTime;') -"""Deephaven DateTime array type""" +instant_array = DType(j_name='[Ljava.time.Instant;') +"""Java Instant array type""" +zdt_array = DType(j_name='[Ljava.time.ZonedDateTime;') +"""Zoned date time array type""" _PRIMITIVE_DTYPE_NULL_MAP = { bool_: NULL_BYTE, @@ -205,9 +217,9 @@ def array(dtype: DType, seq: Sequence, remap: Callable[[Any], Any] = None) -> jp bytes_ = seq.astype(dtype=np.int8) j_bytes = array(byte, bytes_) seq = _JPrimitiveArrayConversionUtility.translateArrayByteToBoolean(j_bytes) - elif dtype == DateTime: + elif dtype == Instant: longs = jpy.array('long', seq.astype('datetime64[ns]').astype('int64')) - seq = _JPrimitiveArrayConversionUtility.translateArrayLongToDateTime(longs) + seq = _JPrimitiveArrayConversionUtility.translateArrayLongToInstant(longs) return jpy.array(dtype.j_type, seq) except Exception as e: @@ -244,7 +256,7 @@ def from_np_dtype(np_dtype: Union[np.dtype, pd.api.extensions.ExtensionDtype]) - return string if np_dtype.kind in {'M'}: - return DateTime + return Instant for _, dtype in _j_name_type_map.items(): if np.dtype(dtype.np_type) == np_dtype and dtype.np_type != np.object_: diff --git a/py/server/deephaven/numpy.py b/py/server/deephaven/numpy.py index 825a9fe7e3f..df800238ec0 100644 --- a/py/server/deephaven/numpy.py +++ b/py/server/deephaven/numpy.py @@ -28,8 +28,8 @@ def column_to_numpy_array(col_def: Column, j_array: jpy.JType) -> np.ndarray: try: if col_def.data_type.is_primitive: np_array = np.frombuffer(j_array, col_def.data_type.np_type) - elif col_def.data_type == dtypes.DateTime: - longs = _JPrimitiveArrayConversionUtility.translateArrayDateTimeToLong(j_array) + elif col_def.data_type == dtypes.Instant: + longs = _JPrimitiveArrayConversionUtility.translateArrayInstantToLong(j_array) np_long_array = np.frombuffer(longs, np.int64) np_array = np_long_array.view(col_def.data_type.np_type) elif col_def.data_type == dtypes.bool_: diff --git a/py/server/deephaven/plot/axisformat.py b/py/server/deephaven/plot/axisformat.py index ae90a81ccee..1fe521a3611 100644 --- a/py/server/deephaven/plot/axisformat.py +++ b/py/server/deephaven/plot/axisformat.py @@ -62,4 +62,4 @@ def __init__(self, tz: TimeZone = None): if not tz: self.j_axis_format = _JNanosAxisFormat() else: - self.j_axis_format = _JNanosAxisFormat(tz.value) + self.j_axis_format = _JNanosAxisFormat(tz) diff --git a/py/server/deephaven/plot/figure.py b/py/server/deephaven/plot/figure.py index bce3876e37b..5c8ad278e21 100644 --- a/py/server/deephaven/plot/figure.py +++ b/py/server/deephaven/plot/figure.py @@ -19,7 +19,7 @@ from deephaven import DHError, dtypes from deephaven._wrapper import JObjectWrapper -from deephaven.dtypes import DateTime, PyObject +from deephaven.dtypes import Instant, PyObject from deephaven.plot import LineStyle, PlotStyle, Color, Font, AxisFormat, Shape, AxisTransform, \ SelectableDataSet from deephaven.table import Table @@ -1008,9 +1008,9 @@ def plot_cat( series_name: str, t: Union[Table, SelectableDataSet] = None, category: Union[str, List[str], List[int], List[float]] = None, - y: Union[str, List[int], List[float], List[DateTime]] = None, - y_low: Union[str, List[int], List[float], List[DateTime]] = None, - y_high: Union[str, List[int], List[float], List[DateTime]] = None, + y: Union[str, List[int], List[float], List[Instant]] = None, + y_low: Union[str, List[int], List[float], List[Instant]] = None, + y_high: Union[str, List[int], List[float], List[Instant]] = None, by: List[str] = None, ) -> Figure: """Creates a plot with a discrete, categorical axis. Categorical data must not have duplicates. @@ -1019,9 +1019,9 @@ def plot_cat( series_name (str): name of the data series t (Union[Table, SelectableDataSet]): table or selectable data set (e.g. OneClick filterable table) category (Union[str, List[str], List[int], List[float]]): discrete data or column name - y (Union[str, List[int], List[float], List[DateTime]]): y-values or column name - y_low (Union[str, List[int], List[float], List[DateTime]]): lower y error bar - y_high (Union[str, List[int], List[float], List[DateTime]]): upper y error bar + y (Union[str, List[int], List[float], List[Instant]]): y-values or column name + y_low (Union[str, List[int], List[float], List[Instant]]): lower y error bar + y_high (Union[str, List[int], List[float], List[Instant]]): upper y error bar by (List[str]): columns that hold grouping data Returns: @@ -1045,13 +1045,13 @@ def plot_cat( category = _convert_j("category", category, [str, List[str], List[int], List[float]]) if y is not None: non_null_args.add("y") - y = _convert_j("y", y, [str, List[int], List[float], List[DateTime]]) + y = _convert_j("y", y, [str, List[int], List[float], List[Instant]]) if y_low is not None: non_null_args.add("y_low") - y_low = _convert_j("y_low", y_low, [str, List[int], List[float], List[DateTime]]) + y_low = _convert_j("y_low", y_low, [str, List[int], List[float], List[Instant]]) if y_high is not None: non_null_args.add("y_high") - y_high = _convert_j("y_high", y_high, [str, List[int], List[float], List[DateTime]]) + y_high = _convert_j("y_high", y_high, [str, List[int], List[float], List[Instant]]) if by is not None: non_null_args.add("by") by = _no_convert_j("by", by, [List[str]]) @@ -1115,11 +1115,11 @@ def plot_ohlc( self, series_name: str, t: Union[Table, SelectableDataSet] = None, - x: Union[str, List[DateTime]] = None, - open: Union[str, List[int], List[float], List[DateTime]] = None, - high: Union[str, List[int], List[float], List[DateTime]] = None, - low: Union[str, List[int], List[float], List[DateTime]] = None, - close: Union[str, List[int], List[float], List[DateTime]] = None, + x: Union[str, List[Instant]] = None, + open: Union[str, List[int], List[float], List[Instant]] = None, + high: Union[str, List[int], List[float], List[Instant]] = None, + low: Union[str, List[int], List[float], List[Instant]] = None, + close: Union[str, List[int], List[float], List[Instant]] = None, by: List[str] = None, ) -> Figure: """Creates an open-high-low-close plot. @@ -1127,11 +1127,11 @@ def plot_ohlc( Args: series_name (str): name of the data series t (Union[Table, SelectableDataSet]): table or selectable data set (e.g. OneClick filterable table) - x (Union[str, List[DateTime]]): x-values or column name - open (Union[str, List[int], List[float], List[DateTime]]): bar open y-values. - high (Union[str, List[int], List[float], List[DateTime]]): bar high y-values. - low (Union[str, List[int], List[float], List[DateTime]]): bar low y-values. - close (Union[str, List[int], List[float], List[DateTime]]): bar close y-values. + x (Union[str, List[Instant]]): x-values or column name + open (Union[str, List[int], List[float], List[Instant]]): bar open y-values. + high (Union[str, List[int], List[float], List[Instant]]): bar high y-values. + low (Union[str, List[int], List[float], List[Instant]]): bar low y-values. + close (Union[str, List[int], List[float], List[Instant]]): bar close y-values. by (List[str]): columns that hold grouping data Returns: @@ -1152,19 +1152,19 @@ def plot_ohlc( t = _convert_j("t", t, [Table, SelectableDataSet]) if x is not None: non_null_args.add("x") - x = _convert_j("x", x, [str, List[DateTime]]) + x = _convert_j("x", x, [str, List[Instant]]) if open is not None: non_null_args.add("open") - open = _convert_j("open", open, [str, List[int], List[float], List[DateTime]]) + open = _convert_j("open", open, [str, List[int], List[float], List[Instant]]) if high is not None: non_null_args.add("high") - high = _convert_j("high", high, [str, List[int], List[float], List[DateTime]]) + high = _convert_j("high", high, [str, List[int], List[float], List[Instant]]) if low is not None: non_null_args.add("low") - low = _convert_j("low", low, [str, List[int], List[float], List[DateTime]]) + low = _convert_j("low", low, [str, List[int], List[float], List[Instant]]) if close is not None: non_null_args.add("close") - close = _convert_j("close", close, [str, List[int], List[float], List[DateTime]]) + close = _convert_j("close", close, [str, List[int], List[float], List[Instant]]) if by is not None: non_null_args.add("by") by = _no_convert_j("by", by, [List[str]]) @@ -1183,7 +1183,7 @@ def plot_pie( series_name: str, t: Union[Table, SelectableDataSet] = None, category: Union[str, List[str], List[int], List[float]] = None, - y: Union[str, List[int], List[float], List[DateTime]] = None, + y: Union[str, List[int], List[float], List[Instant]] = None, ) -> Figure: """Creates a pie plot. Categorical data must not have duplicates. @@ -1191,7 +1191,7 @@ def plot_pie( series_name (str): name of the data series t (Union[Table, SelectableDataSet]): table or selectable data set (e.g. OneClick filterable table) category (Union[str, List[str], List[int], List[float]]): discrete data or column name - y (Union[str, List[int], List[float], List[DateTime]]): y-values or column name + y (Union[str, List[int], List[float], List[Instant]]): y-values or column name Returns: a new Figure @@ -1214,7 +1214,7 @@ def plot_pie( category = _convert_j("category", category, [str, List[str], List[int], List[float]]) if y is not None: non_null_args.add("y") - y = _convert_j("y", y, [str, List[int], List[float], List[DateTime]]) + y = _convert_j("y", y, [str, List[int], List[float], List[Instant]]) if non_null_args == {"series_name", "category", "y"}: return Figure(j_figure=self.j_figure.piePlot(series_name, category, y)) @@ -1296,12 +1296,12 @@ def plot_xy( self, series_name: str, t: Union[Table, SelectableDataSet] = None, - x: Union[str, List[int], List[float], List[DateTime]] = None, - x_low: Union[str, List[int], List[float], List[DateTime]] = None, - x_high: Union[str, List[int], List[float], List[DateTime]] = None, - y: Union[str, List[int], List[float], List[DateTime]] = None, - y_low: Union[str, List[int], List[float], List[DateTime]] = None, - y_high: Union[str, List[int], List[float], List[DateTime]] = None, + x: Union[str, List[int], List[float], List[Instant]] = None, + x_low: Union[str, List[int], List[float], List[Instant]] = None, + x_high: Union[str, List[int], List[float], List[Instant]] = None, + y: Union[str, List[int], List[float], List[Instant]] = None, + y_low: Union[str, List[int], List[float], List[Instant]] = None, + y_high: Union[str, List[int], List[float], List[Instant]] = None, function: Callable = None, by: List[str] = None, x_time_axis: bool = None, @@ -1312,12 +1312,12 @@ def plot_xy( Args: series_name (str): name of the data series t (Union[Table, SelectableDataSet]): table or selectable data set (e.g. OneClick filterable table) - x (Union[str, List[int], List[float], List[DateTime]]): x-values or column name - x_low (Union[str, List[int], List[float], List[DateTime]]): lower x error bar - x_high (Union[str, List[int], List[float], List[DateTime]]): upper x error bar - y (Union[str, List[int], List[float], List[DateTime]]): y-values or column name - y_low (Union[str, List[int], List[float], List[DateTime]]): lower y error bar - y_high (Union[str, List[int], List[float], List[DateTime]]): upper y error bar + x (Union[str, List[int], List[float], List[Instant]]): x-values or column name + x_low (Union[str, List[int], List[float], List[Instant]]): lower x error bar + x_high (Union[str, List[int], List[float], List[Instant]]): upper x error bar + y (Union[str, List[int], List[float], List[Instant]]): y-values or column name + y_low (Union[str, List[int], List[float], List[Instant]]): lower y error bar + y_high (Union[str, List[int], List[float], List[Instant]]): upper y error bar function (Callable): function by (List[str]): columns that hold grouping data x_time_axis (bool): whether to treat the x-values as times @@ -1341,22 +1341,22 @@ def plot_xy( t = _convert_j("t", t, [Table, SelectableDataSet]) if x is not None: non_null_args.add("x") - x = _convert_j("x", x, [str, List[int], List[float], List[DateTime]]) + x = _convert_j("x", x, [str, List[int], List[float], List[Instant]]) if x_low is not None: non_null_args.add("x_low") - x_low = _convert_j("x_low", x_low, [str, List[int], List[float], List[DateTime]]) + x_low = _convert_j("x_low", x_low, [str, List[int], List[float], List[Instant]]) if x_high is not None: non_null_args.add("x_high") - x_high = _convert_j("x_high", x_high, [str, List[int], List[float], List[DateTime]]) + x_high = _convert_j("x_high", x_high, [str, List[int], List[float], List[Instant]]) if y is not None: non_null_args.add("y") - y = _convert_j("y", y, [str, List[int], List[float], List[DateTime]]) + y = _convert_j("y", y, [str, List[int], List[float], List[Instant]]) if y_low is not None: non_null_args.add("y_low") - y_low = _convert_j("y_low", y_low, [str, List[int], List[float], List[DateTime]]) + y_low = _convert_j("y_low", y_low, [str, List[int], List[float], List[Instant]]) if y_high is not None: non_null_args.add("y_high") - y_high = _convert_j("y_high", y_high, [str, List[int], List[float], List[DateTime]]) + y_high = _convert_j("y_high", y_high, [str, List[int], List[float], List[Instant]]) if function is not None: non_null_args.add("function") function = _convert_j("function", function, [Callable]) @@ -1405,7 +1405,7 @@ def plot_xy_hist( self, series_name: str, t: Union[Table, SelectableDataSet] = None, - x: Union[str, List[int], List[float], List[DateTime]] = None, + x: Union[str, List[int], List[float], List[Instant]] = None, xmin: float = None, xmax: float = None, nbins: int = None, @@ -1415,7 +1415,7 @@ def plot_xy_hist( Args: series_name (str): name of the data series t (Union[Table, SelectableDataSet]): table or selectable data set (e.g. OneClick filterable table) - x (Union[str, List[int], List[float], List[DateTime]]): x-values or column name + x (Union[str, List[int], List[float], List[Instant]]): x-values or column name xmin (float): minimum x value to display xmax (float): maximum x value to display nbins (int): number of bins @@ -1438,7 +1438,7 @@ def plot_xy_hist( t = _convert_j("t", t, [Table, SelectableDataSet]) if x is not None: non_null_args.add("x") - x = _convert_j("x", x, [str, List[int], List[float], List[DateTime]]) + x = _convert_j("x", x, [str, List[int], List[float], List[Instant]]) if xmin is not None: non_null_args.add("xmin") xmin = _convert_j("xmin", xmin, [float]) diff --git a/py/server/deephaven/replay.py b/py/server/deephaven/replay.py index b4ab310c740..fd41fbe24fb 100644 --- a/py/server/deephaven/replay.py +++ b/py/server/deephaven/replay.py @@ -4,9 +4,10 @@ """ This module provides support for replaying historical data. """ +from typing import Union import jpy -from deephaven import dtypes, DHError +from deephaven import dtypes, DHError, time from deephaven._wrapper import JObjectWrapper from deephaven.table import Table @@ -22,7 +23,7 @@ class TableReplayer(JObjectWrapper): j_object_type = _JReplayer - def __init__(self, start_time: dtypes.DateTime, end_time: dtypes.DateTime): + def __init__(self, start_time: Union[dtypes.Instant,str], end_time: Union[dtypes.Instant,str]): """Initializes the replayer. Args: @@ -32,6 +33,13 @@ def __init__(self, start_time: dtypes.DateTime, end_time: dtypes.DateTime): Raises: DHError """ + + if isinstance(start_time, str): + start_time = time.parse_instant(start_time) + + if isinstance(end_time, str): + end_time = time.parse_instant(end_time) + self.start_time = start_time self.end_time = end_time try: diff --git a/py/server/deephaven/table_factory.py b/py/server/deephaven/table_factory.py index 5380bc49254..9f9311dfdcf 100644 --- a/py/server/deephaven/table_factory.py +++ b/py/server/deephaven/table_factory.py @@ -52,7 +52,7 @@ def time_table(period: Union[str, int], start_time: str = None) -> Table: Args: period (Union[str, int]): time interval between new row additions, can be expressed as an integer in - nanoseconds or a time interval string, e.g. "00:00:00.001" + nanoseconds or a time interval string, e.g. "PT00:00:00.001" start_time (str): start time for adding new rows Returns: diff --git a/py/server/deephaven/time.py b/py/server/deephaven/time.py index 84191145194..20262f4d295 100644 --- a/py/server/deephaven/time.py +++ b/py/server/deephaven/time.py @@ -5,845 +5,2101 @@ """ This module defines functions for handling Deephaven date/time data. """ from __future__ import annotations -from enum import Enum +from typing import Union, Optional import jpy from deephaven import DHError -from deephaven.dtypes import DateTime, Period +from deephaven.dtypes import Instant, LocalDate, LocalTime, ZonedDateTime, Duration, Period, TimeZone, from_jtype +from deephaven.constants import NULL_INT, NULL_LONG, NULL_DOUBLE +_JDateTimeUtils = jpy.get_type("io.deephaven.time.DateTimeUtils") + +MICRO = 1000 #: One microsecond in nanoseconds. +MILLI = 1000000 #: One millisecond in nanosecondsl SECOND = 1000000000 #: One second in nanoseconds. MINUTE = 60 * SECOND #: One minute in nanoseconds. HOUR = 60 * MINUTE #: One hour in nanoseconds. -DAY = 24 * HOUR #: One day in nanoseconds. -WEEK = 7 * DAY #: One week in nanoseconds. -YEAR = 52 * WEEK #: One year in nanoseconds. +DAY = 24 * HOUR #: One day in nanoseconds. This is one hour of wall time and does not take into account calendar adjustments. +WEEK = 7 * DAY #: One week in nanoseconds. This is 7 days of wall time and does not take into account calendar adjustments. +YEAR_365 = 365 * DAY #: One 365 day year in nanoseconds. This is 365 days of wall time and does not take into account calendar adjustments. +YEAR_AVG = 31556952000000000 #: One average year in nanoseconds. This is 365.2425 days of wall time and does not take into account calendar adjustments. + +SECONDS_PER_NANO = 1 / SECOND #: Number of seconds per nanosecond. +MINUTES_PER_NANO = 1 / MINUTE #: Number of minutes per nanosecond. +HOURS_PER_NANO = 1 / HOUR #: Number of hours per nanosecond. +DAYS_PER_NANO = 1 / DAY #: Number of days per nanosecond. +YEARS_PER_NANO_365 = 1 / YEAR_365 #: Number of 365 day years per nanosecond. +YEARS_PER_NANO_AVG = 1 / YEAR_AVG #: Number of average (365.2425 day) years per nanosecond. -_JDateTimeUtils = jpy.get_type("io.deephaven.time.DateTimeUtils") -_JTimeZone = jpy.get_type("io.deephaven.time.TimeZone") - - -class TimeZone(Enum): - """ A Enum for known time zones. """ - NY = _JTimeZone.TZ_NY - """ America/New_York """ - ET = _JTimeZone.TZ_ET - """ America/New_York """ - MN = _JTimeZone.TZ_MN - """ America/Chicago """ - CT = _JTimeZone.TZ_CT - """ America/Chicago """ - MT = _JTimeZone.TZ_MT - """ America/Denver """ - PT = _JTimeZone.TZ_PT - """ America/Los_Angeles """ - HI = _JTimeZone.TZ_HI - """ Pacific/Honolulu """ - BT = _JTimeZone.TZ_BT - """ America/Sao_Paulo """ - KR = _JTimeZone.TZ_KR - """ Asia/Seoul """ - HK = _JTimeZone.TZ_HK - """ Asia/Hong_Kong """ - JP = _JTimeZone.TZ_JP - """ Asia/Tokyo """ - AT = _JTimeZone.TZ_AT - """ Canada/Atlantic """ - NF = _JTimeZone.TZ_NF - """ Canada/Newfoundland """ - AL = _JTimeZone.TZ_AL - """ America/Anchorage """ - IN = _JTimeZone.TZ_IN - """ Asia/Kolkata """ - CE = _JTimeZone.TZ_CE - """ Europe/Berlin """ - SG = _JTimeZone.TZ_SG - """ Asia/Singapore """ - LON = _JTimeZone.TZ_LON - """ Europe/London """ - MOS = _JTimeZone.TZ_MOS - """ Europe/Moscow """ - SHG = _JTimeZone.TZ_SHG - """ Asia/Shanghai """ - CH = _JTimeZone.TZ_CH - """ Europe/Zurich """ - NL = _JTimeZone.TZ_NL - """ Europe/Amsterdam """ - TW = _JTimeZone.TZ_TW - """ Asia/Taipei """ - SYD = _JTimeZone.TZ_SYD - """ Australia/Sydney """ - UTC = _JTimeZone.TZ_UTC - """ UTC """ - @staticmethod - def get_default_timezone() -> TimeZone: - """ Gets the default time zone. """ - return TimeZone(_JTimeZone.getTzDefault()) +# region Clock + + +def now(system: bool = False, resolution: str = 'ns') -> Instant: + """ Provides the current datetime according to a clock. + + Args: + system (bool): True to use the system clock; False to use the default clock. Under most circumstances, + the default clock will return the current system time, but during replay simulations, the default + clock can return the replay time. - @staticmethod - def set_default_timezone(tz: TimeZone) -> None: - """ Sets the default time zone. + resolution (str): The resolution of the returned time. The default 'ns' will return nanosecond resolution times + if possible. 'ms' will return millisecond resolution times. - Args: - tz (TimeZone): the TimeZone to use as default - """ - _JTimeZone.setTzDefault(tz.value) + Returns: + Instant + Raises: + DHError + """ + try: + if resolution == "ns": + if system: + return _JDateTimeUtils.nowSystem() + else: + return _JDateTimeUtils.now() + elif resolution == "ms": + if system: + return _JDateTimeUtils.nowSystemMillisResolution() + else: + return _JDateTimeUtils.nowMillisResolution() + else: + raise ValueError("Unsupported time resolution: " + resolution) + except Exception as e: + raise DHError(e) from e -def to_datetime(s: str, quiet: bool = False) -> DateTime: - """ Converts a datetime string to a DateTime object. - Supports ISO 8601 format and others. +def today(tz: TimeZone) -> str: + """ Provides the current date string according to the current clock. + Under most circumstances, this method will return the date according to current system time, + but during replay simulations, this method can return the date according to replay time. Args: - s (str): in the form of ISO 8601 or "yyyy-MM-ddThh:mm:ss[.SSSSSSSSS] TZ" - quiet (bool): when True, if the datetime string can't be parsed, this function returns None, otherwise - it raises an exception. The default is False + tz (TimeZone): Time zone to use when determining the date. Returns: - a DateTime + Date string Raises: DHError """ - if quiet: - return _JDateTimeUtils.convertDateTimeQuiet(s) + try: + return _JDateTimeUtils.today(tz) + except Exception as e: + raise DHError(e) from e + + +# endregion + +# region Time Zone + + +def time_zone(tz: Optional[str]) -> TimeZone: + """ Gets the time zone for a time zone name. + + Args: + tz (Optional[str]): Time zone name. If None is provided, the system default time zone is returned. + + Returns: + TimeZone + Raises: + DHError + """ try: - return _JDateTimeUtils.convertDateTime(s) + if tz is None: + return _JDateTimeUtils.timeZone() + else: + return _JDateTimeUtils.timeZone(tz) except Exception as e: raise DHError(e) from e -def to_period(s: str, quiet: bool = False) -> Period: - """ Converts a period string into a Period object. +def time_zone_alias_add(alias: str, tz: str) -> None: + """ Adds a new time zone alias. Args: - s (str): a string in the form of nYnMnWnDTnHnMnS, with n being numeric values, e.g. 1W for one week, T1M for - one minute, 1WT1H for one week plus one hour - quiet (bool): when True, if the period string can't be parsed, this function returns None, otherwise - it raises an exception. The default is False + alias (str): Alias name. + tz (str): Time zone name. Returns: - a Period + None Raises: DHError """ - if quiet: - return _JDateTimeUtils.convertPeriodQuiet(s) + try: + return _JDateTimeUtils.timeZoneAliasAdd(alias, tz) + except Exception as e: + raise DHError(e) from e + + +def time_zone_alias_rm(alias: str) -> bool: + """ Removes a time zone alias. + + Args: + alias (str): Alias name. + + Returns: + True if the alias was present; False if the alias was not present. + Raises: + DHError + """ try: - return _JDateTimeUtils.convertPeriod(s) + return _JDateTimeUtils.timeZoneAliasRm(alias) except Exception as e: raise DHError(e) from e -def to_nanos(s, quiet: bool = False) -> int: - """ Converts a time string to nanoseconds. +# endregion + +# region Conversions: Time Units + + +def micros_to_nanos(micros: int) -> int: + """ Converts microseconds to nanoseconds. Args: - s (str): in the format of: hh:mm:ss[.SSSSSSSSS] - quiet (bool): to return None or raise an exception if the string can't be parsed, default is False + micros (int): Microseconds to convert. Returns: - int + NULL_LONG if the input is NULL_LONG; otherwise the input microseconds converted to nanoseconds. Raises: DHError """ - if quiet: - return _JDateTimeUtils.convertTimeQuiet(s) + try: + return _JDateTimeUtils.microsToNanos(micros) + except Exception as e: + raise DHError(e) from e + +def millis_to_nanos(millis: int) -> int: + """ Converts milliseconds to nanoseconds. + + Args: + millis (int): Milliseconds to convert. + + Returns: + NULL_LONG if the input is NULL_LONG; otherwise the input milliseconds converted to nanoseconds. + + Raises: + DHError + """ try: - return _JDateTimeUtils.convertTime(s) + return _JDateTimeUtils.millisToNanos(millis) except Exception as e: raise DHError(e) from e -def now() -> DateTime: - """ Provides the current datetime. +def seconds_to_nanos(seconds: int) -> int: + """ Converts seconds to nanoseconds. + + Args: + seconds (int): Seconds to convert. Returns: - DateTime + NULL_LONG if the input is NULL_LONG; otherwise the input seconds converted to nanoseconds. Raises: DHError """ try: - return _JDateTimeUtils.currentTime() + return _JDateTimeUtils.secondsToNanos(seconds) except Exception as e: raise DHError(e) from e -def datetime_at_midnight(dt: DateTime, tz: TimeZone) -> DateTime: - """ Returns a DateTime for the requested DateTime at midnight in the specified time zone. +def nanos_to_micros(nanos: int) -> int: + """ Converts nanoseconds to microseconds. Args: - dt (DateTime): the DateTime for which the new value at midnight should be calculated - tz (TimeZone): the TimeZone to use when interpreting the DateTime + nanos (int): nanoseconds to convert. Returns: - DateTime + NULL_LONG if the input is NULL_LONG; otherwise the input nanoseconds converted to microseconds, rounded down. + + Raises: + DHError + """ + try: + return _JDateTimeUtils.nanosToMicros(nanos) + except Exception as e: + raise DHError(e) from e + + +def millis_to_micros(millis: int) -> int: + """ Converts milliseconds to microseconds. + + Args: + millis (int): milliseconds to convert. + + Returns: + NULL_LONG if the input is NULL_LONG; otherwise the input milliseconds converted to microseconds. Raises: DHError """ try: + return _JDateTimeUtils.millisToMicros(millis) + except Exception as e: + raise DHError(e) from e + + +def seconds_to_micros(seconds: int) -> int: + """ Converts seconds to microseconds. + + Args: + seconds (int): Seconds to convert. + + Returns: + NULL_LONG if the input is NULL_LONG; otherwise the input seconds converted to microseconds. - return _JDateTimeUtils.dateAtMidnight(dt, tz.value) + Raises: + DHError + """ + try: + return _JDateTimeUtils.secondsToMicros(seconds) except Exception as e: raise DHError(e) from e -def day_of_month(dt: DateTime, tz: TimeZone) -> int: - """ Returns an 1-based int value of the day of the month for a DateTime and specified time zone. +def nanos_to_millis(nanos: int) -> int: + """ Converts nanoseconds to milliseconds. Args: - dt (DateTime): the DateTime for which to find the day of the month - tz (TimeZone): the TimeZone to use when interpreting the DateTime + nanos (int): Nanoseconds to convert. Returns: - int: NULL_INT if dt is None + NULL_LONG if the input is NULL_LONG; otherwise the input nanoseconds converted to milliseconds, rounded down. Raises: DHError """ try: - return _JDateTimeUtils.dayOfMonth(dt, tz.value) + return _JDateTimeUtils.nanosToMillis(nanos) except Exception as e: raise DHError(e) from e -def day_of_week(dt: DateTime, tz: TimeZone) -> int: - """ Returns an 1-based int value of the day of the week for a DateTime in the specified time zone, with 1 being - Monday and 7 being Sunday. +def micros_to_millis(micros: int) -> int: + """ Converts microseconds to milliseconds. Args: - dt (DateTime): the DateTime for which to find the day of the week. - tz (TimeZone): the TimeZone to use when interpreting the DateTime. + micros (int): Microseconds to convert. Returns: - int: NULL_INT if dt is None + NULL_LONG if the input is NULL_LONG; otherwise the input microseconds converted to milliseconds, rounded down. Raises: DHError """ try: - return _JDateTimeUtils.dayOfWeek(dt, tz.value) + return _JDateTimeUtils.microsToMillis(micros) except Exception as e: raise DHError(e) from e -def day_of_year(dt: DateTime, tz: TimeZone) -> int: - """ Returns an 1-based int value of the day of the year (Julian date) for a DateTime in the specified time zone. +def seconds_to_millis(seconds: int) -> int: + """ Converts seconds to milliseconds. Args: - dt (DateTime): the DateTime for which to find the day of the year - tz (TimeZone): the TimeZone to use when interpreting the DateTime + seconds (int): Seconds to convert. Returns: - int: NULL_INT if dt is None + NULL_LONG if the input is NULL_LONG; otherwise the input seconds converted to milliseconds. Raises: DHError """ try: - return _JDateTimeUtils.dayOfYear(dt, tz.value) + return _JDateTimeUtils.secondsToMillis(seconds) except Exception as e: raise DHError(e) from e -def diff_nanos(dt1: DateTime, dt2: DateTime) -> int: - """ Returns the difference in nanoseconds between two DateTime values. +def nanos_to_seconds(nanos: int) -> int: + """ Converts nanoseconds to seconds. Args: - dt1 (DateTime): the 1st DateTime - dt2 (DateTime): the 2nd DateTime + nanos (int): Nanoseconds to convert. Returns: - int: NULL_LONG if either dt1 or dt2 is None + NULL_LONG if the input is NULL_LONG; otherwise the input nanoseconds converted to seconds. Raises: DHError """ try: - return _JDateTimeUtils.diffNanos(dt1, dt2) + return _JDateTimeUtils.nanosToSeconds(nanos) except Exception as e: raise DHError(e) from e -def format_datetime(dt: DateTime, tz: TimeZone) -> str: - """ Returns a string DateTime representation formatted as "yyyy-MM-ddThh:mm:ss.SSSSSSSSS TZ". +def micros_to_seconds(micros: int) -> int: + """ Converts microseconds to seconds. Args: - dt (DateTime): the DateTime to format as a string - tz (TimeZone): the TimeZone to use when interpreting the DateTime + micros (int): Microseconds to convert. Returns: - str + NULL_LONG if the input is NULL_LONG; otherwise the input microseconds converted to seconds. Raises: DHError """ try: - return _JDateTimeUtils.format(dt, tz.value) + return _JDateTimeUtils.microsToSeconds(micros) except Exception as e: raise DHError(e) from e -def format_nanos(ns: int) -> str: - """ Returns a string DateTime representation formatted as "yyyy-MM-ddThh:mm:ss.SSSSSSSSS". +def millis_to_seconds(millis: int) -> int: + """ Converts milliseconds to seconds. Args: - ns (int): the number of nanoseconds + millis (int): Milliseconds to convert. Returns: - str + NULL_LONG if the input is NULL_LONG; otherwise the input milliseconds converted to seconds. Raises: DHError """ try: - return _JDateTimeUtils.format(ns) + return _JDateTimeUtils.millisToSeconds(millis) except Exception as e: raise DHError(e) from e -def format_date(dt: DateTime, tz: TimeZone) -> str: - """ Returns a string date representation of a DateTime interpreted for a specified time zone formatted as - "yyy-MM-dd". +# endregion + +# region Conversions: Date Time Types + +def to_instant(dt: ZonedDateTime) -> Instant: + """ Converts a date time to an Instant. Args: - dt (DateTime): the DateTime to format - tz (TimeZone): the TimeZone to use when interpreting the DateTime + dt (ZonedDateTime): Date time to convert. Returns: - str + Instant or None if dt is None. Raises: DHError """ + if not dt: + return None + try: - return _JDateTimeUtils.formatDate(dt, tz.value) + return _JDateTimeUtils.toInstant(dt) except Exception as e: raise DHError(e) from e -def hour_of_day(dt: DateTime, tz: TimeZone) -> int: - """ Returns the hour of the day for a DateTime in the specified time zone. The hour is on a 24 hour clock (0 - 23). +def to_zdt(dt: Instant, tz: TimeZone) -> ZonedDateTime: + """ Converts a date time to a ZonedDateTime. Args: - dt (DateTime): the DateTime for which to find the hour of the day - tz (TimeZone): the TimeZone to use when interpreting the DateTime + dt (Instant): Date time to convert. + tz (TimeZone): Time zone. Returns: - int: NULL_INT if dt is None + ZonedDateTime or None if any input is None. Raises: DHError """ + if not dt or not tz: + return None + try: - return _JDateTimeUtils.hourOfDay(dt, tz.value) + return _JDateTimeUtils.toZonedDateTime(dt, tz) except Exception as e: raise DHError(e) from e -def is_after(dt1: DateTime, dt2: DateTime) -> bool: - """ Evaluates whether one DateTime value is later than a second DateTime value. +def make_instant(date: LocalDate, time: LocalTime, tz: TimeZone) -> Instant: + """ Makes an Instant. Args: - dt1 (DateTime): the 1st DateTime - dt2 (DateTime): the 2nd DateTime + date (LocalDate): Local date. + time (LocalTime): Local time. + tz (TimeZone): Time zone. Returns: - bool + Instant or None if any input is None. Raises: DHError """ + if not date or not time or not tz: + return None + try: - dt1 = dt1 if dt1 else None - dt2 = dt2 if dt2 else None - return _JDateTimeUtils.isAfter(dt1, dt2) + return _JDateTimeUtils.toInstant(date, time, tz) except Exception as e: raise DHError(e) from e -def is_before(dt1: DateTime, dt2: DateTime) -> bool: - """ Evaluates whether one DateTime value is before a second DateTime value. +def make_zdt(date: LocalDate, time: LocalTime, tz: TimeZone) -> ZonedDateTime: + """ Makes a ZonedDateTime. Args: - dt1 (DateTime): the 1st DateTime - dt2 (DateTime): the 2nd DateTime + date (LocalDate): Local date. + time (LocalTime): Local time. + tz (TimeZone): Time zone. Returns: - bool + ZonedDateTime or None if any input is None. Raises: DHError """ + if not date or not time or not tz: + return None + try: - return _JDateTimeUtils.isBefore(dt1, dt2) + return _JDateTimeUtils.toZonedDateTime(date, time, tz) except Exception as e: raise DHError(e) from e -def lower_bin(dt: DateTime, interval: int, offset: int = 0) -> DateTime: - """ Returns a DateTime value, which is at the starting (lower) end of a time range defined by the interval - nanoseconds. For example, a 5*MINUTE intervalNanos value would return the DateTime value for the start of the - five minute window that contains the input date time. +def to_local_date(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> LocalDate: + """ Converts a date time to a LocalDate. Args: - dt (DateTime): the DateTime for which to evaluate the start of the containing window - interval (int): the size of the window in nanoseconds - offset (int): the window start offset in nanoseconds. For example, a value of MINUTE would offset all windows by - one minute. Default is 0 + dt (Instant): Date time to convert. + tz (TimeZone): Time zone. Returns: - DateTime + LocalDate or None if any input is None. Raises: DHError """ try: - return _JDateTimeUtils.lowerBin(dt, interval, offset) + if not dt or not tz: + return None + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.toLocalDate(dt, tz) except Exception as e: raise DHError(e) from e -def millis(dt: DateTime) -> int: - """ Returns milliseconds since Epoch for a DateTime value. +def to_local_time(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> LocalTime: + """ Converts a date time to a LocalTime. Args: - dt (DateTime): the DateTime for which the milliseconds offset should be returned + dt (Instant): Date time to convert. + tz (TimeZone): Time zone. Returns: - int: NULL_LONG if dt is None + LocalTime or None if any input is None. Raises: DHError """ try: - return _JDateTimeUtils.millis(dt) + if not dt or not tz: + return None + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.toLocalTime(dt, tz) except Exception as e: raise DHError(e) from e -def millis_of_day(dt: DateTime, tz: TimeZone) -> int: - """ Returns the number of milliseconds since midnight for a DateTime in the specified time zone. +# endregion + +# region Conversions: Epoch + +def epoch_nanos(dt: Union[Instant, ZonedDateTime]) -> int: + """ Returns nanoseconds from the Epoch for a date time value. Args: - dt (DateTime): the DateTime for which to find the milliseconds since midnight - tz (TimeZone): the TimeZone to use when interpreting the DateTime + dt (Union[Instant,ZonedDateTime]): Date time. Returns: - int: NULL_INT if dt is None + nanoseconds since Epoch, or a NULL_LONG value if the date time is null. Raises: DHError """ + if not dt: + return NULL_LONG + try: - return _JDateTimeUtils.millisOfDay(dt, tz.value) + return _JDateTimeUtils.epochNanos(dt) except Exception as e: raise DHError(e) from e -def millis_of_second(dt: DateTime, tz: TimeZone) -> int: - """ Returns the number of milliseconds since the top of the second for a DateTime in the specified time zone. +def epoch_micros(dt: Union[Instant, ZonedDateTime]) -> int: + """ Returns microseconds from the Epoch for a date time value. Args: - dt (DateTime): the DateTime for which to find the milliseconds - tz (TimeZone): the TimeZone to use when interpreting the DateTime + dt (Union[Instant,ZonedDateTime]): Date time. Returns: - int: NULL_INT if dt is None + microseconds since Epoch, or a NULL_LONG value if the date time is null. Raises: DHError """ + if not dt: + return NULL_LONG + try: - return _JDateTimeUtils.millisOfSecond(dt, tz.value) + return _JDateTimeUtils.epochMicros(dt) except Exception as e: raise DHError(e) from e -def millis_to_nanos(ms: int) -> int: - """ Converts milliseconds to nanoseconds. +def epoch_millis(dt: Union[Instant, ZonedDateTime]) -> int: + """ Returns milliseconds from the Epoch for a date time value. Args: - ms (int): the milliseconds value to convert + dt (Union[Instant,ZonedDateTime]): Date time. Returns: - int: NULL_LONG if ms is NULL_LONG + milliseconds since Epoch, or a NULL_LONG value if the date time is null. Raises: DHError """ + if not dt: + return NULL_LONG + try: - return _JDateTimeUtils.millisToNanos(ms) + return _JDateTimeUtils.epochMillis(dt) except Exception as e: raise DHError(e) from e -def millis_to_datetime(ms: int) -> DateTime: - """ Converts a value of milliseconds from Epoch in the UTC time zone to a DateTime. +def epoch_seconds(dt: Union[Instant, ZonedDateTime]) -> int: + """ Returns seconds from the Epoch for a date time value. Args: - ms (int): the milliseconds value to convert + dt (Union[Instant,ZonedDateTime]): Date time. + + Returns: + seconds since Epoch, or a NULL_LONG value if the date time is null. + + Raises: + DHError + """ + if not dt: + return NULL_LONG + + try: + return _JDateTimeUtils.epochSeconds(dt) + except Exception as e: + raise DHError(e) from e - returns: - DateTime + +def epoch_nanos_to_instant(nanos: int) -> Instant: + """ Converts nanoseconds from the Epoch to an Instant. + + Args: + nanos (int): Nanoseconds since Epoch. + + Returns: + Instant or None if the input is NULL_LONG. Raises: DHError """ try: - return _JDateTimeUtils.millisToTime(ms) + return _JDateTimeUtils.epochNanosToInstant(nanos) except Exception as e: raise DHError(e) from e -def minus(dt1: DateTime, dt2: DateTime) -> int: - """ Subtracts one time from another, returns the difference in nanos. +def epoch_micros_to_instant(micros: int) -> Instant: + """ Converts microseconds from the Epoch to an Instant. Args: - dt1 (DateTime): the 1st DateTime - dt2 (DateTiem): the 2nd DateTime + micros (int): Microseconds since Epoch. Returns: - int: NULL_LONG if either dt1 or dt2 is None + Instant or None if the input is NULL_LONG. Raises: DHError """ try: - return _JDateTimeUtils.minus(dt1, dt2) + return _JDateTimeUtils.epochMicrosToInstant(micros) except Exception as e: raise DHError(e) from e -def minus_nanos(dt: DateTime, ns: int) -> DateTime: - """ Subtracts nanoseconds from a DateTime. +def epoch_millis_to_instant(millis: int) -> Instant: + """ Converts milliseconds from the Epoch to an Instant. Args: - dt (DateTime): the starting DateTime value - ns (int): the number of nanoseconds to subtract from dateTime + millis (int): Milliseconds since Epoch. Returns: - DateTime + Instant or None if the input is NULL_LONG. Raises: DHError """ try: - return _JDateTimeUtils.minus(dt, ns) + return _JDateTimeUtils.epochMillisToInstant(millis) except Exception as e: raise DHError(e) from e -def minus_period(dt: DateTime, period) -> DateTime: - """ Subtracts a period from a DateTime. +def epoch_seconds_to_instant(seconds: int) -> Instant: + """ Converts seconds from the Epoch to an Instant. Args: - dt (DateTime): the starting DateTime value - period (Period): the Period to subtract from dateTime + seconds (int): Seconds since Epoch. Returns: - DateTime + Instant or None if the input is NULL_LONG. Raises: DHError """ try: - return _JDateTimeUtils.minus(dt, period) + return _JDateTimeUtils.epochSecondsToInstant(seconds) except Exception as e: raise DHError(e) from e -def minute_of_day(dt: DateTime, tz: TimeZone) -> int: - """ Returns the number of minutes since midnight for a DateTime in the specified time zone. +def epoch_nanos_to_zdt(nanos: int, tz: TimeZone) -> ZonedDateTime: + """ Converts nanoseconds from the Epoch to a ZonedDateTime. Args: - dt (DateTime): the DateTime for which to find the minutes - tz (TimeZone): the TimeZone to use when interpreting the DateTime + nanos (int): Nanoseconds since Epoch. + tz (TimeZone): Time zone. Returns: - int: NULL_INT if dt is None + ZonedDateTime or None if the input is NULL_LONG or None. Raises: DHError """ try: - return _JDateTimeUtils.minuteOfDay(dt, tz.value) + return _JDateTimeUtils.epochNanosToZonedDateTime(nanos, tz) except Exception as e: raise DHError(e) from e -def minute_of_hour(dt: DateTime, tz: TimeZone) -> int: - """ Returns the number of minutes since the top of the hour for a DateTime in the specified time zone. +def epoch_micros_to_zdt(micros: int, tz: TimeZone) -> ZonedDateTime: + """ Converts microseconds from the Epoch to a ZonedDateTime. Args: - dt (DateTime): the DateTime for which to find the minutes - tz (TimeZone): the TimeZone to use when interpreting the DateTime + micros (int): Microseconds since Epoch. + tz (TimeZone): Time zone. Returns: - int: NULL_INT if dt is None + ZonedDateTime or None if the input is NULL_LONG or None. Raises: DHError """ try: + return _JDateTimeUtils.epochMicrosToZonedDateTime(micros, tz) + except Exception as e: + raise DHError(e) from e + + +def epoch_millis_to_zdt(millis: int, tz: TimeZone) -> ZonedDateTime: + """ Converts milliseconds from the Epoch to a ZonedDateTime. + + Args: + millis (int): Milliseconds since Epoch. + tz (TimeZone): Time zone. + + Returns: + ZonedDateTime or None if the input is NULL_LONG or None. - return _JDateTimeUtils.minuteOfHour(dt, tz.value) + Raises: + DHError + """ + try: + return _JDateTimeUtils.epochMillisToZonedDateTime(millis, tz) except Exception as e: raise DHError(e) from e -def month_of_year(dt: DateTime, tz: TimeZone) -> int: - """ Returns an 1-based int value for the month of a DateTime in the specified time zone. January is 1, - and December is 12. +def epoch_seconds_to_zdt(seconds: int, tz: TimeZone) -> ZonedDateTime: + """ Converts seconds from the Epoch to a ZonedDateTime. Args: - dt (DateTime): the DateTime for which to find the month - tz (TimeZone): the TimeZone to use when interpreting the DateTime + seconds (int): Seconds since Epoch. + tz (TimeZone): Time zone. Returns: - int: NULL_INT if dt is None + ZonedDateTime or None if the input is NULL_LONG or None. Raises: DHError """ try: - return _JDateTimeUtils.monthOfYear(dt, tz.value) + return _JDateTimeUtils.epochSecondsToZonedDateTime(seconds, tz) except Exception as e: raise DHError(e) from e -def nanos(dt: DateTime) -> int: - """ Returns nanoseconds since Epoch for a DateTime value. +def epoch_auto_to_epoch_nanos(epoch_offset: int) -> int: + """ Converts an offset from the Epoch to a nanoseconds from the Epoch. + The offset can be in milliseconds, microseconds, or nanoseconds. + Expected date ranges are used to infer the units for the offset. Args: - dt (DateTime): the DateTime for which the nanoseconds offset should be returned + epoch_offset (int): Time offset from the Epoch. Returns: - int: NULL_LONG if dt is None + the input offset from the Epoch converted to nanoseconds from the Epoch, or NULL_LONG if the input is NULL_LONG. Raises: DHError """ try: + return _JDateTimeUtils.epochAutoToEpochNanos(epoch_offset) + except Exception as e: + raise DHError(e) from e + + +def epoch_auto_to_instant(epoch_offset: int) -> Instant: + """ Converts an offset from the Epoch to an Instant. + The offset can be in milliseconds, microseconds, or nanoseconds. + Expected date ranges are used to infer the units for the offset. - return _JDateTimeUtils.nanos(dt) + Args: + epoch_offset (int): Time offset from the Epoch. + + Returns: + Instant or None if the input is NULL_LONG + + Raises: + DHError + """ + try: + return _JDateTimeUtils.epochAutoToInstant(epoch_offset) except Exception as e: raise DHError(e) from e -def nanos_of_day(dt: DateTime, tz: TimeZone) -> int: - """ Returns the number of nanoseconds since midnight for a DateTime in the specified time zone. +def epoch_auto_to_zdt(epoch_offset: int, tz: TimeZone) -> ZonedDateTime: + """ Converts an offset from the Epoch to a ZonedDateTime. + The offset can be in milliseconds, microseconds, or nanoseconds. + Expected date ranges are used to infer the units for the offset. Args: - dt (DateTime): the DateTime for which to find the nanoseconds since midnight - tz (TimeZone): the TimeZone to use when interpreting the DateTime + epoch_offset (int): Time offset from the Epoch. + tz (TimeZone): Time zone. Returns: - int: NULL_LONG if dt is None + ZonedDateTime or None if the input is NULL_LONG Raises: DHError """ try: - return _JDateTimeUtils.nanosOfDay(dt, tz.value) + return _JDateTimeUtils.epochAutoToZonedDateTime(epoch_offset, tz) except Exception as e: raise DHError(e) from e -def nanos_of_second(dt: DateTime, tz: TimeZone) -> int: - """ Returns the number of nanoseconds since the top of the second for a DateTime in the specified time zone. +# endregion + +# region Conversions: Excel + +def to_excel_time(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> float: + """ Converts a date time to an Excel time represented as a double. Args: - dt (DateTime): the DateTime for which to find the nanoseconds - tz (TimeZone): the TimeZone to use when interpreting the DateTime + dt (Instant): Date time. + tz (TimeZone): Time zone. Returns: - int: NULL_LONG if dt is None + Excel time as a double or NULL_DOUBLE if any input is None Raises: DHError """ + if not dt or not tz: + return NULL_DOUBLE + try: + if not dt or not tz: + return NULL_DOUBLE + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) - return _JDateTimeUtils.nanosOfSecond(dt, tz.value) + return _JDateTimeUtils.toExcelTime(dt, tz) except Exception as e: raise DHError(e) from e -def nanos_to_millis(ns: int) -> int: - """ Converts nanoseconds to milliseconds. +def excel_to_instant(excel: float, tz: TimeZone) -> Instant: + """ Converts an Excel time represented as a double to an Instant. Args: - ns (int): the value of nanoseconds to convert + excel (float): Excel time. + tz (TimeZone): Time zone. Returns: - int: NULL_LONG if ns is NULL_LONG + Instant or None if any input is None or NULL_DOUBLE. Raises: DHError """ try: - return _JDateTimeUtils.nanosToMillis(ns) + return _JDateTimeUtils.excelToInstant(excel, tz) except Exception as e: raise DHError(e) from e -def nanos_to_datetime(ns: int) -> DateTime: - """ Converts a value of nanoseconds from Epoch to a DateTime. +def excel_to_zdt(excel: float, tz: TimeZone) -> ZonedDateTime: + """ Converts an Excel time represented as a double to a ZonedDateTime. Args: - ns (long): the long nanoseconds since Epoch value to convert + excel (float): Excel time. + tz (TimeZone): Time zone. Returns: - DateTime + ZonedDateTime or None if any input is None or NULL_DOUBLE. + + Raises: + DHError """ try: - return _JDateTimeUtils.nanosToTime(ns) + return _JDateTimeUtils.excelToZonedDateTime(excel, tz) except Exception as e: raise DHError(e) from e -def plus_period(dt: DateTime, period: Period) -> DateTime: - """ Adds a period to a DateTime. +# endregion + +# region Arithmetic + +def plus_period(dt: Union[Instant, ZonedDateTime], period: Union[int, Duration, Period]) -> \ + Union[Instant, ZonedDateTime]: + """ Adds a time period to a date time. Args: - dt (DateTime): the starting DateTime value - period (Period): the Period to add to the DateTime + dt (Union[Instant,ZonedDateTime]): Date time. + period (Union[int, Duration, Period]): Time period to add. Integer inputs are nanoseconds. Returns: - DateTime: None if either dt or period is None + Date time, or None if any input is None or NULL_LONG. Raises: DHError """ + if not dt or not period: + return None + try: return _JDateTimeUtils.plus(dt, period) except Exception as e: raise DHError(e) from e -def plus_nanos(dt: DateTime, ns: int) -> DateTime: - """ Adds nanoseconds to a DateTime. +def minus_period(dt: Union[Instant, ZonedDateTime], period: Union[int, Duration, Period]) -> \ + Union[Instant, ZonedDateTime]: + """ Subtracts a time period from a date time. Args: - dt (DateTime): the starting DateTime value - ns (int): the number of nanoseconds to add to DateTime + dt (Union[Instant,ZonedDateTime]): Date time. + period (Union[int, Duration, Period]): Time period to subtract. Integer inputs are nanoseconds. Returns: - DateTime: None if dt is None or ns is NULL_LONG + Date time, or None if any input is None or NULL_LONG. Raises: DHError """ + if not dt or not period: + return None + try: - return _JDateTimeUtils.plus(dt, ns) + return _JDateTimeUtils.minus(dt, period) except Exception as e: raise DHError(e) from e -def second_of_day(dt: DateTime, tz: TimeZone) -> int: - """ Returns the number of seconds since midnight for a DateTime in the specified time zone. +def diff_nanos(start: Union[Instant, ZonedDateTime], end: Union[Instant, ZonedDateTime]) -> int: + """ Returns the difference in nanoseconds between two date time values. Both values must be of the same type. Args: - dt (DateTime): the DateTime for which to find the seconds - tz (TimeZone): the TimeZone to use when interpreting the DateTime + start (Union[Instant,ZonedDateTime]): Start time. + end (Union[Instant,ZonedDateTime]): End time. Returns: - int: NULL_INT if dt is None + the difference in start and end in nanoseconds or NULL_LONG if any input is None. Raises: DHError """ + if not start or not end: + return NULL_LONG + try: - return _JDateTimeUtils.secondOfDay(dt, tz.value) + return _JDateTimeUtils.diffNanos(start, end) except Exception as e: raise DHError(e) from e -def second_of_minute(dt: DateTime, tz: TimeZone) -> int: - """ Returns the number of seconds since the top of the minute for a DateTime in the specified time zone. +def diff_micros(start: Union[Instant, ZonedDateTime], end: Union[Instant, ZonedDateTime]) -> int: + """ Returns the difference in microseconds between two date time values. Both values must be of the same type. Args: - dt (DateTime): the DateTime for which to find the seconds - tz (TimeZone): the TimeZone to use when interpreting the DateTime + start (Union[Instant,ZonedDateTime]): Start time. + end (Union[Instant,ZonedDateTime]): End time. Returns: - int: NULL_INT if dt is None + the difference in start and end in microseconds or NULL_LONG if any input is None. Raises: DHError """ + if not start or not end: + return NULL_LONG + try: - return _JDateTimeUtils.secondOfMinute(dt, tz.value) + return _JDateTimeUtils.diffMicros(start, end) except Exception as e: raise DHError(e) from e -def upper_bin(dt, interval: int, offset: int = 0): - """ Returns a DateTime value, which is at the ending (upper) end of a time range defined by the interval - nanoseconds. For example, a 5*MINUTE intervalNanos value would return the DateTime value for the end of the five - minute window that contains the input date time. +def diff_millis(start: Union[Instant, ZonedDateTime], end: Union[Instant, ZonedDateTime]) -> int: + """ Returns the difference in milliseconds between two date time values. Both values must be of the same type. Args: - dt (DateTime): the DateTime for which to evaluate the end of the containing window - interval (int): the size of the window in nanoseconds - offset (int): the window start offset in nanoseconds. For example, a value of MINUTE would offset all windows by - one minute. Default is 0 + start (Union[Instant,ZonedDateTime]): Start time. + end (Union[Instant,ZonedDateTime]): End time. Returns: - DateTime + the difference in start and end in milliseconds or NULL_LONG if any input is None. Raises: DHError """ + if not start or not end: + return NULL_LONG + try: - return _JDateTimeUtils.upperBin(dt, interval, offset) + return _JDateTimeUtils.diffMillis(start, end) + except Exception as e: + raise DHError(e) from e + + +def diff_seconds(start: Union[Instant, ZonedDateTime], end: Union[Instant, ZonedDateTime]) -> float: + """ Returns the difference in seconds between two date time values. Both values must be of the same type. + + Args: + start (Union[Instant,ZonedDateTime]): Start time. + end (Union[Instant,ZonedDateTime]): End time. + + Returns: + the difference in start and end in seconds or NULL_DOUBLE if any input is None. + + Raises: + DHError + """ + if not start or not end: + return NULL_DOUBLE + + try: + return _JDateTimeUtils.diffSeconds(start, end) + except Exception as e: + raise DHError(e) from e + + +def diff_minutes(start: Union[Instant, ZonedDateTime], end: Union[Instant, ZonedDateTime]) -> float: + """ Returns the difference in minutes between two date time values. Both values must be of the same type. + + Args: + start (Union[Instant,ZonedDateTime]): Start time. + end (Union[Instant,ZonedDateTime]): End time. + + Returns: + the difference in start and end in minutes or NULL_DOUBLE if any input is None. + + Raises: + DHError + """ + if not start or not end: + return NULL_DOUBLE + + try: + return _JDateTimeUtils.diffMinutes(start, end) + except Exception as e: + raise DHError(e) from e + + +def diff_days(start: Union[Instant, ZonedDateTime], end: Union[Instant, ZonedDateTime]) -> float: + """ Returns the difference in days between two date time values. Both values must be of the same type. + + Args: + start (Union[Instant,ZonedDateTime]): Start time. + end (Union[Instant,ZonedDateTime]): End time. + + Returns: + the difference in start and end in days or NULL_DOUBLE if any input is None. + + Raises: + DHError + """ + if not start or not end: + return NULL_DOUBLE + + try: + return _JDateTimeUtils.diffDays(start, end) + except Exception as e: + raise DHError(e) from e + + +def diff_years_365(start: Union[Instant, ZonedDateTime], end: Union[Instant, ZonedDateTime]) -> float: + """ Returns the difference in years between two date time values. Both values must be of the same type. + + Years are defined in terms of 365 day years. + + Args: + start (Union[Instant,ZonedDateTime]): Start time. + end (Union[Instant,ZonedDateTime]): End time. + + Returns: + the difference in start and end in years or NULL_DOUBLE if any input is None. + + Raises: + DHError + """ + if not start or not end: + return NULL_DOUBLE + + try: + return _JDateTimeUtils.diffYears365(start, end) + except Exception as e: + raise DHError(e) from e + + +def diff_years_avg(start: Union[Instant, ZonedDateTime], end: Union[Instant, ZonedDateTime]) -> float: + """ Returns the difference in years between two date time values. Both values must be of the same type. + + Years are defined in terms of 365.2425 day years. + + Args: + start (Union[Instant,ZonedDateTime]): Start time. + end (Union[Instant,ZonedDateTime]): End time. + + Returns: + the difference in start and end in years or NULL_DOUBLE if any input is None. + + Raises: + DHError + """ + if not start or not end: + return NULL_DOUBLE + + try: + return _JDateTimeUtils.diffYearsAvg(start, end) except Exception as e: raise DHError(e) from e +# endregion -def year(dt: DateTime, tz: TimeZone) -> int: - """ Returns an int value of the year for a DateTime in the specified time zone. +# region Comparisons + +def is_before(dt1: Union[Instant, ZonedDateTime], dt2: Union[Instant, ZonedDateTime]) -> bool: + """ Evaluates whether one date time value is before a second date time value. + Both values must be of the same type. Args: - dt (DateTime): the DateTime for which to find the year - tz (TimeZone): the TimeZone to use when interpreting the DateTime + dt1 (Union[Instant,ZonedDateTime]): First date time. + dt2 (Union[Instant,ZonedDateTime]): Second date time. Returns: - int: NULL_INT if dt is None + True if dt1 is before dt2; otherwise, False if either value is null or if dt2 is equal to or before dt1. Raises: DHError """ + if not dt1 or not dt2: + return False + try: - return _JDateTimeUtils.year(dt, tz.value) + return _JDateTimeUtils.isBefore(dt1, dt2) except Exception as e: raise DHError(e) from e -def year_of_century(dt: DateTime, tz: TimeZone) -> int: - """ Returns the two-digit year for a DateTime in the specified time zone. +def is_before_or_equal(dt1: Union[Instant, ZonedDateTime], dt2: Union[Instant, ZonedDateTime]) -> bool: + """ Evaluates whether one date time value is before or equal to a second date time value. + Both values must be of the same type. Args: - dt (DateTime): the DateTime for which to find the year - tz (TimeZone): the TimeZone to use when interpreting the DateTime + dt1 (Union[Instant,ZonedDateTime]): First date time. + dt2 (Union[Instant,ZonedDateTime]): Second date time. Returns: - int + True if dt1 is before or equal to dt2; otherwise, False if either value is null or if dt2 is before dt1. Raises: DHError """ + if not dt1 or not dt2: + return False + try: - return _JDateTimeUtils.yearOfCentury(dt, tz.value) + return _JDateTimeUtils.isBeforeOrEqual(dt1, dt2) except Exception as e: raise DHError(e) from e + + +def is_after(dt1: Union[Instant, ZonedDateTime], dt2: Union[Instant, ZonedDateTime]) -> bool: + """ Evaluates whether one date time value is after a second date time value. + Both values must be of the same type. + + Args: + dt1 (Union[Instant,ZonedDateTime]): First date time. + dt2 (Union[Instant,ZonedDateTime]): Second date time. + + Returns: + True if dt1 is after dt2; otherwise, False if either value is null or if dt2 is equal to or after dt1. + + Raises: + DHError + """ + if not dt1 or not dt2: + return False + + try: + return _JDateTimeUtils.isAfter(dt1, dt2) + except Exception as e: + raise DHError(e) from e + + +def is_after_or_equal(dt1: Union[Instant, ZonedDateTime], dt2: Union[Instant, ZonedDateTime]) -> bool: + """ Evaluates whether one date time value is after or equal to a second date time value. + Both values must be of the same type. + + Args: + dt1 (Union[Instant,ZonedDateTime]): First date time. + dt2 (Union[Instant,ZonedDateTime]): Second date time. + + Returns: + True if dt1 is after or equal to dt2; otherwise, False if either value is null or if dt2 is after dt1. + + Raises: + DHError + """ + if not dt1 or not dt2: + return False + + try: + return _JDateTimeUtils.isAfterOrEqual(dt1, dt2) + except Exception as e: + raise DHError(e) from e + + +# endregion + +# region Chronology + +def nanos_of_milli(dt: Union[Instant, ZonedDateTime]) -> int: + """ Returns the number of nanoseconds that have elapsed since the top of the millisecond. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + + Returns: + Number of nanoseconds that have elapsed since the top of the millisecond, or NULL_INT if the input is None. + + Raises: + DHError + """ + if not dt: + return NULL_INT + + try: + return _JDateTimeUtils.nanosOfMilli(dt) + except Exception as e: + raise DHError(e) from e + + +def micros_of_milli(dt: Union[Instant, ZonedDateTime]) -> int: + """ Returns the number of microseconds that have elapsed since the top of the millisecond. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + + Returns: + Number of microseconds that have elapsed since the top of the millisecond, or NULL_INT if the input is None. + + Raises: + DHError + """ + if not dt: + return NULL_INT + + try: + return _JDateTimeUtils.microsOfMilli(dt) + except Exception as e: + raise DHError(e) from e + + +def nanos_of_second(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the number of nanoseconds that have elapsed since the top of the second. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Number of nanoseconds that have elapsed since the top of the second, or NULL_LONG if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_LONG + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.nanosOfSecond(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def micros_of_second(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the number of microseconds that have elapsed since the top of the second. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Number of microseconds that have elapsed since the top of the second, or NULL_LONG if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_LONG + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.microsOfSecond(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def millis_of_second(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the number of milliseconds that have elapsed since the top of the second. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Number of milliseconds that have elapsed since the top of the second, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.millisOfSecond(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def second_of_minute(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the number of seconds that have elapsed since the top of the minute. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Number of seconds that have elapsed since the top of the minute, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.secondOfMinute(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def minute_of_hour(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the number of minutes that have elapsed since the top of the hour. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Number of minutes that have elapsed since the top of the hour, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.minuteOfHour(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def nanos_of_day(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the number of nanoseconds that have elapsed since the top of the day. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Number of nanoseconds that have elapsed since the top of the day, or NULL_LONG if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_LONG + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.nanosOfDay(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def millis_of_day(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the number of milliseconds that have elapsed since the top of the day. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Number of milliseconds that have elapsed since the top of the day, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.millisOfDay(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def second_of_day(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the number of seconds that have elapsed since the top of the day. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Number of seconds that have elapsed since the top of the day, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.secondOfDay(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def minute_of_day(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the number of minutes that have elapsed since the top of the day. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Number of minutes that have elapsed since the top of the day, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.minuteOfDay(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def hour_of_day(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the number of hours that have elapsed since the top of the day. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Number of hours that have elapsed since the top of the day, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.hourOfDay(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def day_of_week(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns a 1-based int value of the day of the week for a date time in the specified time zone, with 1 being + Monday and 7 being Sunday. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Day of the week, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.dayOfWeek(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def day_of_month(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns a 1-based int value of the day of the month for a date time and specified time zone. + The first day of the month returns 1, the second day returns 2, etc. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Day of the month, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.dayOfMonth(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def day_of_year(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns a 1-based int value of the day of the year (Julian date) for a date time in the specified time zone. + The first day of the year returns 1, the second day returns 2, etc. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Day of the year, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.dayOfYear(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def month_of_year(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns a 1-based int value of the month of the year (Julian date) for a date time in the specified time zone. + January is 1, February is 2, etc. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Month of the year, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.monthOfYear(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def year(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the year for a date time in the specified time zone. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Year, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.year(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def year_of_century(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> int: + """ Returns the year of the century (two-digit year) for a date time in the specified time zone. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Year of the century, or NULL_INT if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return NULL_INT + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.yearOfCentury(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def at_midnight(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> Union[Instant, ZonedDateTime]: + """ Returns a date time for the prior midnight in the specified time zone. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + date time for the prior midnight in the specified time zone, or None if any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return None + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.atMidnight(dt, tz) + except Exception as e: + raise DHError(e) from e + + +# endregion + +# region Binning + +def lower_bin(dt: Union[Instant, ZonedDateTime], interval: Union[int, str], offset: Union[int, str] = 0) -> \ + Union[Instant, ZonedDateTime]: + """ Returns a date time value, which is at the starting (lower) end of a time range defined by the interval + nanoseconds. For example, a 5*MINUTE interval value would return the date time value for the start of the + five minute window that contains the input date time. + + Args: + dt (DateTime): the date time for which to evaluate the start of the containing window. + interval (Union[int,str]): the size of the window. Integer values are in nanoseconds, + and strings are parsed as Durations. + offset (Union[int,str]): the window start offset. Integer values are in nanoseconds, + and strings are parsed as Durations. For example, a value of MINUTE would offset all windows by one minute. + Default is 0. + + Returns: + DateTime + + Raises: + DHError + """ + try: + if isinstance(interval, str): + interval = parse_duration_nanos(interval) + + if isinstance(offset, str): + offset = parse_duration_nanos(offset) + + return _JDateTimeUtils.lowerBin(dt, interval, offset) + except Exception as e: + raise DHError(e) from e + + +def upper_bin(dt: Union[Instant, ZonedDateTime], interval: int, offset: int = 0) -> Union[Instant, ZonedDateTime]: + """ Returns a date time value, which is at the ending (upper) end of a time range defined by the interval + nanoseconds. For example, a 5*MINUTE interval value would return the date time value for the end of the five + minute window that contains the input date time. + + Args: + dt (DateTime): the date time for which to evaluate the end of the containing window. + interval (Union[int,str]): the size of the window. Integer values are in nanoseconds, + and strings are parsed as Durations. + offset (Union[int,str]): the window start offset. Integer values are in nanoseconds, + and strings are parsed as Durations. For example, a value of MINUTE would offset all windows by one minute. + Default is 0. + + Returns: + DateTime + + Raises: + DHError + """ + try: + if isinstance(interval, str): + interval = parse_duration_nanos(interval) + + if isinstance(offset, str): + offset = parse_duration_nanos(offset) + + return _JDateTimeUtils.upperBin(dt, interval, offset) + except Exception as e: + raise DHError(e) from e + + +# endregion + +# region Format + +def format_duration_nanos(nanos: int) -> str: + """ Returns a nanosecond duration formatted as a "[-]PThhh:mm:ss.nnnnnnnnn" string. + + Args: + nanos (int): Nanosecond. + + Returns: + Formatted string, or None if the input is NULL_INT. + + Raises: + DHError + """ + try: + return _JDateTimeUtils.formatDurationNanos(nanos) + except Exception as e: + raise DHError(e) from e + + +def format_datetime(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> str: + """ Returns a date time formatted as a "yyyy-MM-ddThh:mm:ss.SSSSSSSSS TZ" string. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Formatted string, or None if the any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return None + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.formatDateTime(dt, tz) + except Exception as e: + raise DHError(e) from e + + +def format_date(dt: Union[Instant, ZonedDateTime], tz: TimeZone) -> str: + """ Returns a date time formatted as a "yyyy-MM-dd" string. + + Args: + dt (Union[Instant,ZonedDateTime]): Date time. + tz (TimeZone): Time zone. + + Returns: + Formatted string, or None if the any input is None. + + Raises: + DHError + """ + try: + if not dt or not tz: + return None + + if from_jtype(dt.getClass()) == ZonedDateTime: + dt = to_instant(dt) + + return _JDateTimeUtils.formatDate(dt, tz) + except Exception as e: + raise DHError(e) from e + + +# endregion + +# region Parse + +def parse_time_zone(s: str, quiet: bool = False) -> Optional[TimeZone]: + """ Parses the string argument as a time zone. + + Args: + s (str): String to be converted. + quiet (bool): False will cause exceptions when strings can not be parsed. False will cause None to be returned. + + Returns: + Time Zone + + Raises: + DHError + """ + try: + if quiet: + return _JDateTimeUtils.parseTimeZoneQuiet(s) + else: + return _JDateTimeUtils.parseTimeZone(s) + except Exception as e: + raise DHError(e) from e + + +def parse_duration_nanos(s: str, quiet: bool = False) -> int: + """ Parses the string argument as a time duration in nanoseconds. + + Time duration strings can be formatted as '[-]PT[-]hh:mm:[ss.nnnnnnnnn]' or as a duration string + formatted as '[-]PnDTnHnMn.nS}'. + + Args: + s (str): String to be converted. + quiet (bool): False will cause exceptions when strings can not be parsed. + False will cause NULL_LONG to be returned. + + Returns: + number of nanoseconds represented by the string. + + Raises: + DHError + """ + try: + if quiet: + return _JDateTimeUtils.parseDurationNanosQuiet(s) + else: + return _JDateTimeUtils.parseDurationNanos(s) + except Exception as e: + raise DHError(e) from e + + +def parse_period(s: str, quiet: bool = False) -> Optional[Period]: + """ Parses the string argument as a period, which is a unit of time in terms of calendar time + (days, weeks, months, years, etc.). + + Period strings are formatted according to the ISO-8601 duration format as 'PnYnMnD' and 'PnW', where the + coefficients can be positive or negative. Zero coefficients can be omitted. Optionally, the string can + begin with a negative sign. + + Examples: + "P2Y" -- 2 Years + "P3M" -- 3 Months + "P4W" -- 4 Weeks + "P5D" -- 5 Days + "P1Y2M3D" -- 1 Year, 2 Months, 3 Days + "P-1Y2M" -- -1 Year, 2 Months + "-P1Y2M" -- -1 Year, -2 Months + + Args: + s (str): String to be converted. + quiet (bool): False will cause exceptions when strings can not be parsed. False will cause None to be returned. + + Returns: + Period represented by the string. + + Raises: + DHError + """ + try: + if quiet: + return _JDateTimeUtils.parsePeriodQuiet(s) + else: + return _JDateTimeUtils.parsePeriod(s) + except Exception as e: + raise DHError(e) from e + + +def parse_duration(s: str, quiet: bool = False) -> Optional[Duration]: + """ Parses the string argument as a duration, which is a unit of time in terms of clock time + (24-hour days, hours, minutes, seconds, and nanoseconds). + + Duration strings are formatted according to the ISO-8601 duration format as '[-]PnDTnHnMn.nS', where the + coefficients can be positive or negative. Zero coefficients can be omitted. Optionally, the string can + begin with a negative sign. + + Examples: + "PT20.345S" -- parses as "20.345 seconds" + "PT15M" -- parses as "15 minutes" (where a minute is 60 seconds) + "PT10H" -- parses as "10 hours" (where an hour is 3600 seconds) + "P2D" -- parses as "2 days" (where a day is 24 hours or 86400 seconds) + "P2DT3H4M" -- parses as "2 days, 3 hours and 4 minutes" + "PT-6H3M" -- parses as "-6 hours and +3 minutes" + "-PT6H3M" -- parses as "-6 hours and -3 minutes" + "-PT-6H+3M" -- parses as "+6 hours and -3 minutes" + + Args: + s (str): String to be converted. + quiet (bool): False will cause exceptions when strings can not be parsed. False will cause None to be returned. + + Returns: + Period represented by the string. + + Raises: + DHError + """ + try: + if quiet: + return _JDateTimeUtils.parseDurationQuiet(s) + else: + return _JDateTimeUtils.parseDuration(s) + except Exception as e: + raise DHError(e) from e + + +def parse_epoch_nanos(s: str, quiet: bool = False) -> int: + """ Parses the string argument as nanoseconds since the Epoch. + + Date time strings are formatted according to the ISO 8601 date time format + 'yyyy-MM-ddThh:mm:ss[.SSSSSSSSS] TZ' and others. + Additionally, date time strings can be integer values that are nanoseconds, milliseconds, or seconds + from the Epoch. Expected date ranges are used to infer the units. + + Args: + s (str): String to be converted. + quiet (bool): False will cause exceptions when strings can not be parsed. False will cause NULL_LONG to be returned. + + Returns: + Instant represented by the string. + + Raises: + DHError + """ + try: + if quiet: + return _JDateTimeUtils.parseEpochNanosQuiet(s) + else: + return _JDateTimeUtils.parseEpochNanos(s) + except Exception as e: + raise DHError(e) from e + + +def parse_instant(s: str, quiet: bool = False) -> Optional[Instant]: + """ Parses the string argument as an Instant. + + Date time strings are formatted according to the ISO 8601 date time format + 'yyyy-MM-ddThh:mm:ss[.SSSSSSSSS] TZ' and others. + Additionally, date time strings can be integer values that are nanoseconds, milliseconds, or seconds + from the Epoch. Expected date ranges are used to infer the units. + + Args: + s (str): String to be converted. + quiet (bool): False will cause exceptions when strings can not be parsed. False will cause None to be returned. + + Returns: + Instant represented by the string. + + Raises: + DHError + """ + try: + if quiet: + return _JDateTimeUtils.parseInstantQuiet(s) + else: + return _JDateTimeUtils.parseInstant(s) + except Exception as e: + raise DHError(e) from e + + +def parse_zdt(s: str, quiet: bool = False) -> Optional[ZonedDateTime]: + """ Parses the string argument as a ZonedDateTime. + + Date time strings are formatted according to the ISO 8601 date time format + '{@code 'yyyy-MM-ddThh:mm:ss[.SSSSSSSSS] TZ' and others. + + Args: + s (str): String to be converted. + quiet (bool): False will cause exceptions when strings can not be parsed. False will cause None to be returned. + + Returns: + Instant represented by the string. + + Raises: + DHError + """ + try: + if quiet: + return _JDateTimeUtils.parseZonedDateTimeQuiet(s) + else: + return _JDateTimeUtils.parseZonedDateTime(s) + except Exception as e: + raise DHError(e) from e + + +def parse_time_precision(s: str, quiet: bool = False) -> Optional[str]: + """ Returns a string indicating the level of precision in a time, datetime, or period nanos string. (e.g. 'SecondOfMinute'). + + Args: + s (str): Time string. + quiet (bool): False will cause exceptions when strings can not be parsed. False will cause None to be returned. + + Returns: + String indicating the level of precision in a time or datetime string (e.g. 'SecondOfMinute'). + + Raises: + DHError + """ + try: + if quiet: + p = _JDateTimeUtils.parseTimePrecisionQuiet(s) + + if p: + return p.toString() + else: + return None + else: + return _JDateTimeUtils.parseTimePrecision(s).toString() + except Exception as e: + raise DHError(e) from e + + +def parse_local_date(s: str, quiet: bool = False) -> Optional[LocalTime]: + """ Parses the string argument as a local date, which is a date without a time or time zone. + + Date strings are formatted according to the ISO 8601 date time format as 'YYYY-MM-DD}'. + + Args: + s (str): String to be converted. + quiet (bool): False will cause exceptions when strings can not be parsed. True will cause None to be returned. + + Returns: + LocalDate represented by the string. + + Raises: + DHError + """ + try: + if quiet: + return _JDateTimeUtils.parseLocalDateQuiet(s) + else: + return _JDateTimeUtils.parseLocalDate(s) + except Exception as e: + raise DHError(e) from e + + +def parse_local_time(s: str, quiet: bool = False) -> Optional[LocalTime]: + """ Parses the string argument as a local time, which is the time that would be read from a clock and + does not have a date or timezone. + + Local time strings can be formatted as 'hh:mm:ss[.nnnnnnnnn]'. + + Args: + s (str): String to be converted. + quiet (bool): False will cause exceptions when strings can not be parsed. True will cause None to be returned. + + Returns: + LocalTime represented by the string. + + Raises: + DHError + """ + try: + if quiet: + return _JDateTimeUtils.parseLocalTimeQuiet(s) + else: + return _JDateTimeUtils.parseLocalTime(s) + except Exception as e: + raise DHError(e) from e + +# endregion diff --git a/py/server/deephaven/updateby.py b/py/server/deephaven/updateby.py index 9c7208377cb..1afeab7ba80 100644 --- a/py/server/deephaven/updateby.py +++ b/py/server/deephaven/updateby.py @@ -153,7 +153,7 @@ def ema_time(ts_col: str, decay_time: Union[int, str], cols: Union[str, List[str Args: ts_col (str): the column in the source table to use for timestamps decay_time (Union[int, str]): the decay rate, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the ema operation on all columns. op_control (OperationControl): defines how special cases should behave, when None, the default OperationControl @@ -166,7 +166,7 @@ def ema_time(ts_col: str, decay_time: Union[int, str], cols: Union[str, List[str DHError """ try: - decay_time = _JDateTimeUtils.expressionToNanos(decay_time) if isinstance(decay_time, str) else decay_time + decay_time = _JDateTimeUtils.parseDurationNanos(decay_time) if isinstance(decay_time, str) else decay_time cols = to_sequence(cols) if op_control is None: return UpdateByOperation(j_updateby_op=_JUpdateByOperation.Ema(ts_col, decay_time, *cols)) @@ -222,7 +222,7 @@ def ems_time(ts_col: str, decay_time: Union[int, str], cols: Union[str, List[str Args: ts_col (str): the column in the source table to use for timestamps decay_time (Union[int, str]): the decay rate, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the ems operation on all columns. op_control (OperationControl): defines how special cases should behave, when None, the default OperationControl @@ -235,7 +235,7 @@ def ems_time(ts_col: str, decay_time: Union[int, str], cols: Union[str, List[str DHError """ try: - decay_time = _JDateTimeUtils.expressionToNanos(decay_time) if isinstance(decay_time, str) else decay_time + decay_time = _JDateTimeUtils.parseDurationNanos(decay_time) if isinstance(decay_time, str) else decay_time cols = to_sequence(cols) if op_control is None: return UpdateByOperation(j_updateby_op=_JUpdateByOperation.Ems(ts_col, decay_time, *cols)) @@ -291,7 +291,7 @@ def emmin_time(ts_col: str, decay_time: Union[int, str], cols: Union[str, List[s Args: ts_col (str): the column in the source table to use for timestamps decay_time (Union[int, str]): the decay rate, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the operation on all columns. op_control (OperationControl): defines how special cases should behave, when None, the default OperationControl @@ -304,7 +304,7 @@ def emmin_time(ts_col: str, decay_time: Union[int, str], cols: Union[str, List[s DHError """ try: - decay_time = _JDateTimeUtils.expressionToNanos(decay_time) if isinstance(decay_time, str) else decay_time + decay_time = _JDateTimeUtils.parseDurationNanos(decay_time) if isinstance(decay_time, str) else decay_time cols = to_sequence(cols) if op_control is None: return UpdateByOperation(j_updateby_op=_JUpdateByOperation.EmMin(ts_col, decay_time, *cols)) @@ -361,7 +361,7 @@ def emmax_time(ts_col: str, decay_time: Union[int, str], cols: Union[str, List[s ts_col (str): the column in the source table to use for timestamps decay_time (Union[int, str]): the decay rate, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the operation on all columns. op_control (OperationControl): defines how special cases should behave, when None, the default OperationControl @@ -374,7 +374,7 @@ def emmax_time(ts_col: str, decay_time: Union[int, str], cols: Union[str, List[s DHError """ try: - decay_time = _JDateTimeUtils.expressionToNanos(decay_time) if isinstance(decay_time, str) else decay_time + decay_time = _JDateTimeUtils.parseDurationNanos(decay_time) if isinstance(decay_time, str) else decay_time cols = to_sequence(cols) if op_control is None: return UpdateByOperation(j_updateby_op=_JUpdateByOperation.EmMax(ts_col, decay_time, *cols)) @@ -433,7 +433,7 @@ def emstd_time(ts_col: str, decay_time: Union[int, str], cols: Union[str, List[s Args: ts_col (str): the column in the source table to use for timestamps decay_time (Union[int, str]): the decay rate, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the ems operation on all columns. op_control (OperationControl): defines how special cases should behave, when None, the default OperationControl @@ -446,7 +446,7 @@ def emstd_time(ts_col: str, decay_time: Union[int, str], cols: Union[str, List[s DHError """ try: - decay_time = _JDateTimeUtils.expressionToNanos(decay_time) if isinstance(decay_time, str) else decay_time + decay_time = _JDateTimeUtils.parseDurationNanos(decay_time) if isinstance(decay_time, str) else decay_time cols = to_sequence(cols) if op_control is None: return UpdateByOperation(j_updateby_op=_JUpdateByOperation.EmStd(ts_col, decay_time, *cols)) @@ -642,15 +642,15 @@ def rolling_sum_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i Here are some examples of window values: rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp - rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + rev_time = "PT00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( inclusive) rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + rev_time = "PT00:10:00", fwd_time = "PT00:10:00" - contains rows from 10m before through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + rev_time = "PT00:10:00", fwd_time = "-PT00:05:00" - contains rows from 10m before through 5m before the current row timestamp (inclusive), this is a purely backwards looking window - rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + rev_time = "-PT00:05:00", fwd_time = "PT00:10:00"} - contains rows from 5m following through 10m following the current row timestamp (inclusive), this is a purely forwards looking window Args: @@ -658,9 +658,9 @@ def rolling_sum_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the rolling sum operation on all columns. rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001", default is 0 + interval string, e.g. "PT00:00:00.001", default is 0 Returns: an UpdateByOperation @@ -670,8 +670,8 @@ def rolling_sum_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i """ try: cols = to_sequence(cols) - rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time - fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + rev_time = _JDateTimeUtils.parseDurationNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.parseDurationNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingSum(ts_col, rev_time, fwd_time, *cols)) except Exception as e: raise DHError(e, "failed to create a rolling sum (time) UpdateByOperation.") from e @@ -724,15 +724,15 @@ def rolling_group_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union Here are some examples of window values: rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp - rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + rev_time = "PT00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( inclusive) rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + rev_time = "PT00:10:00", fwd_time = "PT00:10:00" - contains rows from 10m before through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + rev_time = "PT00:10:00", fwd_time = "-PT00:05:00" - contains rows from 10m before through 5m before the current row timestamp (inclusive), this is a purely backwards looking window - rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + rev_time = "-PT00:05:00", fwd_time = "PT00:10:00"} - contains rows from 5m following through 10m following the current row timestamp (inclusive), this is a purely forwards looking window Args: @@ -740,9 +740,9 @@ def rolling_group_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the rolling group operation on all columns. rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001", default is 0 + interval string, e.g. "PT00:00:00.001", default is 0 Returns: an UpdateByOperation @@ -752,8 +752,8 @@ def rolling_group_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union """ try: cols = to_sequence(cols) - rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time - fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + rev_time = _JDateTimeUtils.parseDurationNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.parseDurationNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingGroup(ts_col, rev_time, fwd_time, *cols)) except Exception as e: raise DHError(e, "failed to create a rolling group (time) UpdateByOperation.") from e @@ -806,15 +806,15 @@ def rolling_avg_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i Here are some examples of window values: rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp - rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + rev_time = "PT00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( inclusive) rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + rev_time = "PT00:10:00", fwd_time = "PT00:10:00" - contains rows from 10m before through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + rev_time = "PT00:10:00", fwd_time = "-PT00:05:00" - contains rows from 10m before through 5m before the current row timestamp (inclusive), this is a purely backwards looking window - rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + rev_time = "-PT00:05:00", fwd_time = "PT00:10:00"} - contains rows from 5m following through 10m following the current row timestamp (inclusive), this is a purely forwards looking window Args: @@ -822,9 +822,9 @@ def rolling_avg_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the rolling average operation on all columns. rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001", default is 0 + interval string, e.g. "PT00:00:00.001", default is 0 Returns: an UpdateByOperation @@ -834,8 +834,8 @@ def rolling_avg_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i """ try: cols = to_sequence(cols) - rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time - fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + rev_time = _JDateTimeUtils.parseDurationNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.parseDurationNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingAvg(ts_col, rev_time, fwd_time, *cols)) except Exception as e: raise DHError(e, "failed to create a rolling average (time) UpdateByOperation.") from e @@ -888,15 +888,15 @@ def rolling_min_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i Here are some examples of window values: rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp - rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + rev_time = "PT00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( inclusive) rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + rev_time = "PT00:10:00", fwd_time = "PT00:10:00" - contains rows from 10m before through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + rev_time = "PT00:10:00", fwd_time = "-PT00:05:00" - contains rows from 10m before through 5m before the current row timestamp (inclusive), this is a purely backwards looking window - rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + rev_time = "-PT00:05:00", fwd_time = "PT00:10:00"} - contains rows from 5m following through 10m following the current row timestamp (inclusive), this is a purely forwards looking window Args: @@ -904,9 +904,9 @@ def rolling_min_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the rolling minimum operation on all columns. rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001", default is 0 + interval string, e.g. "PT00:00:00.001", default is 0 Returns: an UpdateByOperation @@ -916,8 +916,8 @@ def rolling_min_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i """ try: cols = to_sequence(cols) - rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time - fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + rev_time = _JDateTimeUtils.parseDurationNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.parseDurationNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingMin(ts_col, rev_time, fwd_time, *cols)) except Exception as e: raise DHError(e, "failed to create a rolling minimum (time) UpdateByOperation.") from e @@ -970,15 +970,15 @@ def rolling_max_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i Here are some examples of window values: rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp - rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + rev_time = "PT00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( inclusive) rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + rev_time = "PT00:10:00", fwd_time = "PT00:10:00" - contains rows from 10m before through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + rev_time = "PT00:10:00", fwd_time = "-PT00:05:00" - contains rows from 10m before through 5m before the current row timestamp (inclusive), this is a purely backwards looking window - rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + rev_time = "-PT00:05:00", fwd_time = "PT00:10:00"} - contains rows from 5m following through 10m following the current row timestamp (inclusive), this is a purely forwards looking window Args: @@ -986,9 +986,9 @@ def rolling_max_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the rolling maximum operation on all columns. rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001", default is 0 + interval string, e.g. "PT00:00:00.001", default is 0 Returns: an UpdateByOperation @@ -998,8 +998,8 @@ def rolling_max_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i """ try: cols = to_sequence(cols) - rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time - fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + rev_time = _JDateTimeUtils.parseDurationNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.parseDurationNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingMax(ts_col, rev_time, fwd_time, *cols)) except Exception as e: raise DHError(e, "failed to create a rolling maximum (time) UpdateByOperation.") from e @@ -1052,15 +1052,15 @@ def rolling_prod_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[ Here are some examples of window values: rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp - rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + rev_time = "PT00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( inclusive) rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + rev_time = "PT00:10:00", fwd_time = "PT00:10:00" - contains rows from 10m before through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + rev_time = "PT00:10:00", fwd_time = "-PT00:05:00" - contains rows from 10m before through 5m before the current row timestamp (inclusive), this is a purely backwards looking window - rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + rev_time = "-PT00:05:00", fwd_time = "PT00:10:00"} - contains rows from 5m following through 10m following the current row timestamp (inclusive), this is a purely forwards looking window Args: @@ -1068,9 +1068,9 @@ def rolling_prod_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[ cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the rolling product operation on all columns. rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001", default is 0 + interval string, e.g. "PT00:00:00.001", default is 0 Returns: an UpdateByOperation @@ -1080,8 +1080,8 @@ def rolling_prod_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[ """ try: cols = to_sequence(cols) - rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time - fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + rev_time = _JDateTimeUtils.parseDurationNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.parseDurationNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingProduct(ts_col, rev_time, fwd_time, *cols)) except Exception as e: raise DHError(e, "failed to create a rolling product (time) UpdateByOperation.") from e @@ -1134,15 +1134,15 @@ def rolling_count_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union Here are some examples of window values: rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp - rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + rev_time = "PT00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( inclusive) rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + rev_time = "PT00:10:00", fwd_time = "PT00:10:00" - contains rows from 10m before through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + rev_time = "PT00:10:00", fwd_time = "-PT00:05:00" - contains rows from 10m before through 5m before the current row timestamp (inclusive), this is a purely backwards looking window - rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + rev_time = "-PT00:05:00", fwd_time = "PT00:10:00"} - contains rows from 5m following through 10m following the current row timestamp (inclusive), this is a purely forwards looking window Args: @@ -1150,9 +1150,9 @@ def rolling_count_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the rolling count operation on all columns. rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001", default is 0 + interval string, e.g. "PT00:00:00.001", default is 0 Returns: an UpdateByOperation @@ -1162,8 +1162,8 @@ def rolling_count_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union """ try: cols = to_sequence(cols) - rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time - fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + rev_time = _JDateTimeUtils.parseDurationNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.parseDurationNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingCount(ts_col, rev_time, fwd_time, *cols)) except Exception as e: raise DHError(e, "failed to create a rolling count (time) UpdateByOperation.") from e @@ -1216,15 +1216,15 @@ def rolling_std_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i Here are some examples of window values: rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp - rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + rev_time = "PT00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( inclusive) rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + rev_time = "PT00:10:00", fwd_time = "PT00:10:00" - contains rows from 10m before through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + rev_time = "PT00:10:00", fwd_time = "-PT00:05:00" - contains rows from 10m before through 5m before the current row timestamp (inclusive), this is a purely backwards looking window - rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + rev_time = "-PT00:05:00", fwd_time = "PT00:10:00"} - contains rows from 5m following through 10m following the current row timestamp (inclusive), this is a purely forwards looking window Args: @@ -1232,9 +1232,9 @@ def rolling_std_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the rolling standard deviation operation on all columns. rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001", default is 0 + interval string, e.g. "PT00:00:00.001", default is 0 Returns: an UpdateByOperation @@ -1244,8 +1244,8 @@ def rolling_std_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i """ try: cols = to_sequence(cols) - rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time - fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + rev_time = _JDateTimeUtils.parseDurationNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.parseDurationNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingStd(ts_col, rev_time, fwd_time, *cols)) except Exception as e: raise DHError(e, "failed to create a rolling standard deviation (time) UpdateByOperation.") from e @@ -1301,15 +1301,15 @@ def rolling_wavg_time(ts_col: str, weight_col: str, cols: Union[str, List[str]], Here are some examples of window values: rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp - rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + rev_time = "PT00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( inclusive) rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + rev_time = "PT00:10:00", fwd_time = "PT00:10:00" - contains rows from 10m before through 10m following the current row timestamp (inclusive) - rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + rev_time = "PT00:10:00", fwd_time = "-PT00:05:00" - contains rows from 10m before through 5m before the current row timestamp (inclusive), this is a purely backwards looking window - rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + rev_time = "-PT00:05:00", fwd_time = "PT00:10:00"} - contains rows from 5m following through 10m following the current row timestamp (inclusive), this is a purely forwards looking window Args: @@ -1318,9 +1318,9 @@ def rolling_wavg_time(ts_col: str, weight_col: str, cols: Union[str, List[str]], i.e. "new_col = col"; when empty, update_by perform the rolling weighted average operation on all columns. weight_col (str): the column containing the weight values rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001" + interval string, e.g. "PT00:00:00.001" fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time - interval string, e.g. "00:00:00.001", default is 0 + interval string, e.g. "PT00:00:00.001", default is 0 Returns: an UpdateByOperation @@ -1330,8 +1330,8 @@ def rolling_wavg_time(ts_col: str, weight_col: str, cols: Union[str, List[str]], """ try: cols = to_sequence(cols) - rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time - fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + rev_time = _JDateTimeUtils.parseDurationNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.parseDurationNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingWAvg(ts_col, rev_time, fwd_time, weight_col, *cols)) except Exception as e: raise DHError(e, "failed to create a rolling weighted average (time) UpdateByOperation.") from e \ No newline at end of file diff --git a/py/server/tests/test_arrow.py b/py/server/tests/test_arrow.py index 96cefc17e73..5cbfc42d1b1 100644 --- a/py/server/tests/test_arrow.py +++ b/py/server/tests/test_arrow.py @@ -10,10 +10,11 @@ import pyarrow as pa import pyarrow.parquet as papq -from deephaven import arrow as dharrow, dtypes, new_table, time_table +from deephaven import arrow as dharrow, new_table, time_table from deephaven.column import byte_col, char_col, short_col, int_col, long_col, float_col, double_col, \ string_col, datetime_col, bool_col from deephaven.table import Table +from deephaven.time import epoch_nanos_to_instant from tests.testbase import BaseTestCase @@ -33,7 +34,7 @@ def setUpClass(cls) -> None: float_col(name="Float", data=[1.01, -1.01]), double_col(name="Double", data=[1.01, -1.01]), string_col(name="String", data=["foo", "bar"]), - datetime_col(name="Datetime", data=[dtypes.DateTime(1), dtypes.DateTime(-1)]), + datetime_col(name="Datetime", data=[epoch_nanos_to_instant(1), epoch_nanos_to_instant(-1)]), ] cls.test_table = new_table(cols=cols) @@ -187,7 +188,7 @@ def test_round_trip_cols(self): self.assert_table_equals(dh_table_1, dh_table) def test_ticking_table(self): - table = time_table("00:00:00.001").update(["X = i", "Y = String.valueOf(i)"]) + table = time_table("PT00:00:00.001").update(["X = i", "Y = String.valueOf(i)"]) self.wait_ticking_table_update(table, row_count=100, timeout=5) pa_table = dharrow.to_arrow(table) self.assertEqual(len(pa_table.columns), 3) diff --git a/py/server/tests/test_calendar.py b/py/server/tests/test_calendar.py index aa318f26b9d..34321b35ca7 100644 --- a/py/server/tests/test_calendar.py +++ b/py/server/tests/test_calendar.py @@ -49,7 +49,7 @@ def test_calendar(self): self.assertIsNotNone(default_calendar.previous_day(current_date)) self.assertIsNotNone(default_calendar.next_day(current_date)) self.assertIsNotNone(default_calendar.day_of_week(current_date).name) - self.assertEqual(default_calendar.time_zone, get_server_timezone()) + self.assertEqual(default_calendar.time_zone, time.time_zone("America/New_York")) self.assertEqual(self.test_calendar.previous_day(self.b_day), self.prev_b_day) self.assertEqual(self.test_calendar.next_day(self.b_day), self.next_b_day) @@ -66,10 +66,10 @@ def test_business_period(self): b_periods = self.test_calendar.business_schedule(self.b_day1).business_periods self.assertEqual(len(b_periods), 1) p = b_periods[0] - s = time.format_datetime(p.start_time, time.TimeZone.NY) - self.assertEqual(p.start_time, time.to_datetime(s)) - s = time.format_datetime(p.end_time, time.TimeZone.NY) - self.assertEqual(p.end_time, time.to_datetime(s)) + s = time.format_datetime(p.start_time, time.time_zone('America/New_York')) + self.assertEqual(p.start_time, time.parse_instant(s)) + s = time.format_datetime(p.end_time, time.time_zone('America/New_York')) + self.assertEqual(p.end_time, time.parse_instant(s)) self.assertEqual(p.length, 6.5 * 60 * 60 * 10 ** 9) def test_business_schedule_business_day(self): @@ -85,14 +85,14 @@ def test_business_schedule_business_day(self): self.assertTrue(b_schedule.is_business_time(b_period.start_time)) self.assertTrue(b_schedule.is_business_time(b_period.end_time)) - non_b_time = time.minus_nanos(b_schedule.start_of_day, 1) + non_b_time = time.minus_period(b_schedule.start_of_day, 1) self.assertFalse(b_schedule.is_business_time(non_b_time)) - non_b_time = time.plus_nanos(b_schedule.end_of_day, 1) + non_b_time = time.plus_period(b_schedule.end_of_day, 1) self.assertFalse(b_schedule.is_business_time(non_b_time)) - b_time = time.plus_nanos(b_schedule.start_of_day, 10 * 10 ** 9) + b_time = time.plus_period(b_schedule.start_of_day, 10 * 10 ** 9) self.assertEqual(10 * 10 ** 9, b_schedule.business_time_elapsed(b_time)) - b_time = time.plus_nanos(b_schedule.end_of_day, 10 * 10 ** 9) + b_time = time.plus_period(b_schedule.end_of_day, 10 * 10 ** 9) self.assertEqual(b_period.length, b_schedule.business_time_elapsed(b_time)) def test_business_calendar(self): diff --git a/py/server/tests/test_column.py b/py/server/tests/test_column.py index df6b7be9734..d57e9b9547f 100644 --- a/py/server/tests/test_column.py +++ b/py/server/tests/test_column.py @@ -12,6 +12,7 @@ string_col, datetime_col, jobj_col, ColumnType from deephaven.constants import MAX_BYTE, MAX_SHORT, MAX_INT, MAX_LONG from deephaven.jcompat import j_array_list +from deephaven.time import epoch_nanos_to_instant from tests.testbase import BaseTestCase @@ -53,7 +54,7 @@ def test_column_error(self): _ = string_col(name="String", data=[1, -1.01]) with self.assertRaises(DHError) as cm: - _ = datetime_col(name="Datetime", data=[dtypes.DateTime(round(time.time())), False]) + _ = datetime_col(name="Datetime", data=[epoch_nanos_to_instant(round(time.time())), False]) with self.assertRaises(DHError) as cm: _ = jobj_col(name="JObj", data=[jobj, CustomClass(-1, "-1")]) diff --git a/py/server/tests/test_config.py b/py/server/tests/test_config.py index c2ac33aca28..b2a5d46b7c8 100644 --- a/py/server/tests/test_config.py +++ b/py/server/tests/test_config.py @@ -6,7 +6,7 @@ import unittest from deephaven.config import get_server_timezone -from deephaven.time import TimeZone +from deephaven.time import time_zone from tests.testbase import BaseTestCase @@ -14,7 +14,7 @@ class ConfigTestCase(BaseTestCase): def test_get_server_timezone(self): tz = get_server_timezone() - self.assertIn(tz, [tz for tz in TimeZone]) + self.assertEqual(tz, time_zone(None)) if __name__ == '__main__': diff --git a/py/server/tests/test_dtypes.py b/py/server/tests/test_dtypes.py index b812e7b43ea..877a45be946 100644 --- a/py/server/tests/test_dtypes.py +++ b/py/server/tests/test_dtypes.py @@ -12,8 +12,8 @@ from deephaven import dtypes from deephaven.constants import * -from deephaven.dtypes import DateTime -from deephaven.time import now +from deephaven.dtypes import Instant, LocalDate, LocalTime, Duration, Period, TimeZone, ZonedDateTime +from deephaven.time import now, to_zdt, time_zone from tests.testbase import BaseTestCase @@ -45,10 +45,17 @@ def test_j_type(self): self.assertEqual(dtypes.string.j_type, jpy.get_type("java.lang.String")) self.assertEqual(dtypes.BigDecimal.j_type, jpy.get_type("java.math.BigDecimal")) self.assertEqual(dtypes.StringSet.j_type, jpy.get_type("io.deephaven.stringset.StringSet")) - self.assertEqual(dtypes.DateTime.j_type, jpy.get_type("io.deephaven.time.DateTime")) - self.assertEqual(dtypes.Period.j_type, jpy.get_type("io.deephaven.time.Period")) + self.assertEqual(dtypes.Instant.j_type, jpy.get_type("java.time.Instant")) + self.assertEqual(dtypes.LocalDate.j_type, jpy.get_type("java.time.LocalDate")) + self.assertEqual(dtypes.LocalTime.j_type, jpy.get_type("java.time.LocalTime")) + self.assertEqual(dtypes.ZonedDateTime.j_type, jpy.get_type("java.time.ZonedDateTime")) + self.assertEqual(dtypes.Duration.j_type, jpy.get_type("java.time.Duration")) + self.assertEqual(dtypes.Period.j_type, jpy.get_type("java.time.Period")) + self.assertEqual(dtypes.TimeZone.j_type, jpy.get_type("java.time.ZoneId")) self.assertEqual(dtypes.PyObject.j_type, jpy.get_type("org.jpy.PyObject")) self.assertEqual(dtypes.JObject.j_type, jpy.get_type("java.lang.Object")) + self.assertEqual(dtypes.instant_array.j_type, jpy.get_type("[Ljava.time.Instant;")) + self.assertEqual(dtypes.zdt_array.j_type, jpy.get_type("[Ljava.time.ZonedDateTime;")) def test_np_type(self): self.assertEqual(dtypes.bool_.np_type, np.bool_) @@ -62,14 +69,17 @@ def test_np_type(self): self.assertEqual(dtypes.string.np_type, np.str_) self.assertEqual(dtypes.BigDecimal.np_type, np.object_) self.assertEqual(dtypes.StringSet.np_type, np.object_) - self.assertEqual(dtypes.DateTime.np_type, np.dtype("datetime64[ns]")) + self.assertEqual(dtypes.Instant.np_type, np.dtype("datetime64[ns]")) + self.assertEqual(dtypes.LocalDate.np_type, np.object_) + self.assertEqual(dtypes.LocalTime.np_type, np.object_) + self.assertEqual(dtypes.ZonedDateTime.np_type, np.object_) + self.assertEqual(dtypes.Duration.np_type, np.object_) self.assertEqual(dtypes.Period.np_type, np.object_) + self.assertEqual(dtypes.TimeZone.np_type, np.object_) self.assertEqual(dtypes.PyObject.np_type, np.object_) self.assertEqual(dtypes.JObject.np_type, np.object_) - - def test_period(self): - hour_period = dtypes.Period.j_type("T1H") - self.assertTrue(isinstance(hour_period, dtypes.Period.j_type)) + self.assertEqual(dtypes.instant_array.np_type, np.object_) + self.assertEqual(dtypes.zdt_array.np_type, np.object_) def test_callable(self): big_decimal = dtypes.BigDecimal(12.88) @@ -185,12 +195,50 @@ def remap_char(v): self.assertIn("[C", str(type(j_array))) self.assertEqual(expected, py_array) - def test_datetime(self): - dt1 = DateTime(round(time.time())) + def test_instant(self): + dt1 = Instant.j_type.ofEpochSecond(0,round(time.time())) dt2 = now() values = [dt1, dt2, None] - j_array = dtypes.array(DateTime, values) + j_array = dtypes.array(Instant, values) + self.assertTrue(all(x == y for x, y in zip(j_array, values))) + + def test_local_date(self): + s = "2010-02-03" + l = LocalDate.j_type.parse(s) + self.assertEqual(s, str(l)) + self.assertTrue(isinstance(l, dtypes.LocalDate.j_type)) + + def test_local_time(self): + s = "12:14" + l = LocalTime.j_type.parse(s) + self.assertEqual(s, str(l)) + self.assertTrue(isinstance(l, dtypes.LocalTime.j_type)) + + def test_time_zone(self): + s = "America/New_York" + l = TimeZone.j_type.of(s) + self.assertEqual(s, str(l)) + self.assertTrue(isinstance(l, dtypes.TimeZone.j_type)) + + def test_duration(self): + s = "PT2H" + l = Duration.j_type.parse(s) + self.assertEqual(s, str(l)) + self.assertTrue(isinstance(l, dtypes.Duration.j_type)) + + def test_period(self): + s = "P3D" + l = Period.j_type.parse(s) + self.assertEqual(s, str(l)) + self.assertTrue(isinstance(l, dtypes.Period.j_type)) + + def test_zdt(self): + dt1 = ZonedDateTime.j_type.now() + dt2 = to_zdt(now(),time_zone(None)) + values = [dt1, dt2, None] + j_array = dtypes.array(ZonedDateTime, values) self.assertTrue(all(x == y for x, y in zip(j_array, values))) + self.assertTrue(isinstance(dt1, dtypes.ZonedDateTime.j_type)) def test_bool_array(self): np_array = np.array([True, False], np.bool_) diff --git a/py/server/tests/test_experiments.py b/py/server/tests/test_experiments.py index f57fafb9258..a37cb31633a 100644 --- a/py/server/tests/test_experiments.py +++ b/py/server/tests/test_experiments.py @@ -23,7 +23,7 @@ def tearDown(self) -> None: def test_full_outer_join(self): with self.subTest("full outer join with matching keys"): - t1 = time_table("00:00:00.001").update(["a = i", "b = i * 2"]) + t1 = time_table("PT00:00:00.001").update(["a = i", "b = i * 2"]) t2 = empty_table(100).update(["c = i", "d = i * 2"]) self.wait_ticking_table_update(t1, row_count=100, timeout=5) rt = full_outer_join(t1, t2, on="a = c") @@ -44,7 +44,7 @@ def test_full_outer_join(self): def test_left_outer_join(self): with self.subTest("left outer join with matching keys"): - t1 = time_table("00:00:00.001").update(["a = i", "b = i * 2"]) + t1 = time_table("PT00:00:00.001").update(["a = i", "b = i * 2"]) t2 = empty_table(100).update(["c = i", "d = i * 2"]) self.wait_ticking_table_update(t1, row_count=100, timeout=5) rt = left_outer_join(t1, t2, on="a = c") @@ -65,7 +65,7 @@ def test_left_outer_join(self): def test_time_window(self): with exclusive_lock(): - source_table = time_table("00:00:00.01").update(["TS=currentTime()"]) + source_table = time_table("PT00:00:00.01").update(["TS=now()"]) t = time_window(source_table, ts_col="TS", window=10 ** 8, bool_col="InWindow") self.assertEqual("InWindow", t.columns[-1].name) diff --git a/py/server/tests/test_kafka_consumer.py b/py/server/tests/test_kafka_consumer.py index 76359a04d1e..acfc5f1897c 100644 --- a/py/server/tests/test_kafka_consumer.py +++ b/py/server/tests/test_kafka_consumer.py @@ -19,7 +19,7 @@ def _assert_common_cols(self, cols): self.assertEqual("KafkaOffset", cols[1].name) self.assertEqual(dtypes.long, cols[1].data_type) self.assertEqual("KafkaTimestamp", cols[2].name) - self.assertEqual(dtypes.DateTime, cols[2].data_type) + self.assertEqual(dtypes.Instant, cols[2].data_type) def test_basic_constants(self): """ @@ -62,7 +62,7 @@ def test_json_spec(self): ('Side', dtypes.string), ('Price', dtypes.double), ('Qty', dtypes.int_), - ('Tstamp', dtypes.DateTime)], + ('Tstamp', dtypes.Instant)], mapping={ 'jsymbol': 'Symbol', 'jside': 'Side', @@ -87,7 +87,7 @@ def test_json_spec(self): self.assertEqual("Qty", cols[6].name) self.assertEqual(dtypes.int_, cols[6].data_type) self.assertEqual("Tstamp", cols[7].name) - self.assertEqual(dtypes.DateTime, cols[7].data_type) + self.assertEqual(dtypes.Instant, cols[7].data_type) def test_avro_spec(self): """ @@ -221,7 +221,7 @@ def test_json_spec_partitioned_table(self): ('Side', dtypes.string), ('Price', dtypes.double), ('Qty', dtypes.int_), - ('Tstamp', dtypes.DateTime)], + ('Tstamp', dtypes.Instant)], mapping={ 'jsymbol': 'Symbol', 'jside': 'Side', @@ -246,7 +246,7 @@ def test_json_spec_partitioned_table(self): self.assertEqual("Qty", cols[6].name) self.assertEqual(dtypes.int_, cols[6].data_type) self.assertEqual("Tstamp", cols[7].name) - self.assertEqual(dtypes.DateTime, cols[7].data_type) + self.assertEqual(dtypes.Instant, cols[7].data_type) if __name__ == "__main__": diff --git a/py/server/tests/test_liveness.py b/py/server/tests/test_liveness.py index 3f62dc438a2..d0e8fa955d1 100644 --- a/py/server/tests/test_liveness.py +++ b/py/server/tests/test_liveness.py @@ -15,7 +15,7 @@ def create_table(): with exclusive_lock(): - return time_table("00:00:00.001").update(["X=i%11"]).sort("X").tail(16) + return time_table("PT00:00:00.001").update(["X=i%11"]).sort("X").tail(16) class LivenessTestCase(BaseTestCase): diff --git a/py/server/tests/test_numpy.py b/py/server/tests/test_numpy.py index dab261e466d..5393ab68e38 100644 --- a/py/server/tests/test_numpy.py +++ b/py/server/tests/test_numpy.py @@ -13,6 +13,7 @@ from deephaven.constants import NULL_LONG, MAX_LONG from deephaven.numpy import to_numpy, to_table from deephaven.jcompat import j_array_list +from deephaven.time import epoch_nanos_to_instant from tests.testbase import BaseTestCase @@ -38,7 +39,7 @@ def setUp(self): float_col(name="Float", data=[1.01, -1.01]), double_col(name="Double", data=[1.01, -1.01]), string_col(name="String", data=["foo", "bar"]), - datetime_col(name="Datetime", data=[dtypes.DateTime(1), dtypes.DateTime(-1)]), + datetime_col(name="Datetime", data=[epoch_nanos_to_instant(1), epoch_nanos_to_instant(-1)]), pyobj_col(name="PyObj", data=[CustomClass(1, "1"), CustomClass(-1, "-1")]), pyobj_col(name="PyObj1", data=[[1, 2, 3], CustomClass(-1, "-1")]), pyobj_col(name="PyObj2", data=[False, 'False']), diff --git a/py/server/tests/test_pandas.py b/py/server/tests/test_pandas.py index e34cddf80c6..d4abc9fb75b 100644 --- a/py/server/tests/test_pandas.py +++ b/py/server/tests/test_pandas.py @@ -16,7 +16,7 @@ from deephaven.constants import NULL_LONG, NULL_SHORT, NULL_INT, NULL_BYTE from deephaven.jcompat import j_array_list from deephaven.pandas import to_pandas, to_table -from deephaven.time import to_datetime +from deephaven.time import parse_instant, epoch_nanos_to_instant from tests.testbase import BaseTestCase @@ -42,7 +42,7 @@ def setUp(self): float_col(name="Float_", data=[1.01, -1.01]), double_col(name="Double_", data=[1.01, -1.01]), string_col(name="String", data=["foo", "bar"]), - datetime_col(name="Datetime", data=[dtypes.DateTime(1), dtypes.DateTime(-1)]), + datetime_col(name="Datetime", data=[epoch_nanos_to_instant(1), epoch_nanos_to_instant(-1)]), pyobj_col(name="PyObj", data=[CustomClass(1, "1"), CustomClass(-1, "-1")]), pyobj_col(name="PyObj1", data=[[1, 2, 3], CustomClass(-1, "-1")]), pyobj_col(name="PyObj2", data=[False, 'False']), @@ -129,13 +129,13 @@ def test_to_table_boolean_with_none(self): self.assert_table_equals(table_from_df, prepared_table) def test_to_table_datetime_with_none(self): - datetime_str = "2021-12-10T23:59:59 NY" - dt = to_datetime(datetime_str) + datetime_str = "2021-12-10T23:59:59 ET" + dt = parse_instant(datetime_str) - datetime_str = "2021-12-10T23:59:59 HI" - dt1 = to_datetime(datetime_str) + datetime_str = "2021-12-10T23:59:59 US/Hawaii" + dt1 = parse_instant(datetime_str) - input_cols = [datetime_col(name="Datetime", data=[dtypes.DateTime(1), None, dt, dt1])] + input_cols = [datetime_col(name="Datetime", data=[epoch_nanos_to_instant(1), None, dt, dt1])] table_with_null_dt = new_table(cols=input_cols) df = to_pandas(table_with_null_dt) @@ -156,7 +156,7 @@ def test_round_trip_with_nulls(self): long_col(name="Long_", data=[1, NULL_LONG]), float_col(name="Float_", data=[1.01, np.nan]), double_col(name="Double_", data=[1.01, np.nan]), - datetime_col(name="Datetime", data=[dtypes.DateTime(1), None]), + datetime_col(name="Datetime", data=[epoch_nanos_to_instant(1), None]), pyobj_col(name="PyObj", data=[CustomClass(1, "1"), None]), ] test_table = new_table(cols=input_cols) @@ -247,7 +247,7 @@ def test_arrow_backend_nulls(self): long_col(name="Long_", data=[1, NULL_LONG]), float_col(name="Float_", data=[1.01, np.nan]), double_col(name="Double_", data=[1.01, np.nan]), - datetime_col(name="Datetime", data=[dtypes.DateTime(1), None]), + datetime_col(name="Datetime", data=[epoch_nanos_to_instant(1), None]), string_col(name="String", data=["text1", None]) # pyobj_col(name="PyObj", data=[CustomClass(1, "1"), None]), #DH arrow export it as strings ] @@ -266,7 +266,7 @@ def test_np_nullable_backend_nulls(self): long_col(name="Long_", data=[1, NULL_LONG]), float_col(name="Float_", data=[1.01, np.nan]), double_col(name="Double_", data=[1.01, np.nan]), - datetime_col(name="Datetime", data=[dtypes.DateTime(1), None]), + datetime_col(name="Datetime", data=[epoch_nanos_to_instant(1), None]), string_col(name="String", data=["text1", None]), # pyobj_col(name="PyObj", data=[CustomClass(1, "1"), None]), # DH arrow export it as strings ] @@ -288,7 +288,7 @@ def test_numpy_array(self): df = pd.DataFrame(df_dict) dh_t = to_table(df) for c in dh_t.columns: - self.assertEqual(c.data_type, dtypes.DateTime) + self.assertEqual(c.data_type, dtypes.Instant) def test_pandas_category_type(self): df = pd.DataFrame({ diff --git a/py/server/tests/test_parquet.py b/py/server/tests/test_parquet.py index 8d53fdedcdd..0b3f699c7f2 100644 --- a/py/server/tests/test_parquet.py +++ b/py/server/tests/test_parquet.py @@ -14,6 +14,7 @@ from deephaven.column import InputColumn from deephaven.parquet import write, batch_write, read, delete, ColumnInstruction from deephaven.table import Table +from deephaven.time import epoch_nanos_to_instant from tests.testbase import BaseTestCase @@ -165,7 +166,7 @@ def test_round_trip_data(self): "someByteColumn = (byte)i", "someCharColumn = (char)i", # TODO(deephaven-core#3151) pyarrow indicates this value is out of the allowed range - # "someTime = DateTime.now() + i", + # "someTime = DateTimeUtils.now() + i", "someKey = `` + (int)(i /100)", "nullKey = i < -1?`123`:null", "nullIntColumn = (int)null", @@ -176,7 +177,7 @@ def test_round_trip_data(self): "nullShortColumn = (short)null", "nullByteColumn = (byte)null", "nullCharColumn = (char)null", - "nullTime = (DateTime)null", + "nullTime = (Instant)null", "nullString = (String)null", # TODO(deephaven-core#3151) BigInteger/BigDecimal columns don't roundtrip cleanly # "nullBigDecColumn = (java.math.BigDecimal)null", diff --git a/py/server/tests/test_partitioned_table.py b/py/server/tests/test_partitioned_table.py index 0dc6271c538..327ac621b6a 100644 --- a/py/server/tests/test_partitioned_table.py +++ b/py/server/tests/test_partitioned_table.py @@ -141,7 +141,7 @@ def test_partitioned_transform(self): def test_partition_agg(self): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) self.wait_ticking_table_update(test_table, row_count=1, timeout=5) agg = partition("aggPartition", include_by_columns=True) pt = PartitionedTable.from_partitioned_table(test_table.agg_by(agg, ["Y"])) @@ -158,7 +158,7 @@ def test_partition_agg(self): def test_from_partitioned_table(self): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) pt = test_table.partition_by("Y") self.assertTrue(pt.is_refreshing) @@ -190,10 +190,10 @@ def test_from_partitioned_table(self): def test_from_constituent_tables(self): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) - test_table1 = time_table("00:00:01").update(["X=i", "Y=i%23", "Z=X*Y"]) - test_table2 = time_table("00:00:00.001").update(["X=i", "Y=i%23", "Z=`foo`"]) - test_table3 = time_table("00:00:00.001").update(["X=i", "Y=i%23", "Z=(int)(X*Y)"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table1 = time_table("PT00:00:01").update(["X=i", "Y=i%23", "Z=X*Y"]) + test_table2 = time_table("PT00:00:00.001").update(["X=i", "Y=i%23", "Z=`foo`"]) + test_table3 = time_table("PT00:00:00.001").update(["X=i", "Y=i%23", "Z=(int)(X*Y)"]) pt = PartitionedTable.from_constituent_tables([test_table, test_table1]) self.assertEqual("__CONSTITUENT__", pt.constituent_column) @@ -212,7 +212,7 @@ def test_keys(self): self.assertEqual(keys_table.size, select_distinct_table.size) with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) pt = test_table.partition_by("Y") self.wait_ticking_table_update(test_table, row_count=20, timeout=5) keys_table = pt.keys() diff --git a/py/server/tests/test_plot/test_plot.py b/py/server/tests/test_plot/test_plot.py index 359ed9a6617..5d7fce2e2f5 100644 --- a/py/server/tests/test_plot/test_plot.py +++ b/py/server/tests/test_plot/test_plot.py @@ -10,7 +10,7 @@ from deephaven.plot import Shape from deephaven.plot import PlotStyle from deephaven.plot import Figure -from deephaven.time import TimeZone +from deephaven.time import time_zone from tests.testbase import BaseTestCase @@ -54,7 +54,7 @@ def test_axis_format(self): axis = new_f.axis(format=nanos_aix_format) self.assertIsNotNone(axis) - nanos_aix_format = NanosAxisFormat(tz=TimeZone.PT) + nanos_aix_format = NanosAxisFormat(tz=time_zone("PT")) nanos_aix_format.set_pattern("yyyy-MM-dd'T'HH:mm") axis = new_f.axis(format=nanos_aix_format) self.assertIsNotNone(axis) diff --git a/py/server/tests/test_pt_proxy.py b/py/server/tests/test_pt_proxy.py index 6e3228fa83d..5a42c4bc2e3 100644 --- a/py/server/tests/test_pt_proxy.py +++ b/py/server/tests/test_pt_proxy.py @@ -28,7 +28,7 @@ def test_target(self): def test_is_refreshing(self): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) pt = test_table.partition_by("Y") proxy = pt.proxy() @@ -64,7 +64,7 @@ def test_snapshot(self): def test_snapshot_when(self): with self.subTest("snapshot_when with a Table"): - trigger_proxy = time_table("00:00:01") + trigger_proxy = time_table("PT00:00:01") result_proxy = self.pt_proxy.snapshot_when(trigger_proxy) self.assertEqual(6, len(result_proxy.target.constituent_table_columns)) self.wait_ticking_proxy_table_update(result_proxy, 1, 5) @@ -72,7 +72,7 @@ def test_snapshot_when(self): self.assertEqual(len(result_proxy.target.constituent_tables), len(self.pt_proxy.target.constituent_tables)) with self.subTest("snapshot_when with another Proxy"): - trigger_proxy = time_table("00:00:00.001").update_view(["c = (int)(ii % 1000)"]).partition_by("c", drop_keys=True).proxy() + trigger_proxy = time_table("PT00:00:00.001").update_view(["c = (int)(ii % 1000)"]).partition_by("c", drop_keys=True).proxy() lenient_proxy = self.partitioned_table.proxy(require_matching_keys=False) result_proxy = lenient_proxy.snapshot_when(trigger_proxy) self.wait_ticking_proxy_table_update(result_proxy, 1, 5) diff --git a/py/server/tests/test_replay.py b/py/server/tests/test_replay.py index 34d7ef63d37..b8eb0ef5f94 100644 --- a/py/server/tests/test_replay.py +++ b/py/server/tests/test_replay.py @@ -6,15 +6,15 @@ from deephaven import DHError, new_table, TableReplayer from deephaven.column import int_col, datetime_col -from deephaven.time import to_datetime +from deephaven.time import parse_instant from tests.testbase import BaseTestCase class ReplayTestCase(BaseTestCase): - def test_historical_table_replayer(self): - dt1 = to_datetime("2000-01-01T00:00:01 NY") - dt2 = to_datetime("2000-01-01T00:00:02 NY") - dt3 = to_datetime("2000-01-01T00:00:04 NY") + def historical_table_replayer(self, start_time, end_time): + dt1 = parse_instant("2000-01-01T00:00:01 ET") + dt2 = parse_instant("2000-01-01T00:00:02 ET") + dt3 = parse_instant("2000-01-01T00:00:04 ET") hist_table = new_table( [datetime_col("DateTime", [dt1, dt2, dt3]), int_col("Number", [1, 3, 6])] @@ -24,9 +24,6 @@ def test_historical_table_replayer(self): [datetime_col("DateTime", [dt1, dt2, dt3]), int_col("Number", [1, 3, 6])] ) - start_time = to_datetime("2000-01-01T00:00:00 NY") - end_time = to_datetime("2000-01-01T00:00:05 NY") - replayer = TableReplayer(start_time, end_time) replay_table = replayer.add_table(hist_table, "DateTime") replay_table2 = replayer.add_table(hist_table2, "DateTime") @@ -57,6 +54,17 @@ def test_historical_table_replayer(self): self.wait_ticking_table_update(replay_table, row_count=3, timeout=60) replayer.shutdown() + def test_historical_table_replayer_instant(self): + start_time = parse_instant("2000-01-01T00:00:00 ET") + end_time = parse_instant("2000-01-01T00:00:05 ET") + + self.historical_table_replayer(start_time, end_time) + + def test_historical_table_replayer_str(self): + start_time = "2000-01-01T00:00:00 ET" + end_time = "2000-01-01T00:00:05 ET" + + self.historical_table_replayer(start_time, end_time) if __name__ == "__main__": unittest.main() diff --git a/py/server/tests/test_table.py b/py/server/tests/test_table.py index 1b664083cf0..f29091bd55d 100644 --- a/py/server/tests/test_table.py +++ b/py/server/tests/test_table.py @@ -14,6 +14,8 @@ from deephaven.jcompat import j_hashmap from deephaven.pandas import to_pandas from deephaven.table import Table, SearchDisplayMode +from deephaven.time import epoch_nanos_to_instant +from tests.testbase import BaseTestCase from tests.testbase import BaseTestCase, table_equals @@ -519,7 +521,7 @@ def test_partitioned_agg_by(self): self.assertEqual(result_pt.keys().to_string(), result_pt2.keys().reverse().to_string()) def test_snapshot_when(self): - t = time_table("00:00:01").update_view(["X = i * i", "Y = i + i"]) + t = time_table("PT00:00:01").update_view(["X = i * i", "Y = i + i"]) with self.subTest("with defaults"): snapshot = self.test_table.snapshot_when(t) self.wait_ticking_table_update(snapshot, row_count=1, timeout=5) @@ -540,7 +542,7 @@ def test_snapshot_when(self): self.assertEqual(len(snapshot.columns), len(self.test_table.columns) + 2) def test_snapshot_when_with_history(self): - t = time_table("00:00:01") + t = time_table("PT00:00:01") snapshot_hist = self.test_table.snapshot_when(t, history=True) self.wait_ticking_table_update(snapshot_hist, row_count=1, timeout=5) self.assertEqual(1 + len(self.test_table.columns), len(snapshot_hist.columns)) @@ -744,7 +746,7 @@ def inner_func(p) -> str: return t.to_string().split()[2] with make_user_exec_ctx(), ugp.shared_lock(): - t = time_table("00:00:01").update("X = i").update("TableString = inner_func(X + 10)") + t = time_table("PT00:00:01").update("X = i").update("TableString = inner_func(X + 10)") self.wait_ticking_table_update(t, row_count=5, timeout=10) self.assertIn("100", t.to_string()) @@ -794,7 +796,7 @@ def test_ticking_table_scope(self): from deephaven import ugp x = 1 with ugp.shared_lock(): - rt = time_table("00:00:01").update("X = x") + rt = time_table("PT00:00:01").update("X = x") self.wait_ticking_table_update(rt, row_count=1, timeout=5) self.verify_table_data(rt, [1]) for i in range(2, 5): @@ -805,7 +807,7 @@ def test_ticking_table_scope(self): x = SimpleNamespace() x.v = 1 with ugp.shared_lock(): - rt = time_table("00:00:01").update("X = x.v").drop_columns("Timestamp") + rt = time_table("PT00:00:01").update("X = x.v").drop_columns("Timestamp") self.wait_ticking_table_update(rt, row_count=1, timeout=5) for i in range(2, 5): @@ -830,7 +832,7 @@ def test_python_field_access(self): def test_slice(self): with ugp.shared_lock(): - t = time_table("00:00:00.01") + t = time_table("PT00:00:00.01") rt = t.slice(0, 3) self.assert_table_equals(t.head(3), rt) @@ -932,11 +934,11 @@ def make_pairs_3(tid, a, b): def test_callable_attrs_in_query(self): input_cols = [ - datetime_col(name="DTCol", data=[dtypes.DateTime(1), dtypes.DateTime(10000000)]), + datetime_col(name="DTCol", data=[epoch_nanos_to_instant(1), epoch_nanos_to_instant(10000000)]), ] test_table = new_table(cols=input_cols) from deephaven.time import year, TimeZone - rt = test_table.update("Year = (int)year(DTCol, TimeZone.NY)") + rt = test_table.update("Year = (int)year(DTCol, timeZone(`ET`))") self.assertEqual(rt.size, test_table.size) class Foo: @@ -984,7 +986,7 @@ def test_await_update(self): with self.assertRaises(DHError): empty_table(10).await_update() - time_t = time_table("00:00:00.001") + time_t = time_table("PT00:00:00.001") updated = time_t.await_update() self.assertTrue(updated) updated = time_t.update("X = i % 2").where("X = 2").await_update(0) @@ -1005,7 +1007,7 @@ def test_range_join(self): self.assertEqual(len(result_table.columns), len(left_table.columns) + len(aggs)) with self.assertRaises(DHError): - time_table("00:00:00.001").update("a = i").range_join(right_table, on=["a = a", "a < b < c"], aggs=aggs) + time_table("PT00:00:00.001").update("a = i").range_join(right_table, on=["a = a", "a < b < c"], aggs=aggs) def test_agg_with_options(self): test_table = self.test_table.update(["b = a % 10 > 5 ? null : b", "c = c % 10"]) diff --git a/py/server/tests/test_table_factory.py b/py/server/tests/test_table_factory.py index 483ae31d2e6..29edd7d23a7 100644 --- a/py/server/tests/test_table_factory.py +++ b/py/server/tests/test_table_factory.py @@ -13,6 +13,7 @@ string_col, datetime_col, pyobj_col, jobj_col from deephaven.constants import NULL_DOUBLE, NULL_FLOAT, NULL_LONG, NULL_INT, NULL_SHORT, NULL_BYTE from deephaven.table_factory import DynamicTableWriter, ring_table +from deephaven.time import epoch_nanos_to_instant, format_datetime, time_zone from tests.testbase import BaseTestCase JArrayList = jpy.get_type("java.util.ArrayList") @@ -45,39 +46,39 @@ def test_empty_table_error(self): self.assertIn("no matching Java method overloads found", cm.exception.compact_traceback) def test_time_table(self): - t = time_table("00:00:01") + t = time_table("PT00:00:01") self.assertEqual(1, len(t.columns)) self.assertTrue(t.is_refreshing) - t = time_table("00:00:01", start_time="2021-11-06T13:21:00 NY") + t = time_table("PT00:00:01", start_time="2021-11-06T13:21:00 ET") self.assertEqual(1, len(t.columns)) self.assertTrue(t.is_refreshing) - self.assertEqual("2021-11-06T13:21:00.000000000 NY", t.j_table.getColumnSource("Timestamp").get(0).toString()) + self.assertEqual("2021-11-06T13:21:00.000000000 ET", format_datetime(t.j_table.getColumnSource("Timestamp").get(0), time_zone('ET'))) t = time_table(1000_000_000) self.assertEqual(1, len(t.columns)) self.assertTrue(t.is_refreshing) - t = time_table(1000_1000_1000, start_time="2021-11-06T13:21:00 NY") + t = time_table(1000_1000_1000, start_time="2021-11-06T13:21:00 ET") self.assertEqual(1, len(t.columns)) self.assertTrue(t.is_refreshing) - self.assertEqual("2021-11-06T13:21:00.000000000 NY", t.j_table.getColumnSource("Timestamp").get(0).toString()) + self.assertEqual("2021-11-06T13:21:00.000000000 ET", format_datetime(t.j_table.getColumnSource("Timestamp").get(0), time_zone('ET'))) def test_time_table_error(self): with self.assertRaises(DHError) as cm: - t = time_table("00:0a:01") + t = time_table("PT00:0a:01") - self.assertIn("IllegalArgumentException", cm.exception.root_cause) + self.assertIn("DateTimeParseException", cm.exception.root_cause) def test_merge(self): - t1 = self.test_table.update(formulas=["Timestamp=new io.deephaven.time.DateTime(0L)"]) - t2 = self.test_table.update(formulas=["Timestamp=io.deephaven.time.DateTime.now()"]) + t1 = self.test_table.update(formulas=["Timestamp=epochNanosToInstant(0L)"]) + t2 = self.test_table.update(formulas=["Timestamp=nowSystem()"]) mt = merge([t1, t2]) self.assertFalse(mt.is_refreshing) def test_merge_sorted_error(self): - t1 = time_table("00:00:01") - t2 = self.test_table.update(formulas=["Timestamp=io.deephaven.time.DateTime.now()"]) + t1 = time_table("PT00:00:01") + t2 = self.test_table.update(formulas=["Timestamp=nowSystem()"]) with self.assertRaises(DHError) as cm: mt = merge_sorted(order_by="a", tables=[t1, t2]) self.assertFalse(mt.is_refreshing) @@ -102,7 +103,7 @@ def test_new_table(self): float_col(name="Float", data=[1.01, -1.01]), double_col(name="Double", data=[1.01, -1.01]), string_col(name="String", data=["foo", "bar"]), - datetime_col(name="Datetime", data=[dtypes.DateTime(1), dtypes.DateTime(-1)]), + datetime_col(name="Datetime", data=[epoch_nanos_to_instant(1), epoch_nanos_to_instant(-1)]), pyobj_col(name="PyObj", data=[CustomClass(1, "1"), CustomClass(-1, "-1")]), pyobj_col(name="PyObj1", data=[[1, 2, 3], CustomClass(-1, "-1")]), pyobj_col(name="PyObj2", data=[False, 'False']), diff --git a/py/server/tests/test_table_listener.py b/py/server/tests/test_table_listener.py index 27c4b623aef..b74c73f4716 100644 --- a/py/server/tests/test_table_listener.py +++ b/py/server/tests/test_table_listener.py @@ -60,8 +60,8 @@ class TableListenerTestCase(BaseTestCase): def setUp(self) -> None: super().setUp() with exclusive_lock(): - self.test_table = time_table("00:00:00.001").update(["X=i%11"]).sort("X").tail(16) - source_table = time_table("00:00:00.001").update(["TS=currentTime()"]) + self.test_table = time_table("PT00:00:00.001").update(["X=i%11"]).sort("X").tail(16) + source_table = time_table("PT00:00:00.001").update(["TS=now()"]) self.test_table2 = time_window(source_table, ts_col="TS", window=10 ** 7, bool_col="InWindow") def tearDown(self) -> None: diff --git a/py/server/tests/test_time.py b/py/server/tests/test_time.py index 4b18b85a22d..540741fde63 100644 --- a/py/server/tests/test_time.py +++ b/py/server/tests/test_time.py @@ -4,284 +4,891 @@ import unittest from time import sleep +import datetime +from deephaven import dtypes from deephaven.constants import NULL_LONG, NULL_INT from deephaven.time import * from tests.testbase import BaseTestCase class TimeTestCase(BaseTestCase): - def test_to_datetime(self): - datetime_str = "2021-12-10T23:59:59" - timezone_str = "NY" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertTrue(str(dt).startswith(datetime_str)) - with self.assertRaises(DHError) as cm: - datetime_str = "2021-12-10T23:59:59" - timezone_str = "--" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertIn("RuntimeException", str(cm.exception)) + # region Constants + + def test_constants(self): + self.assertEqual(1000,MICRO) + self.assertEqual(1000000,MILLI) + self.assertEqual(1000000000,SECOND) + self.assertEqual(60*1000000000,MINUTE) + self.assertEqual(60*60*1000000000,HOUR) + self.assertEqual(24*60*60*1000000000,DAY) + self.assertEqual(7*24*60*60*1000000000,WEEK) + self.assertEqual(365*24*60*60*1000000000,YEAR_365) + self.assertEqual(31556952000000000,YEAR_AVG) + + self.assertEqual(1/SECOND, SECONDS_PER_NANO) + self.assertEqual(1/MINUTE, MINUTES_PER_NANO) + self.assertEqual(1/HOUR, HOURS_PER_NANO) + self.assertEqual(1/DAY, DAYS_PER_NANO) + self.assertEqual(1/YEAR_365, YEARS_PER_NANO_365) + self.assertEqual(1/YEAR_AVG, YEARS_PER_NANO_AVG) + + # endregion + + # region: CLock + + def test_now(self): + for system in [True, False]: + for resolution in ['ns', 'ms']: + dt = now(system=system, resolution=resolution) + sleep(1) + dt1 = now(system=system, resolution=resolution) + self.assertGreaterEqual(diff_nanos(dt, dt1), 100000000) + + def test_today(self): + tz = time_zone("UTC") + td = today(tz) + target = datetime.datetime.utcnow().date().strftime('%Y-%m-%d') + self.assertEqual(td, target) + + # endregion + + # region: Time Zone + + def test_time_zone(self): + tz = time_zone("America/New_York") + self.assertEqual(str(tz), "America/New_York") + + tz = time_zone("CT") + self.assertEqual(str(tz), "America/Chicago") + + tz = time_zone(None) + self.assertEqual(str(tz), "Etc/UTC") + + def test_time_zone_alias_add_rm(self): + alias = "TestAlias" + tz_str = "Etc/UTC" - def test_to_period(self): - period_str = "1W" - period = to_period(period_str) - self.assertEqual(str(period).upper(), period_str) + with self.assertRaises(DHError) as cm: + time_zone(alias) - period_str = "T1M" - period = to_period(period_str) - self.assertEqual(str(period).upper(), period_str) + self.assertFalse(time_zone_alias_rm(alias)) + time_zone_alias_add(alias, tz_str) + tz = time_zone(alias) + self.assertEqual(str(tz), tz_str) + self.assertTrue(time_zone_alias_rm(alias)) with self.assertRaises(DHError) as cm: - period_str = "T1Y" - period = to_period(period_str) - self.assertIn("RuntimeException", str(cm.exception)) + time_zone(alias) - def test_to_nanos(self): - time_str = "530000:59:39.123456789" - in_nanos = to_nanos(time_str) - self.assertEqual(str(in_nanos), "1908003579123456789") - with self.assertRaises(DHError) as cm: - time_str = "530000:59:39.X" - in_nanos = to_nanos(time_str) - self.assertIn("RuntimeException", str(cm.exception)) + # endregion + + # region: Conversions: Time Units - time_str = "00:59:39.X" - in_nanos = to_nanos(time_str, quiet=True) - self.assertEqual(in_nanos, NULL_LONG) + def test_micros_to_nanos(self): + t = 123456789 + self.assertEqual(t * 10 ** 3, micros_to_nanos(t)) + self.assertEqual(NULL_LONG, micros_to_nanos(NULL_LONG)) - time_str = "1:02:03" - in_nanos = to_nanos(time_str) - time_str2 = format_nanos(in_nanos) - self.assertEqual(time_str2, time_str) + def test_millis_to_nanos(self): + t = 123456789 + self.assertEqual(t * 10 ** 6, millis_to_nanos(t)) + self.assertEqual(NULL_LONG, millis_to_nanos(NULL_LONG)) - def test_current_time_and_diff(self): - dt = now() - sleep(1) - dt1 = now() - self.assertGreaterEqual(diff_nanos(dt, dt1), 100000000) + def test_seconds_to_nanos(self): + t = 123456789 + self.assertEqual(t * 10 ** 9, seconds_to_nanos(t)) + self.assertEqual(NULL_LONG, seconds_to_nanos(NULL_LONG)) - def test_datetime_at_midnight(self): - datetime_str = "2021-12-10T02:59:59" - timezone_str = "NY" - dt = to_datetime(f"{datetime_str} {timezone_str}") - mid_night_time_ny = datetime_at_midnight(dt, TimeZone.NY) - mid_night_time_pt = datetime_at_midnight(dt, TimeZone.PT) - self.assertEqual( - diff_nanos(mid_night_time_ny, mid_night_time_pt) // 10 ** 9, -21 * 60 * 60 - ) - - # DST ended in NY but not in PT - datetime_str = "2021-11-08T02:59:59" - timezone_str = "NY" - dt = to_datetime(f"{datetime_str} {timezone_str}") - mid_night_time_ny = datetime_at_midnight(dt, TimeZone.NY) - mid_night_time_pt = datetime_at_midnight(dt, TimeZone.PT) - self.assertEqual( - diff_nanos(mid_night_time_ny, mid_night_time_pt) // 10 ** 9, -22 * 60 * 60 - ) + def test_nanos_to_micros(self): + t = 123456789 + self.assertEqual(t // 10 ** 3, nanos_to_micros(t)) + self.assertEqual(NULL_LONG, nanos_to_micros(NULL_LONG)) - def test_day_of_month(self): - dt = now() - self.assertIn(day_of_month(dt, TimeZone.MT), range(1, 32)) - datetime_str = "2021-12-01T00:01:05" - timezone_str = "HI" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertEqual(day_of_month(dt, TimeZone.HI), 1) - self.assertEqual(day_of_month(None, TimeZone.HI), NULL_INT) + def test_millis_to_micros(self): + t = 123456789 + self.assertEqual(t * 10 ** 3, millis_to_micros(t)) + self.assertEqual(NULL_LONG, millis_to_micros(NULL_LONG)) - def test_day_of_week(self): - dt = now() - self.assertIn(day_of_week(dt, TimeZone.MT), range(1, 8)) - self.assertEqual(day_of_week(None, TimeZone.MT), NULL_INT) + def test_seconds_to_micros(self): + t = 123456789 + self.assertEqual(t * 10 ** 6, seconds_to_micros(t)) + self.assertEqual(NULL_LONG, seconds_to_micros(NULL_LONG)) - def test_day_of_year(self): - dt = now() - self.assertIn(day_of_year(dt, TimeZone.MT), range(1, 366)) - self.assertEqual(day_of_year(None, TimeZone.MT), NULL_INT) + def test_nanos_to_millis(self): + t = 123456789 + self.assertEqual(t // 10 ** 6, nanos_to_millis(t)) + self.assertEqual(NULL_LONG, nanos_to_millis(NULL_LONG)) - def test_format_datetime(self): - dt = now() - self.assertIn(TimeZone.SYD.name, format_datetime(dt, TimeZone.SYD)) + def test_micros_to_millis(self): + t = 123456789 + self.assertEqual(t // 10 ** 3, micros_to_millis(t)) + self.assertEqual(NULL_LONG, micros_to_millis(NULL_LONG)) + + def test_seconds_to_millis(self): + t = 123456789 + self.assertEqual(t * 10 ** 3, seconds_to_millis(t)) + self.assertEqual(NULL_LONG, seconds_to_millis(NULL_LONG)) + + def test_nanos_to_seconds(self): + t = 123456789 + self.assertEqual(t // 10 ** 9, nanos_to_seconds(t)) + self.assertEqual(NULL_LONG, nanos_to_seconds(NULL_LONG)) + + def test_micros_to_seconds(self): + t = 123456789 + self.assertEqual(t // 10 ** 6, micros_to_seconds(t)) + self.assertEqual(NULL_LONG, micros_to_seconds(NULL_LONG)) + + def test_millis_to_seconds(self): + t = 123456789 + self.assertEqual(t // 10 ** 3, millis_to_seconds(t)) + self.assertEqual(NULL_LONG, millis_to_seconds(NULL_LONG)) + + + # endregion + + # region: Conversions: Date Time Types + + def test_to_instant(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_zdt("2021-12-10T14:21:17.123456789 ET") + + self.assertEqual(dt1, to_instant(dt2)) + self.assertEquals(None,to_instant(None)) + + def test_to_zdt(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_zdt("2021-12-10T14:21:17.123456789 ET") + + self.assertEqual(dt2, to_zdt(dt1, time_zone("ET"))) + self.assertEquals(None,to_zdt(None, time_zone("ET"))) + + def test_make_instant(self): + dt = parse_instant("2021-12-10T14:21:17.123456789 ET") + ld = parse_local_date("2021-12-10") + lt = parse_local_time("14:21:17.123456789") + tz = time_zone("ET") + + self.assertEqual(dt, make_instant(ld, lt, tz)) + self.assertEquals(None,make_instant(ld, lt, None)) + self.assertEquals(None,make_instant(ld, None, tz)) + self.assertEquals(None,make_instant(None, lt, tz)) + + def test_make_zdt(self): + dt = parse_zdt("2021-12-10T14:21:17.123456789 ET") + ld = parse_local_date("2021-12-10") + lt = parse_local_time("14:21:17.123456789") + tz = time_zone("ET") + + self.assertEqual(dt, make_zdt(ld, lt, tz)) + self.assertEquals(None,make_zdt(ld, lt, None)) + self.assertEquals(None,make_zdt(ld, None, tz)) + self.assertEquals(None,make_zdt(None, lt, tz)) + + def test_to_local_date(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_zdt("2021-12-10T14:21:17.123456789 ET") + tz = time_zone("ET") + ld = parse_local_date("2021-12-10") + + self.assertEqual(ld, to_local_date(dt1, tz)) + self.assertEqual(ld, to_local_date(dt2, tz)) + self.assertEquals(None,to_local_date(dt1, None)) + self.assertEquals(None,to_local_date(dt2, None)) + self.assertEquals(None,to_local_date(None, tz)) + + def test_to_local_time(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_zdt("2021-12-10T14:21:17.123456789 ET") + tz = time_zone("ET") + lt = parse_local_time("14:21:17.123456789") + + self.assertEqual(lt, to_local_time(dt1, tz)) + self.assertEqual(lt, to_local_time(dt2, tz)) + self.assertEquals(None,to_local_time(dt1, None)) + self.assertEquals(None,to_local_time(dt2, None)) + self.assertEquals(None,to_local_time(None, tz)) + + # endregion + + # region: Conversions: Epoch + + def test_epoch_nanos(self): + nanos = 12345678987654321 + dt = dtypes.Instant.j_type.ofEpochSecond(0, nanos) + self.assertEqual(nanos, epoch_nanos(dt)) + self.assertEqual(NULL_LONG, epoch_nanos(None)) + + def test_epoch_micros(self): + nanos = 12345678987654321 + dt = dtypes.Instant.j_type.ofEpochSecond(0, nanos) + self.assertEqual(nanos // 10**3, epoch_micros(dt)) + self.assertEqual(NULL_LONG, epoch_micros(None)) + + def test_epoch_millis(self): + nanos = 12345678987654321 + dt = dtypes.Instant.j_type.ofEpochSecond(0, nanos) + self.assertEqual(nanos // 10**6, epoch_millis(dt)) + self.assertEqual(NULL_LONG, epoch_millis(None)) + + def test_epoch_seconds(self): + nanos = 12345678987654321 + dt = dtypes.Instant.j_type.ofEpochSecond(0, nanos) + self.assertEqual(nanos // 10**9, epoch_seconds(dt)) + self.assertEqual(NULL_LONG, epoch_seconds(None)) + + def test_epoch_nanos_to_instant(self): + nanos = 12345678987654321 + dt = dtypes.Instant.j_type.ofEpochSecond(0, nanos) + self.assertEqual(dt, epoch_nanos_to_instant(nanos)) + self.assertEquals(None,epoch_nanos_to_instant(NULL_LONG)) + + def test_epoch_micros_to_instant(self): + nanos = 12345678987654321 + micros = nanos // 10**3 + dt = dtypes.Instant.j_type.ofEpochSecond(0, micros * 10**3) + self.assertEqual(dt, epoch_micros_to_instant(micros)) + self.assertEquals(None,epoch_micros_to_instant(NULL_LONG)) + + def test_epoch_millis_to_instant(self): + nanos = 12345678987654321 + millis = nanos // 10**6 + dt = dtypes.Instant.j_type.ofEpochSecond(0, millis * 10**6) + self.assertEqual(dt, epoch_millis_to_instant(millis)) + self.assertEquals(None,epoch_millis_to_instant(NULL_LONG)) + + def test_epoch_seconds_to_instant(self): + nanos = 12345678987654321 + seconds = nanos // 10**9 + dt = dtypes.Instant.j_type.ofEpochSecond(0, seconds * 10**9) + self.assertEqual(dt, epoch_seconds_to_instant(seconds)) + self.assertEquals(None,epoch_seconds_to_instant(NULL_LONG)) + + def test_epoch_nanos_to_zdt(self): + tz = time_zone("ET") + nanos = 12345678987654321 + dt = dtypes.Instant.j_type.ofEpochSecond(0, nanos).atZone(tz) + self.assertEqual(dt, epoch_nanos_to_zdt(nanos, tz)) + self.assertEquals(None,epoch_nanos_to_zdt(NULL_LONG, tz)) + + def test_epoch_micros_to_zdt(self): + tz = time_zone("ET") + nanos = 12345678987654321 + micros = nanos // 10**3 + dt = dtypes.Instant.j_type.ofEpochSecond(0, micros * 10**3).atZone(tz) + self.assertEqual(dt, epoch_micros_to_zdt(micros, tz)) + self.assertEquals(None,epoch_micros_to_zdt(NULL_LONG, tz)) + + def test_epoch_millis_to_zdt(self): + tz = time_zone("ET") + nanos = 12345678987654321 + millis = nanos // 10**6 + dt = dtypes.Instant.j_type.ofEpochSecond(0, millis * 10**6).atZone(tz) + self.assertEqual(dt, epoch_millis_to_zdt(millis, tz)) + self.assertEquals(None,epoch_millis_to_zdt(NULL_LONG, tz)) + + def test_epoch_seconds_to_zdt(self): + tz = time_zone("ET") + nanos = 12345678987654321 + seconds = nanos // 10**9 + dt = dtypes.Instant.j_type.ofEpochSecond(0, seconds * 10**9).atZone(tz) + self.assertEqual(dt, epoch_seconds_to_zdt(seconds, tz)) + self.assertEquals(None,epoch_seconds_to_zdt(NULL_LONG, tz)) + + def test_epoch_auto_to_epoch_nanos(self): + nanos = 1639171277303*10**6 + 123456789 + micros = nanos // 10**3 + millis = nanos // 10**6 + seconds = nanos // 10**9 + + self.assertEqual(nanos,epoch_auto_to_epoch_nanos(nanos)) + self.assertEqual(micros * 10**3,epoch_auto_to_epoch_nanos(micros)) + self.assertEqual(millis * 10**6,epoch_auto_to_epoch_nanos(millis)) + self.assertEqual(seconds * 10**9,epoch_auto_to_epoch_nanos(seconds)) + self.assertEqual(NULL_LONG, epoch_auto_to_epoch_nanos(NULL_LONG)) + + def test_epoch_auto_to_instant(self): + nanos = 1639171277303 * 10 ** 6 + 123456789 + micros = nanos // 10 ** 3 + millis = nanos // 10 ** 6 + seconds = nanos // 10 ** 9 + + self.assertEqual(epoch_nanos_to_instant(nanos), epoch_auto_to_instant(nanos)) + self.assertEqual(epoch_nanos_to_instant(micros * 10 ** 3), epoch_auto_to_instant(micros)) + self.assertEqual(epoch_nanos_to_instant(millis * 10 ** 6), epoch_auto_to_instant(millis)) + self.assertEqual(epoch_nanos_to_instant(seconds * 10 ** 9), epoch_auto_to_instant(seconds)) + self.assertEqual(None,epoch_auto_to_instant(NULL_LONG)) + + + def test_epoch_auto_to_zdt(self): + nanos = 1639171277303 * 10 ** 6 + 123456789 + micros = nanos // 10 ** 3 + millis = nanos // 10 ** 6 + seconds = nanos // 10 ** 9 + + self.assertEqual(epoch_nanos_to_zdt(nanos, time_zone("ET")), epoch_auto_to_zdt(nanos, time_zone("ET"))) + self.assertEqual(epoch_nanos_to_zdt(micros * 10 ** 3, time_zone("ET")), epoch_auto_to_zdt(micros, time_zone("ET"))) + self.assertEqual(epoch_nanos_to_zdt(millis * 10 ** 6, time_zone("ET")), epoch_auto_to_zdt(millis, time_zone("ET"))) + self.assertEqual(epoch_nanos_to_zdt(seconds * 10 ** 9, time_zone("ET")), epoch_auto_to_zdt(seconds, time_zone("ET"))) + self.assertEqual(None,epoch_auto_to_zdt(NULL_LONG, time_zone("ET"))) + + # endregion + + # region: Conversions: Excel + + def test_excel(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_zdt("2021-12-10T14:21:17.123456789 ET") + tz = time_zone("ET") + excel = to_excel_time(dt1, tz) + + self.assertTrue( abs(epoch_nanos(dt1) - epoch_nanos(excel_to_instant(excel, tz)) < 2_000_000 ) ) + self.assertTrue( abs(epoch_nanos(dt1) - epoch_nanos(excel_to_zdt(excel, tz)) < 2_000_000 ) ) + self.assertEquals(None,excel_to_instant(excel, None)) + self.assertEquals(None,excel_to_zdt(excel, None)) + + # endregion + + # region: Arithmetic - def test_format_nanos(self): - dt = now() - ns = nanos(dt) - ns_str1 = format_nanos(ns).split(".")[-1] - ns_str2 = format_datetime(dt, TimeZone.UTC).split(".")[-1] - self.assertTrue(ns_str2.startswith(ns_str1)) + def test_plus_period(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") - def test_format_date(self): - dt = now() - self.assertEqual(3, len(format_date(dt, TimeZone.MOS).split("-"))) + dt2 = parse_instant("2021-12-10T14:21:17.123456800 ET") + dt3 = plus_period(dt1, 11) + self.assertEqual(epoch_nanos(dt2), epoch_nanos(dt3)) - def test_hour_of_day(self): - dt = now() - self.assertIn(hour_of_day(dt, TimeZone.AL), range(0, 24)) - self.assertEqual(hour_of_day(None, TimeZone.AL), NULL_INT) + dt2 = parse_instant("2021-12-10T16:21:17.123456789 ET") + duration_str = "PT2H" + duration = parse_duration(duration_str) + dt3 = plus_period(dt1, duration) + self.assertEqual(epoch_nanos(dt2), epoch_nanos(dt3)) + + dt2 = parse_instant("2021-12-12T14:21:17.123456789 ET") + period_str = "P2D" + period = parse_period(period_str) + dt3 = plus_period(dt1, period) + self.assertEqual(epoch_nanos(dt2), epoch_nanos(dt3)) - def test_is_after(self): - dt1 = now() - sleep(0.001) - dt2 = now() - self.assertTrue(is_after(dt2, dt1)) - self.assertFalse(is_after(None, dt1)) + + def test_minus_period(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + + dt2 = parse_instant("2021-12-10T14:21:17.123456778 ET") + dt3 = minus_period(dt1, 11) + self.assertEqual(dt2, dt3) + + dt2 = parse_instant("2021-12-10T12:21:17.123456789 ET") + duration_str = "PT2H" + duration = parse_duration(duration_str) + dt3 = minus_period(dt1, duration) + self.assertEqual(dt2, dt3) + + dt2 = parse_instant("2021-12-08T14:21:17.123456789 ET") + period_str = "P2D" + period = parse_period(period_str) + dt3 = minus_period(dt1, period) + self.assertEqual(dt2, dt3) + + def test_diff_nanos(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2021-12-10T14:21:17.123456800 ET") + self.assertEqual(11, diff_nanos(dt1, dt2)) + self.assertEqual(-11, diff_nanos(dt2, dt1)) + self.assertEqual(NULL_LONG, diff_nanos(None, dt2)) + self.assertEqual(NULL_LONG, diff_nanos(dt1, None)) + + def test_diff_micros(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2021-12-10T14:21:17.123 ET") + self.assertEqual(-456, diff_micros(dt1, dt2)) + self.assertEqual(456, diff_micros(dt2, dt1)) + self.assertEqual(NULL_LONG, diff_micros(None, dt2)) + self.assertEqual(NULL_LONG, diff_micros(dt1, None)) + + def test_diff_millis(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2021-12-10T14:21:17 ET") + self.assertEqual(-123, diff_millis(dt1, dt2)) + self.assertEqual(123, diff_millis(dt2, dt1)) + self.assertEqual(NULL_LONG, diff_millis(None, dt2)) + self.assertEqual(NULL_LONG, diff_millis(dt1, None)) + + def test_diff_seconds(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2021-12-10T14:21:19.123456789 ET") + self.assertEqual(2.0, diff_seconds(dt1, dt2)) + self.assertEqual(-2.0, diff_seconds(dt2, dt1)) + self.assertEqual(NULL_DOUBLE, diff_seconds(None, dt2)) + self.assertEqual(NULL_DOUBLE, diff_seconds(dt1, None)) + + def test_diff_minutes(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2021-12-10T14:27:17.123456789 ET") + self.assertEqual(6.0, diff_minutes(dt1, dt2)) + self.assertEqual(-6.0, diff_minutes(dt2, dt1)) + self.assertEqual(NULL_DOUBLE, diff_minutes(None, dt2)) + self.assertEqual(NULL_DOUBLE, diff_minutes(dt1, None)) + + def test_diff_days(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2021-12-13T14:21:17.123456789 ET") + self.assertEqual(3.0, diff_days(dt1, dt2)) + self.assertEqual(-3.0, diff_days(dt2, dt1)) + self.assertEqual(NULL_DOUBLE, diff_days(None, dt2)) + self.assertEqual(NULL_DOUBLE, diff_days(dt1, None)) + + def test_diff_years_365(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2023-12-10T14:21:17.123456789 ET") + self.assertEqual(2.0,diff_years_365(dt1, dt2)) + self.assertEqual(-2.0,diff_years_365(dt2, dt1)) + self.assertEqual(NULL_DOUBLE, diff_years_365(None, dt2)) + self.assertEqual(NULL_DOUBLE, diff_years_365(dt1, None)) + + def test_diff_years_avg(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2023-12-10T14:21:17.123456789 ET") + self.assertAlmostEqual(2.0,diff_years_avg(dt1, dt2), delta=1e-2) + self.assertAlmostEqual(-2.0,diff_years_avg(dt2, dt1), delta=1e-2) + self.assertEqual(NULL_DOUBLE, diff_years_avg(None, dt2)) + self.assertEqual(NULL_DOUBLE, diff_years_avg(dt1, None)) + + # endregion + + # region: Comparisons def test_is_before(self): - dt1 = now() - sleep(0.001) - dt2 = now() + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2021-12-10T14:21:18.123456789 ET") + self.assertTrue(is_before(dt1, dt2)) self.assertFalse(is_before(dt2, dt1)) + self.assertFalse(is_before(dt1, dt1)) + self.assertFalse(is_before(None, dt1)) + + def test_is_before_or_equal(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2021-12-10T14:21:18.123456789 ET") + self.assertTrue(is_before_or_equal(dt1, dt2)) + self.assertFalse(is_before_or_equal(dt2, dt1)) + self.assertTrue(is_before_or_equal(dt1, dt1)) + self.assertFalse(is_before_or_equal(None, dt1)) + + def test_is_after(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2021-12-10T14:21:18.123456789 ET") + self.assertFalse(is_after(dt1, dt2)) + self.assertTrue(is_after(dt2, dt1)) + self.assertFalse(is_after(dt1, dt1)) self.assertFalse(is_after(None, dt1)) + def test_is_after_or_equal(self): + dt1 = parse_instant("2021-12-10T14:21:17.123456789 ET") + dt2 = parse_instant("2021-12-10T14:21:18.123456789 ET") + self.assertFalse(is_after_or_equal(dt1, dt2)) + self.assertTrue(is_after_or_equal(dt2, dt1)) + self.assertTrue(is_after_or_equal(dt1, dt1)) + self.assertFalse(is_after_or_equal(None, dt1)) + + # endregion + + # region: Chronology + + def test_nanos_of_milli(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(456789, nanos_of_milli(dt)) + self.assertEqual(NULL_INT, nanos_of_milli(None)) + + def test_micros_of_milli(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(457, micros_of_milli(dt)) + self.assertEqual(NULL_INT, micros_of_milli(None)) + + def test_micros_of_second(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(123456, micros_of_second(dt, tz)) + self.assertEqual(NULL_LONG, micros_of_second(None, tz)) + self.assertEqual(NULL_LONG, micros_of_second(tz, None)) + + def test_millis_of_second(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(123, millis_of_second(dt, tz)) + self.assertEqual(NULL_INT, millis_of_second(None, tz)) + self.assertEqual(NULL_INT, millis_of_second(dt, None)) + + def test_second_of_minute(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(17, second_of_minute(dt, tz)) + self.assertEqual(NULL_INT, second_of_minute(None, tz)) + self.assertEqual(NULL_INT, second_of_minute(tz, None)) + + def test_minute_of_hour(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(21, minute_of_hour(dt, tz)) + self.assertEqual(NULL_INT, minute_of_hour(None, tz)) + self.assertEqual(NULL_INT, minute_of_hour(dt, None)) + + def test_nanos_of_day(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(123456789+17*SECOND+21*MINUTE+14*HOUR, nanos_of_day(dt, tz)) + self.assertEqual(NULL_LONG, nanos_of_day(None, tz)) + self.assertEqual(NULL_LONG, nanos_of_day(dt, None)) + + def test_millis_of_day(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual((123456789+17*SECOND+21*MINUTE+14*HOUR) // 10**6, millis_of_day(dt, tz)) + self.assertEqual(NULL_INT, millis_of_day(None, tz)) + self.assertEqual(NULL_INT, millis_of_day(dt, None)) + + def test_second_of_day(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual((123456789+17*SECOND+21*MINUTE+14*HOUR) // 10**9, second_of_day(dt, tz)) + self.assertEqual(NULL_INT, second_of_day(None, tz)) + self.assertEqual(NULL_INT, second_of_day(dt, None)) + + def test_minute_of_day(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(21+14*60, minute_of_day(dt, tz)) + self.assertEqual(NULL_INT, minute_of_day(None, tz)) + self.assertEqual(NULL_INT, minute_of_day(dt, None)) + + def test_hour_of_day(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(14, hour_of_day(dt, tz)) + self.assertEqual(NULL_INT, hour_of_day(None, tz)) + self.assertEqual(NULL_INT, hour_of_day(dt, None)) + + def test_day_of_week(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + # 5 - Fri + self.assertEqual(5, day_of_week(dt, tz)) + self.assertEqual(NULL_INT, day_of_week(None, tz)) + self.assertEqual(NULL_INT, day_of_week(dt, None)) + + def test_day_of_month(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(10, day_of_month(dt, tz)) + self.assertEqual(NULL_INT, day_of_month(None, tz)) + self.assertEqual(NULL_INT, day_of_month(dt, None)) + + def test_day_of_year(self): + datetime_str = "2021-02-03T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(31+3, day_of_year(dt, tz)) + self.assertEqual(NULL_INT, day_of_year(None, tz)) + self.assertEqual(NULL_INT, day_of_year(dt, None)) + + def test_month_of_year(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(12, month_of_year(dt, tz)) + self.assertEqual(NULL_INT, month_of_year(None, tz)) + self.assertEqual(NULL_INT, month_of_year(dt, None)) + + def test_year(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(2021, year(dt, tz)) + self.assertEqual(NULL_INT, year(None, tz)) + self.assertEqual(NULL_INT, year(dt, None)) + + def test_year_of_century(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertEqual(21, year_of_century(dt, tz)) + self.assertEqual(NULL_INT, year_of_century(None, tz)) + self.assertEqual(NULL_INT, year_of_century(dt, None)) + + def test_at_midnight(self): + datetime_str = "2021-12-10T02:59:59" + timezone_str = "ET" + tz_ny = time_zone("ET") + tz_pt = time_zone("PT") + dt = parse_instant(f"{datetime_str} {timezone_str}") + mid_night_time_ny = at_midnight(dt, tz_ny) + mid_night_time_pt = at_midnight(dt, tz_pt) + self.assertEqual(diff_nanos(mid_night_time_ny, mid_night_time_pt) // 10 ** 9, -21 * 60 * 60) + + # DST ended in ET but not in PT + datetime_str = "2021-11-08T02:59:59" + timezone_str = "ET" + dt = parse_instant(f"{datetime_str} {timezone_str}") + mid_night_time_ny = at_midnight(dt, tz_ny) + mid_night_time_pt = at_midnight(dt, tz_pt) + self.assertEqual(diff_nanos(mid_night_time_ny, mid_night_time_pt) // 10 ** 9, -22 * 60 * 60) + + # endregion + + # region: Binning + def test_lower_bin(self): dt = now() self.assertGreaterEqual(diff_nanos(lower_bin(dt, 1000000, MINUTE), dt), 0) - def test_millis(self): + def test_upper_bin(self): dt = now() - self.assertGreaterEqual(nanos(dt), millis(dt) * 10 ** 6) - self.assertEqual(millis(None), NULL_LONG) + self.assertGreaterEqual(diff_nanos(dt, upper_bin(dt, 1000000, MINUTE)), 0) - def test_millis_of_second(self): - dt = now() - self.assertGreaterEqual(millis_of_second(dt, TimeZone.AT), 0) - self.assertEqual(millis_of_second(None, TimeZone.AT), NULL_INT) + # endregion + + # region: Format - def test_millis_to_nanos(self): - dt = now() - ms = millis(dt) - self.assertEqual(ms * 10 ** 6, millis_to_nanos(ms)) - self.assertEqual(NULL_LONG, millis_to_nanos(NULL_LONG)) + def test_format_duration_nanos(self): + nanos = 123456789 + ns_str = format_duration_nanos(nanos) + self.assertEqual("PT0:00:00.123456789", ns_str) - def test_minus(self): - dt1 = now() - dt2 = now() - self.assertGreaterEqual(0, minus(dt1, dt2)) - self.assertEqual(NULL_LONG, minus(None, dt2)) + def test_format_datetime(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + dt_str = format_datetime(dt, tz) + self.assertEqual(f"{datetime_str} {timezone_str}", dt_str) + + def test_format_date(self): + datetime_str = "2021-12-10T14:21:17.123456789" + timezone_str = "ET" + tz = time_zone(timezone_str) + dt = parse_instant(f"{datetime_str} {timezone_str}") + dt_str = format_date(dt, tz) + self.assertEqual("2021-12-10", dt_str) - def test_minus_nanos(self): dt = now() - dt1 = minus_nanos(dt, 1) - self.assertEqual(1, diff_nanos(dt1, dt)) + self.assertEqual(3, len(format_date(dt, time_zone("PT")).split("-"))) - def test_minus_period(self): - period_str = "T1H" - period = to_period(period_str) + # endregion + + # region: Parse - dt = now() - dt1 = minus_period(dt, period) - self.assertEqual(diff_nanos(dt1, dt), 60 * 60 * 10 ** 9) + def test_parse_time_zone(self): + tz = parse_time_zone("America/New_York") + self.assertEqual(str(tz), "America/New_York") - def test_minute_of_day(self): - datetime_str = "2021-12-10T00:59:59" - timezone_str = "BT" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertEqual(59, minute_of_day(dt, TimeZone.BT)) - self.assertEqual(NULL_INT, minute_of_day(None, TimeZone.BT)) + tz = parse_time_zone("CT") + self.assertEqual(str(tz), "America/Chicago") - def test_minute_of_hour(self): + with self.assertRaises(DHError) as cm: + tz = parse_time_zone(None) + self.assertTrue(cm.exception.root_cause) + self.assertIn("Cannot parse", cm.exception.compact_traceback) + + with self.assertRaises(DHError) as cm: + tz = parse_time_zone("JUNK") + self.assertTrue(cm.exception.root_cause) + self.assertIn("Cannot parse time zone", cm.exception.compact_traceback) + + tz = parse_time_zone("JUNK", quiet=True) + self.assertEqual(None, tz) + + def test_parse_duration_nanos(self): + time_str = "PT530000:59:39.123456789" + in_nanos = parse_duration_nanos(time_str) + self.assertEqual(str(in_nanos), "1908003579123456789") + + with self.assertRaises(DHError) as cm: + time_str = "PT530000:59:39.X" + in_nanos = parse_duration_nanos(time_str) + self.assertIn("DateTimeParseException", str(cm.exception)) + + time_str = "PT00:59:39.X" + in_nanos = parse_duration_nanos(time_str, quiet=True) + self.assertEqual(in_nanos, NULL_LONG) + + time_str = "PT1:02:03" + in_nanos = parse_duration_nanos(time_str) + time_str2 = format_duration_nanos(in_nanos) + self.assertEqual(time_str2, time_str) + + time_str = "PT1h" + in_nanos = parse_duration_nanos(time_str) + time_str2 = format_duration_nanos(in_nanos) + self.assertEqual(time_str2, "PT1:00:00") + + def test_parse_period(self): + period_str = "P1W" + period = parse_period(period_str) + # Java Period normalizes weeks to days in toString() + self.assertEqual(str(period).upper(), "P7D") + + period_str = "P6D" + period = parse_period(period_str) + self.assertEqual(str(period).upper(), period_str) + + period_str = "P1M" + period = parse_period(period_str) + self.assertEqual(str(period).upper(), period_str) + + with self.assertRaises(DHError) as cm: + period_str = "PT1Y" + period = parse_period(period_str) + self.assertIn("DateTimeParseException", str(cm.exception)) + + period = parse_period(period_str, quiet=True) + self.assertEquals(None,period) + + def test_parse_duration(self): + duration_str = "PT1M" + duration = parse_duration(duration_str) + self.assertEqual(str(duration).upper(), duration_str) + + duration_str = "PT1H" + duration = parse_duration(duration_str) + self.assertEqual(str(duration).upper(), duration_str) + + with self.assertRaises(DHError) as cm: + duration = parse_duration("T1Q") + self.assertIn("DateTimeParseException", str(cm.exception)) + + duration = parse_duration("T1Q", quiet=True) + self.assertEquals(None,duration) + + def test_parse_epoch_nanos(self): datetime_str = "2021-12-10T23:59:59" - timezone_str = "CE" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertEqual(59, minute_of_hour(dt, TimeZone.CE)) - self.assertEqual(NULL_INT, minute_of_hour(None, TimeZone.CE)) + timezone_str = "ET" + dt = parse_instant(f"{datetime_str} {timezone_str}") + n = parse_epoch_nanos(f"{datetime_str} {timezone_str}") + self.assertEqual(epoch_nanos(dt), n) - def test_month_of_year(self): - datetime_str = "2021-08-10T23:59:59" - timezone_str = "CH" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertEqual(8, month_of_year(dt, TimeZone.CH)) - self.assertEqual(NULL_INT, month_of_year(None, TimeZone.CH)) + with self.assertRaises(DHError) as cm: + datetime_str = "2021-12-10T23:59:59" + timezone_str = "--" + dt = parse_epoch_nanos(f"{datetime_str} {timezone_str}") + self.assertIn("RuntimeException", str(cm.exception)) - def test_nanos_of_day(self): - datetime_str = "2021-12-10T00:00:01" - timezone_str = "CT" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertEqual(10 ** 9, nanos_of_day(dt, TimeZone.CT)) - self.assertEqual(NULL_LONG, nanos_of_day(None, TimeZone.CT)) - - def test_nanos_of_second(self): - datetime_str = "2021-12-10T00:00:01.000000123" + datetime_str = "2021-12-10T23:59:59" + timezone_str = "--" + dt = parse_epoch_nanos(f"{datetime_str} {timezone_str}", quiet=True) + self.assertEquals(NULL_LONG,dt) + + def test_parse_instant(self): + datetime_str = "2021-12-10T23:59:59" timezone_str = "ET" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertEqual(123, nanos_of_second(dt, TimeZone.ET)) - self.assertEqual(NULL_LONG, nanos_of_second(None, TimeZone.ET)) + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertTrue(format_datetime(dt, time_zone("ET")).startswith(datetime_str)) - def test_nanos_to_millis(self): - dt = now() - ns = nanos(dt) - self.assertEqual(ns // 10 ** 6, nanos_to_millis(ns)) - self.assertEqual(NULL_LONG, nanos_to_millis(NULL_LONG)) + with self.assertRaises(DHError) as cm: + datetime_str = "2021-12-10T23:59:59" + timezone_str = "--" + dt = parse_instant(f"{datetime_str} {timezone_str}") + self.assertIn("RuntimeException", str(cm.exception)) - def test_nanos_to_time(self): - dt = now() - ns = nanos(dt) - dt1 = nanos_to_datetime(ns) - self.assertEqual(dt, dt1) - self.assertEqual(None, nanos_to_datetime(NULL_LONG)) + datetime_str = "2021-12-10T23:59:59" + timezone_str = "--" + dt = parse_instant(f"{datetime_str} {timezone_str}", quiet=True) + self.assertEquals(None,dt) - def test_plus_period(self): - period_str = "T1H" - period = to_period(period_str) + def test_parse_zdt(self): + datetime_str = "2021-12-10T23:59:59" + timezone_str = "ET" + dt = parse_zdt(f"{datetime_str} {timezone_str}") + self.assertTrue(str(dt).startswith(datetime_str)) - dt = now() - dt1 = plus_period(dt, period) - self.assertEqual(diff_nanos(dt, dt1), 60 * 60 * 10 ** 9) + with self.assertRaises(DHError) as cm: + datetime_str = "2021-12-10T23:59:59" + timezone_str = "--" + dt = parse_zdt(f"{datetime_str} {timezone_str}") + self.assertIn("RuntimeException", str(cm.exception)) - period_str = "1WT1H" - period = to_period(period_str) - dt2 = plus_period(dt, period) - self.assertEqual(diff_nanos(dt, dt2), (7 * 24 + 1) * 60 * 60 * 10 ** 9) + datetime_str = "2021-12-10T23:59:59" + timezone_str = "--" + dt = parse_zdt(f"{datetime_str} {timezone_str}", quiet=True) + self.assertEquals(None,dt) - def test_plus_nanos(self): - dt = now() - dt1 = plus_nanos(dt, 1) - self.assertEqual(1, diff_nanos(dt, dt1)) - self.assertEqual(None, plus_nanos(None, 1)) + def test_parse_time_precision(self): + datetime_str = "2021-12-10T23:59:59" + timezone_str = "ET" + tp = parse_time_precision(f"{datetime_str} {timezone_str}") + self.assertEqual(tp, "SecondOfMinute") - def test_second_of_day(self): - datetime_str = "2021-12-10T00:01:05" - timezone_str = "HI" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertEqual(65, second_of_day(dt, TimeZone.HI)) - self.assertEqual(NULL_INT, second_of_day(None, TimeZone.HI)) + with self.assertRaises(DHError) as cm: + datetime_str = "2021-12-10T23:59:59" + timezone_str = "--" + tp = parse_time_precision(f"{datetime_str} {timezone_str}") + self.assertIn("RuntimeException", str(cm.exception)) - def test_second_of_minute(self): - datetime_str = "2021-12-10T00:01:05" - timezone_str = "HK" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertEqual(5, second_of_minute(dt, TimeZone.HK)) - self.assertEqual(NULL_INT, second_of_minute(None, TimeZone.HK)) + datetime_str = "2021-12-10T23:59:59" + timezone_str = "--" + tp = parse_time_precision(f"{datetime_str} {timezone_str}", quiet=True) + self.assertEquals(None,tp) - def test_upper_bin(self): - dt = now() - self.assertGreaterEqual(diff_nanos(dt, upper_bin(dt, 1000000, MINUTE)), 0) + def test_parse_local_date(self): + date_str = "2021-12-10" + dt = parse_local_date(date_str) + self.assertTrue(str(dt), date_str) - def test_year(self): - datetime_str = "2021-12-10T00:01:05" - timezone_str = "IN" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertEqual(2021, year(dt, TimeZone.IN)) - self.assertEqual(NULL_INT, year(None, TimeZone.IN)) + with self.assertRaises(DHError) as cm: + date_str = "2021-x12-10" + dt = parse_local_date(date_str) + self.assertIn("DateTimeParseException", str(cm.exception)) - def test_year_of_century(self): - datetime_str = "2021-12-10T00:01:05" - timezone_str = "JP" - dt = to_datetime(f"{datetime_str} {timezone_str}") - self.assertEqual(21, year_of_century(dt, TimeZone.JP)) - self.assertEqual(NULL_INT, year_of_century(None, TimeZone.JP)) - - def test_timezone(self): - default_tz = TimeZone.get_default_timezone() - TimeZone.set_default_timezone(TimeZone.UTC) - tz1 = TimeZone.get_default_timezone() - self.assertEqual(TimeZone.UTC, tz1) - TimeZone.set_default_timezone(TimeZone.JP) - tz2 = TimeZone.get_default_timezone() - self.assertEqual(TimeZone.JP, tz2) - TimeZone.set_default_timezone(default_tz) + date_str = "2021-x12-10" + dt = parse_local_date(date_str, quiet=True) + self.assertEquals(None,dt) + + def test_parse_local_time(self): + time_str = "23:59:59" + dt = parse_local_time(time_str) + self.assertTrue(str(dt), time_str) + + with self.assertRaises(DHError) as cm: + time_str = "23:59x:59" + dt = parse_local_time(time_str) + self.assertIn("DateTimeParseException", str(cm.exception)) + + time_str = "23:59x:59" + dt = parse_local_time(time_str, quiet=True) + self.assertEquals(None,dt) + + # endregion if __name__ == "__main__": diff --git a/py/server/tests/test_ugp.py b/py/server/tests/test_ugp.py index 176bbbb0586..b5c68f7ba78 100644 --- a/py/server/tests/test_ugp.py +++ b/py/server/tests/test_ugp.py @@ -31,29 +31,29 @@ def tearDown(self): def test_ugp_context_manager(self): with self.assertRaises(DHError) as cm: - test_table = time_table("00:00:00.001").update(["X=i%11"]).sort("X").tail(16) + test_table = time_table("PT00:00:00.001").update(["X=i%11"]).sort("X").tail(16) self.assertRegex(str(cm.exception), r"IllegalStateException") with ugp.exclusive_lock(): - test_table = time_table("00:00:00.001").update(["TS=currentTime()"]) + test_table = time_table("PT00:00:00.001").update(["TS=now()"]) with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["TS=currentTime()"]) + test_table = time_table("PT00:00:00.001").update(["TS=now()"]) # nested locking with ugp.exclusive_lock(): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["TS=currentTime()"]) - test_table = time_table("00:00:00.001").update(["TS=currentTime()"]) + test_table = time_table("PT00:00:00.001").update(["TS=now()"]) + test_table = time_table("PT00:00:00.001").update(["TS=now()"]) with self.assertRaises(DHError) as cm: with ugp.shared_lock(): with ugp.exclusive_lock(): - test_table = time_table("00:00:00.001").update(["TS=currentTime()"]) + test_table = time_table("PT00:00:00.001").update(["TS=now()"]) self.assertRegex(str(cm.exception), "Cannot upgrade a shared lock to an exclusive lock") def test_ugp_decorator_exclusive(self): - def ticking_table_op(tail_size: int, period: str = "00:00:01"): + def ticking_table_op(tail_size: int, period: str = "PT00:00:01"): return time_table(period).update(["X=i%11"]).sort("X").tail(tail_size) with self.assertRaises(DHError) as cm: @@ -61,7 +61,7 @@ def ticking_table_op(tail_size: int, period: str = "00:00:01"): self.assertRegex(str(cm.exception), r"IllegalStateException") @ugp.exclusive_locked - def ticking_table_op_decorated(tail_size: int, period: str = "00:00:01"): + def ticking_table_op_decorated(tail_size: int, period: str = "PT00:00:01"): t = time_table(period).update(["X=i%11"]).sort("X").tail(tail_size) self.assertEqual(t.size, 0) return t @@ -72,12 +72,12 @@ def ticking_table_op_decorated(tail_size: int, period: str = "00:00:01"): t = ticking_table_op_decorated(5) self.wait_ticking_table_update(t, row_count=5, timeout=10) - t = ticking_table_op_decorated(10, "00:00:00.001") + t = ticking_table_op_decorated(10, "PT00:00:00.001") self.wait_ticking_table_update(t, row_count=8, timeout=5) def test_ugp_decorator_shared(self): @ugp.shared_locked - def ticking_table_op_decorated(tail_size: int, period: str = "00:00:01"): + def ticking_table_op_decorated(tail_size: int, period: str = "PT00:00:01"): t = time_table(period).update(["X=i%11"]).sort("X").tail(tail_size) self.assertEqual(t.size, 0) return t @@ -88,17 +88,17 @@ def ticking_table_op_decorated(tail_size: int, period: str = "00:00:01"): t = ticking_table_op_decorated(5) self.wait_ticking_table_update(t, row_count=5, timeout=10) - t = ticking_table_op_decorated(10, "00:00:00.001") + t = ticking_table_op_decorated(10, "PT00:00:00.001") self.wait_ticking_table_update(t, row_count=8, timeout=5) def test_auto_locking_release(self): ugp.auto_locking = True - test_table = time_table("00:00:00.001").update(["X=i%11"]).sort("X").tail(16) + test_table = time_table("PT00:00:00.001").update(["X=i%11"]).sort("X").tail(16) self.assertFalse(ugp.has_shared_lock()) self.assertFalse(ugp.has_exclusive_lock()) def test_auto_locking_update_select(self): - test_table = time_table("00:00:00.001") + test_table = time_table("PT00:00:00.001") ops = [ Table.update, Table.lazy_update, @@ -120,7 +120,7 @@ def test_auto_locking_update_select(self): def test_auto_locking_wherein(self): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) unique_table = test_table.head(num_rows=50).select_distinct(formulas=["X", "Y"]) with self.assertRaises(DHError) as cm: @@ -137,7 +137,7 @@ def test_auto_locking_wherein(self): def test_auto_locking_joins(self): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) left_table = test_table.drop_columns(["Z", "Timestamp"]) right_table = test_table.drop_columns(["Y", "Timestamp"]) @@ -163,7 +163,7 @@ def test_auto_locking_joins(self): def test_auto_locking_rename_columns(self): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) cols_to_rename = [ f"{f.name + '_2'} = {f.name}" for f in test_table.columns[::2] @@ -178,7 +178,7 @@ def test_auto_locking_rename_columns(self): def test_auto_locking_ungroup(self): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13"]) grouped_table = test_table.group_by(by=["Y"]) with self.assertRaises(DHError) as cm: ungrouped_table = grouped_table.ungroup(cols=["X"]) @@ -190,7 +190,7 @@ def test_auto_locking_ungroup(self): def test_auto_locking_head_tail_by(self): ops = [Table.head_by, Table.tail_by] with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i%11"]).sort("X").tail(16) + test_table = time_table("PT00:00:00.001").update(["X=i%11"]).sort("X").tail(16) for op in ops: with self.subTest(op=op): @@ -207,7 +207,7 @@ def test_auto_locking_head_tail_by(self): def test_auto_locking_partitioned_table(self): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) pt = test_table.partition_by(by="Y") with self.subTest("Merge"): @@ -241,8 +241,8 @@ def test_auto_locking_partitioned_table(self): def test_auto_locking_table_factory(self): with ugp.shared_lock(): - test_table = time_table("00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) - test_table1 = time_table("00:00:00.001").update(["X=i", "Y=i%23", "Z=X*Y"]) + test_table = time_table("PT00:00:00.001").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table1 = time_table("PT00:00:00.001").update(["X=i", "Y=i%23", "Z=X*Y"]) with self.subTest("Merge"): ugp.auto_locking = False @@ -258,7 +258,7 @@ def test_auto_locking_table_factory(self): def test_auto_locking_partitioned_table_proxy(self): with ugp.shared_lock(): - test_table = time_table("00:00:01").update(["X=i", "Y=i%13", "Z=X*Y"]) + test_table = time_table("PT00:00:01").update(["X=i", "Y=i%13", "Z=X*Y"]) proxy = test_table.drop_columns(["Timestamp", "Y"]).partition_by(by="X").proxy() proxy2 = test_table.drop_columns(["Timestamp", "Z"]).partition_by(by="X").proxy() diff --git a/py/server/tests/test_updateby.py b/py/server/tests/test_updateby.py index c2795a9effa..8d16da7a2be 100644 --- a/py/server/tests/test_updateby.py +++ b/py/server/tests/test_updateby.py @@ -17,9 +17,9 @@ class UpdateByTestCase(BaseTestCase): def setUp(self): super().setUp() - self.static_table = read_csv("tests/data/test_table.csv").update("Timestamp=currentTime()") + self.static_table = read_csv("tests/data/test_table.csv").update("Timestamp=now()") with ugp.exclusive_lock(): - self.ticking_table = time_table("00:00:00.001").update( + self.ticking_table = time_table("PT00:00:00.001").update( ["a = i", "b = i*i % 13", "c = i * 13 % 23", "d = a + b", "e = a - b"]) def tearDown(self) -> None: @@ -38,31 +38,31 @@ def setUpClass(cls) -> None: ema_tick(decay_ticks=100, cols="ema_a = a"), ema_tick(decay_ticks=100, cols="ema_a = a", op_control=cls.em_op_ctrl), ema_time(ts_col="Timestamp", decay_time=10, cols="ema_a = a"), - ema_time(ts_col="Timestamp", decay_time="00:00:00.001", cols="ema_c = c", + ema_time(ts_col="Timestamp", decay_time="PT00:00:00.001", cols="ema_c = c", op_control=cls.em_op_ctrl), # exponential moving sum ems_tick(decay_ticks=100, cols="ems_a = a"), ems_tick(decay_ticks=100, cols="ems_a = a", op_control=cls.em_op_ctrl), ems_time(ts_col="Timestamp", decay_time=10, cols="ems_a = a"), - ems_time(ts_col="Timestamp", decay_time="00:00:00.001", cols="ems_c = c", + ems_time(ts_col="Timestamp", decay_time="PT00:00:00.001", cols="ems_c = c", op_control=cls.em_op_ctrl), # exponential moving minimum emmin_tick(decay_ticks=100, cols="emmin_a = a"), emmin_tick(decay_ticks=100, cols="emmin_a = a", op_control=cls.em_op_ctrl), emmin_time(ts_col="Timestamp", decay_time=10, cols="emmin_a = a"), - emmin_time(ts_col="Timestamp", decay_time="00:00:00.001", cols="emmin_c = c", + emmin_time(ts_col="Timestamp", decay_time="PT00:00:00.001", cols="emmin_c = c", op_control=cls.em_op_ctrl), # exponential moving maximum emmax_tick(decay_ticks=100, cols="emmax_a = a"), emmax_tick(decay_ticks=100, cols="emmax_a = a", op_control=cls.em_op_ctrl), emmax_time(ts_col="Timestamp", decay_time=10, cols="emmax_a = a"), - emmax_time(ts_col="Timestamp", decay_time="00:00:00.001", cols="emmax_c = c", + emmax_time(ts_col="Timestamp", decay_time="PT00:00:00.001", cols="emmax_c = c", op_control=cls.em_op_ctrl), # exponential moving standard deviation emstd_tick(decay_ticks=100, cols="emstd_a = a"), emstd_tick(decay_ticks=100, cols="emstd_a = a", op_control=cls.em_op_ctrl), emstd_time(ts_col="Timestamp", decay_time=10, cols="emstd_a = a"), - emstd_time(ts_col="Timestamp", decay_time="00:00:00.001", cols="emtd_c = c", + emstd_time(ts_col="Timestamp", decay_time="PT00:00:00.001", cols="emtd_c = c", op_control=cls.em_op_ctrl), ] @@ -80,73 +80,73 @@ def setUpClass(cls) -> None: # rolling sum rolling_sum_tick(cols=["rsum_a = a", "rsum_d = d"], rev_ticks=10), rolling_sum_tick(cols=["rsum_a = a", "rsum_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time="00:00:10"), + rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time="PT00:00:10"), rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time=10_000_000_000, fwd_time=-10_000_000_00), - rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time="00:00:30", - fwd_time="-00:00:20"), + rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time="PT00:00:30", + fwd_time="-PT00:00:20"), # rolling group rolling_group_tick(cols=["rgroup_a = a", "rgroup_d = d"], rev_ticks=10), rolling_group_tick(cols=["rgroup_a = a", "rgroup_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_group_time(ts_col="Timestamp", cols=["rgroup_b = b", "rgroup_e = e"], rev_time="00:00:10"), + rolling_group_time(ts_col="Timestamp", cols=["rgroup_b = b", "rgroup_e = e"], rev_time="PT00:00:10"), rolling_group_time(ts_col="Timestamp", cols=["rgroup_b = b", "rgroup_e = e"], rev_time=10_000_000_000, fwd_time=-10_000_000_00), - rolling_group_time(ts_col="Timestamp", cols=["rgroup_b = b", "rgroup_e = e"], rev_time="00:00:30", - fwd_time="-00:00:20"), + rolling_group_time(ts_col="Timestamp", cols=["rgroup_b = b", "rgroup_e = e"], rev_time="PT00:00:30", + fwd_time="-PT00:00:20"), # rolling average rolling_avg_tick(cols=["ravg_a = a", "ravg_d = d"], rev_ticks=10), rolling_avg_tick(cols=["ravg_a = a", "ravg_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_avg_time(ts_col="Timestamp", cols=["ravg_b = b", "ravg_e = e"], rev_time="00:00:10"), + rolling_avg_time(ts_col="Timestamp", cols=["ravg_b = b", "ravg_e = e"], rev_time="PT00:00:10"), rolling_avg_time(ts_col="Timestamp", cols=["ravg_b = b", "ravg_e = e"], rev_time=10_000_000_000, fwd_time=-10_000_000_00), - rolling_avg_time(ts_col="Timestamp", cols=["ravg_b = b", "ravg_e = e"], rev_time="00:00:30", - fwd_time="-00:00:20"), + rolling_avg_time(ts_col="Timestamp", cols=["ravg_b = b", "ravg_e = e"], rev_time="PT00:00:30", + fwd_time="-PT00:00:20"), # rolling minimum rolling_min_tick(cols=["rmin_a = a", "rmin_d = d"], rev_ticks=10), rolling_min_tick(cols=["rmin_a = a", "rmin_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_min_time(ts_col="Timestamp", cols=["rmin_b = b", "rmin_e = e"], rev_time="00:00:10"), + rolling_min_time(ts_col="Timestamp", cols=["rmin_b = b", "rmin_e = e"], rev_time="PT00:00:10"), rolling_min_time(ts_col="Timestamp", cols=["rmin_b = b", "rmin_e = e"], rev_time=10_000_000_000, fwd_time=-10_000_000_00), - rolling_min_time(ts_col="Timestamp", cols=["rmin_b = b", "rmin_e = e"], rev_time="00:00:30", - fwd_time="-00:00:20"), + rolling_min_time(ts_col="Timestamp", cols=["rmin_b = b", "rmin_e = e"], rev_time="PT00:00:30", + fwd_time="-PT00:00:20"), # rolling maximum rolling_max_tick(cols=["rmax_a = a", "rmax_d = d"], rev_ticks=10), rolling_max_tick(cols=["rmax_a = a", "rmax_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_max_time(ts_col="Timestamp", cols=["rmax_b = b", "rmax_e = e"], rev_time="00:00:10"), + rolling_max_time(ts_col="Timestamp", cols=["rmax_b = b", "rmax_e = e"], rev_time="PT00:00:10"), rolling_max_time(ts_col="Timestamp", cols=["rmax_b = b", "rmax_e = e"], rev_time=10_000_000_000, fwd_time=-10_000_000_00), - rolling_max_time(ts_col="Timestamp", cols=["rmax_b = b", "rmax_e = e"], rev_time="00:00:30", - fwd_time="-00:00:20"), + rolling_max_time(ts_col="Timestamp", cols=["rmax_b = b", "rmax_e = e"], rev_time="PT00:00:30", + fwd_time="-PT00:00:20"), # rolling product rolling_prod_tick(cols=["rprod_a = a", "rprod_d = d"], rev_ticks=10), rolling_prod_tick(cols=["rprod_a = a", "rprod_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_prod_time(ts_col="Timestamp", cols=["rprod_b = b", "rprod_e = e"], rev_time="00:00:10"), + rolling_prod_time(ts_col="Timestamp", cols=["rprod_b = b", "rprod_e = e"], rev_time="PT00:00:10"), rolling_prod_time(ts_col="Timestamp", cols=["rprod_b = b", "rprod_e = e"], rev_time=10_000_000_000, fwd_time=-10_000_000_00), - rolling_prod_time(ts_col="Timestamp", cols=["rprod_b = b", "rprod_e = e"], rev_time="00:00:30", - fwd_time="-00:00:20"), + rolling_prod_time(ts_col="Timestamp", cols=["rprod_b = b", "rprod_e = e"], rev_time="PT00:00:30", + fwd_time="-PT00:00:20"), # rolling count rolling_count_tick(cols=["rcount_a = a", "rcount_d = d"], rev_ticks=10), rolling_count_tick(cols=["rcount_a = a", "rcount_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_count_time(ts_col="Timestamp", cols=["rcount_b = b", "rcount_e = e"], rev_time="00:00:10"), + rolling_count_time(ts_col="Timestamp", cols=["rcount_b = b", "rcount_e = e"], rev_time="PT00:00:10"), rolling_count_time(ts_col="Timestamp", cols=["rcount_b = b", "rcount_e = e"], rev_time=10_000_000_000, fwd_time=-10_000_000_00), - rolling_count_time(ts_col="Timestamp", cols=["rcount_b = b", "rcount_e = e"], rev_time="00:00:30", - fwd_time="-00:00:20"), + rolling_count_time(ts_col="Timestamp", cols=["rcount_b = b", "rcount_e = e"], rev_time="PT00:00:30", + fwd_time="-PT00:00:20"), # rolling standard deviation rolling_std_tick(cols=["rstd_a = a", "rstd_d = d"], rev_ticks=10), rolling_std_tick(cols=["rstd_a = a", "rstd_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_std_time(ts_col="Timestamp", cols=["rstd_b = b", "rstd_e = e"], rev_time="00:00:10"), + rolling_std_time(ts_col="Timestamp", cols=["rstd_b = b", "rstd_e = e"], rev_time="PT00:00:10"), rolling_std_time(ts_col="Timestamp", cols=["rstd_b = b", "rstd_e = e"], rev_time=10_000_000_000, fwd_time=-10_000_000_00), - rolling_std_time(ts_col="Timestamp", cols=["rstd_b = b", "rstd_e = e"], rev_time="00:00:30", - fwd_time="-00:00:20"), + rolling_std_time(ts_col="Timestamp", cols=["rstd_b = b", "rstd_e = e"], rev_time="PT00:00:30", + fwd_time="-PT00:00:20"), # rolling weighted average (using "b" as the weight column) rolling_wavg_tick(weight_col="b", cols=["rwavg_a = a", "rwavg_d = d"], rev_ticks=10), rolling_wavg_tick(weight_col="b", cols=["rwavg_a = a", "rwavg_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_wavg_time(ts_col="Timestamp", weight_col="b", cols=["rwavg_b = b", "rwavg_e = e"], rev_time="00:00:10"), + rolling_wavg_time(ts_col="Timestamp", weight_col="b", cols=["rwavg_b = b", "rwavg_e = e"], rev_time="PT00:00:10"), rolling_wavg_time(ts_col="Timestamp", weight_col="b", cols=["rwavg_b = b", "rwavg_e = e"], rev_time=10_000_000_000, fwd_time=-10_000_000_00), - rolling_wavg_time(ts_col="Timestamp", weight_col="b", cols=["rwavg_b = b", "rwavg_e = e"], rev_time="00:00:30", fwd_time="-00:00:20"), + rolling_wavg_time(ts_col="Timestamp", weight_col="b", cols=["rwavg_b = b", "rwavg_e = e"], rev_time="PT00:00:30", fwd_time="-PT00:00:20"), ] @classmethod diff --git a/python-engine-test/src/test/java/io/deephaven/engine/util/TestWorkerPythonEnvironment.java b/python-engine-test/src/test/java/io/deephaven/engine/util/TestWorkerPythonEnvironment.java index 0f870403941..d25761fe2b8 100644 --- a/python-engine-test/src/test/java/io/deephaven/engine/util/TestWorkerPythonEnvironment.java +++ b/python-engine-test/src/test/java/io/deephaven/engine/util/TestWorkerPythonEnvironment.java @@ -49,7 +49,7 @@ public void testNumpyImport() { } public void testTimeTable() throws IOException { - WorkerPythonEnvironment.DEFAULT.eval("tt = timeTable(\"00:00:01\")"); + WorkerPythonEnvironment.DEFAULT.eval("tt = timeTable(\"PT00:00:01\")"); Object result = WorkerPythonEnvironment.DEFAULT.getValue("tt"); assertTrue(result instanceof Table); Table tt = (Table) result; diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java index 05d4d9f47dd..e90ec4f80b5 100644 --- a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java +++ b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java @@ -113,8 +113,8 @@ public static void main(String[] args) { "21, 59, 29, 26000000"))); generateTests("ArrowTimestampVectorTest", "/timestamp_vector.arrow", "get", "WritableObjectChunk", - null, ClassName.get("io.deephaven.time", "DateTime"), null, expectedRows, - addWrapper("new DateTime(%s)", Arrays.asList( + null, ClassName.get("java.time", "Instant"), null, expectedRows, + addWrapper("io.deephaven.time.DateTimeUtils.epochNanosToInstant(%s)", Arrays.asList( "1670443801", "1570443532", null, "0", "170443801", "-72309740"))); generateTests("ArrowDecimalVectorTest", "/decimal_vector.arrow", "get", "WritableObjectChunk", diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java index 06820ecf010..4804670da53 100644 --- a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java +++ b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java @@ -120,13 +120,13 @@ public static void main(String[] args) { .addStatement("return localDateTime != null ? localDateTime.toLocalTime() : null") .build())); - final ClassName dateTime = ClassName.get("io.deephaven.time", "DateTime"); - generateArrowColumnSource("ArrowDateTimeColumnSource", dateTime, dateTime, TimeStampVector.class, + final ClassName instant = ClassName.get("java.time", "Instant"); + generateArrowColumnSource("ArrowInstantColumnSource", instant, instant, TimeStampVector.class, "get", "ForObject", WritableObjectChunk.class, List.of( - preparePrivateExtractMethod(dateTime, TimeStampVector.class) + preparePrivateExtractMethod(instant, TimeStampVector.class) .addStatement( - "return vector.isSet(posInBlock) == 0 ? null : new $T(vector.get(posInBlock))", - dateTime) + "return vector.isSet(posInBlock) == 0 ? null : io.deephaven.time.DateTimeUtils.epochNanosToInstant(vector.get(posInBlock))", + instant) .build())); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java index d9da4102319..9bdaa20dbdc 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java @@ -67,10 +67,7 @@ private static void replicateObjectAddOnlyMinMax() throws IOException { } private static final String resultInitReplacementForLong = "" + - " if (type == DateTime.class) {\n" + - " actualResult = new DateTimeArraySource();\n" + - " resultColumn = ((NanosBasedTimeArraySource)actualResult).toEpochNano();\n" + - " } else if (type == Instant.class) {\n" + + " if (type == Instant.class) {\n" + " actualResult = new InstantArraySource();\n" + " resultColumn = ((NanosBasedTimeArraySource)actualResult).toEpochNano();\n" + " } else {\n" + @@ -89,11 +86,7 @@ private static void fixupLongAddOnlyMinMax() throws IOException { Collections.singletonList(" Class type,")); lines = ReplicationUtils.addImport(lines, "import java.time.Instant;", - "import io.deephaven.time.DateTime;", - "import io.deephaven.engine.table.impl.sources.ArrayBackedColumnSource;", - "import io.deephaven.engine.table.impl.sources.DateTimeArraySource;", "import io.deephaven.engine.table.impl.sources.InstantArraySource;", - "import io.deephaven.engine.table.impl.sources.LongArraySource;", "import io.deephaven.engine.table.impl.sources.NanosBasedTimeArraySource;"); lines = ReplicationUtils.replaceRegion(lines, "resultColumn initialization", Collections.singletonList(resultInitReplacementForLong)); diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java index 689598959ee..37ab16bc612 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java @@ -120,13 +120,13 @@ private static void fixupRegionedColumnSourceByte(String path) throws IOExceptio private static void fixupRegionedColumnSourceLong(String path) throws IOException { final File file = new File(path); List lines = FileUtils.readLines(file, Charset.defaultCharset()); - lines = addImport(lines, "import io.deephaven.time.DateTime;", + lines = addImport(lines, "import io.deephaven.engine.table.ColumnSource;", "import io.deephaven.engine.table.impl.sources.LocalDateWrapperSource;", "import io.deephaven.engine.table.impl.sources.LocalTimeWrapperSource;", - "import io.deephaven.engine.table.impl.sources.ConvertableTimeSource;"); + "import io.deephaven.engine.table.impl.sources.ConvertibleTimeSource;"); lines = addImport(lines, Instant.class, ZonedDateTime.class, LocalDate.class, LocalTime.class, ZoneId.class); - lines = globalReplacements(lines, "/\\*\\s+MIXIN_INTERFACES\\s+\\*/", ",ConvertableTimeSource "); + lines = globalReplacements(lines, "/\\*\\s+MIXIN_INTERFACES\\s+\\*/", ", ConvertibleTimeSource"); lines = replaceRegion(lines, "reinterpretation", Arrays.asList( " @Override", " public boolean allowsReinterpret(@NotNull Class alternateDataType) {", @@ -134,8 +134,7 @@ private static void fixupRegionedColumnSourceLong(String path) throws IOExceptio " return true;", " }", "", - " return alternateDataType == Instant.class ||", - " alternateDataType == DateTime.class;", + " return alternateDataType == Instant.class;", " }", "", " @SuppressWarnings(\"unchecked\")", @@ -143,8 +142,6 @@ private static void fixupRegionedColumnSourceLong(String path) throws IOExceptio " protected ColumnSource doReinterpret(@NotNull Class alternateDataType) {", " if(alternateDataType == Instant.class) {", " return (ColumnSource) toInstant();", - " } else if(alternateDataType == DateTime.class) {", - " return (ColumnSource) toDateTime();", " }", "", " return super.doReinterpret(alternateDataType);", @@ -160,11 +157,6 @@ private static void fixupRegionedColumnSourceLong(String path) throws IOExceptio " return new RegionedColumnSourceInstant((RegionedColumnSourceLong) this);", " }", "", - " public ColumnSource toDateTime() {", - " //noinspection unchecked", - " return new RegionedColumnSourceDateTime((RegionedColumnSourceLong) this);", - " }", - "", " @Override", " public ColumnSource toZonedDateTime(ZoneId zone) {", " //noinspection unchecked", diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java index 50f38ead91d..9108e16f01e 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java @@ -9,6 +9,7 @@ import java.io.File; import java.io.IOException; import java.nio.charset.Charset; +import java.time.Instant; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -17,12 +18,11 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.*; import static io.deephaven.replication.ReplicationUtils.*; -// public class ReplicateSegmentedSortedMultiset { public static void main(String[] args) throws IOException { charToAllButBooleanAndLong( "engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java"); - insertDateTimeExtensions(charToLong( + insertInstantExtensions(charToLong( "engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java")); String objectSsm = charToObject( @@ -72,7 +72,7 @@ public static void main(String[] args) throws IOException { fixupLongKernelOperator( charToLong( "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharChunkedDistinctOperator.java"), - " externalResult = new DateTimeSsmSourceWrapper(internalResult);"); + " externalResult = new InstantSsmSourceWrapper(internalResult);"); fixupObjectKernelOperator( charToObject( "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharChunkedDistinctOperator.java"), @@ -83,7 +83,7 @@ public static void main(String[] args) throws IOException { fixupLongKernelOperator( charToLong( "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharChunkedUniqueOperator.java"), - " externalResult = new BoxedColumnSource.OfDateTime(internalResult);"); + " externalResult = new BoxedColumnSource.OfInstant(internalResult);"); fixupObjectKernelOperator( charToObject( "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharChunkedUniqueOperator.java"), @@ -100,7 +100,7 @@ public static void main(String[] args) throws IOException { fixupLongKernelOperator( charToLong( "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharRollupDistinctOperator.java"), - " externalResult = new DateTimeSsmSourceWrapper(internalResult);"); + " externalResult = new InstantSsmSourceWrapper(internalResult);"); fixupObjectKernelOperator( charToObject( "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharRollupDistinctOperator.java"), @@ -111,7 +111,7 @@ public static void main(String[] args) throws IOException { fixupLongKernelOperator( charToLong( "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharRollupUniqueOperator.java"), - " externalResult = new BoxedColumnSource.OfDateTime(internalResult);"); + " externalResult = new BoxedColumnSource.OfInstant(internalResult);"); fixupObjectKernelOperator( charToObject( "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharRollupUniqueOperator.java"), @@ -123,13 +123,13 @@ private static void fixupLongKernelOperator(String longPath, String externalResu List lines = FileUtils.readLines(longFile, Charset.defaultCharset()); lines = addImport(lines, "import io.deephaven.engine.table.impl.sources.BoxedColumnSource;", - "import io.deephaven.time.DateTime;", - "import io.deephaven.engine.table.impl.by.ssmcountdistinct.DateTimeSsmSourceWrapper;"); + "import io.deephaven.engine.table.impl.by.ssmcountdistinct.InstantSsmSourceWrapper;"); + lines = addImport(lines, Instant.class); lines = replaceRegion(lines, "Constructor", indent(Collections.singletonList("Class type,"), 12)); lines = replaceRegion(lines, "ResultAssignment", indent(Arrays.asList( - "if(type == DateTime.class) {", + "if(type == Instant.class) {", externalResultSetter, "} else {", " externalResult = internalResult;", @@ -232,58 +232,58 @@ private static List fixupObjectCompare(List lines) { " }")); } - private static void insertDateTimeExtensions(String longPath) throws IOException { + private static void insertInstantExtensions(String longPath) throws IOException { final File longFile = new File(longPath); List lines = FileUtils.readLines(longFile, Charset.defaultCharset()); lines = addImport(lines, - "import io.deephaven.time.DateTime;", "import io.deephaven.vector.ObjectVectorDirect;", "import io.deephaven.time.DateTimeUtils;"); + lines = addImport(lines, Instant.class); lines = insertRegion(lines, "Extensions", Arrays.asList( - " public DateTime getAsDate(long i) {", - " return DateTimeUtils.nanosToTime(get(i));", + " public Instant getAsInstant(long i) {", + " return DateTimeUtils.epochNanosToInstant(get(i));", " }", "", - " public ObjectVector subArrayAsDate(long fromIndexInclusive, long toIndexExclusive) {", - " return new ObjectVectorDirect<>(keyArrayAsDate(fromIndexInclusive, toIndexExclusive));", + " public ObjectVector subArrayAsInstants(long fromIndexInclusive, long toIndexExclusive) {", + " return new ObjectVectorDirect<>(keyArrayAsInstants(fromIndexInclusive, toIndexExclusive));", " }", "", - " public ObjectVector subArrayByPositionsAsDates(long[] positions) {", - " final DateTime[] keyArray = new DateTime[positions.length];", + " public ObjectVector subArrayByPositionsAsInstants(long[] positions) {", + " final Instant[] keyArray = new Instant[positions.length];", " int writePos = 0;", " for (long position : positions) {", - " keyArray[writePos++] = getAsDate(position);", + " keyArray[writePos++] = getAsInstant(position);", " }", "", " return new ObjectVectorDirect<>(keyArray);", " }", "", - " public DateTime[] toDateArray() {", - " return keyArrayAsDate();", + " public Instant[] toInstantArray() {", + " return keyArrayAsInstants();", " }", "", - " public Chunk toDateChunk() {", - " return ObjectChunk.chunkWrap(toDateArray());", + " public Chunk toInstantChunk() {", + " return ObjectChunk.chunkWrap(toInstantArray());", " }", "", - " public void fillDateChunk(WritableChunk destChunk) {", + " public void fillInstantChunk(WritableChunk destChunk) {", " if(isEmpty()) {", " return ;", " }", "", " //noinspection unchecked", - " WritableObjectChunk writable = destChunk.asWritableObjectChunk();", + " WritableObjectChunk writable = destChunk.asWritableObjectChunk();", " if (leafCount == 1) {", " for(int ii = 0; ii < size(); ii++) {", - " writable.set(ii, DateTimeUtils.nanosToTime(directoryValues[ii]));", + " writable.set(ii, DateTimeUtils.epochNanosToInstant(directoryValues[ii]));", " }", " } else if (leafCount > 0) {", " int offset = 0;", " for (int li = 0; li < leafCount; ++li) {", " for(int jj = 0; jj < leafSizes[li]; jj++) {", - " writable.set(jj + offset, DateTimeUtils.nanosToTime(leafValues[li][jj]));", + " writable.set(jj + offset, DateTimeUtils.epochNanosToInstant(leafValues[li][jj]));", " }", " offset += leafSizes[li];", " }", @@ -291,12 +291,12 @@ private static void insertDateTimeExtensions(String longPath) throws IOException " }", "", "", - " public ObjectVector getDirectAsDate() {", - " return new ObjectVectorDirect<>(keyArrayAsDate());", + " public ObjectVector getDirectAsInstants() {", + " return new ObjectVectorDirect<>(keyArrayAsInstants());", " }", "", - " private DateTime[] keyArrayAsDate() {", - " return keyArrayAsDate(0, size()-1);", + " private Instant[] keyArrayAsInstants() {", + " return keyArrayAsInstants(0, size()-1);", " }", "", " /**", @@ -305,16 +305,16 @@ private static void insertDateTimeExtensions(String longPath) throws IOException " * @param last", " * @return", " */", - " private DateTime[] keyArrayAsDate(long first, long last) {", + " private Instant[] keyArrayAsInstants(long first, long last) {", " if(isEmpty()) {", - " return DateTimeUtils.ZERO_LENGTH_DATETIME_ARRAY;", + " return DateTimeUtils.ZERO_LENGTH_INSTANT_ARRAY;", " }", "", " final int totalSize = (int)(last - first + 1);", - " final DateTime[] keyArray = new DateTime[intSize()];", + " final Instant[] keyArray = new Instant[intSize()];", " if (leafCount == 1) {", " for(int ii = 0; ii < totalSize; ii++) {", - " keyArray[ii] = DateTimeUtils.nanosToTime(directoryValues[ii + (int)first]);", + " keyArray[ii] = DateTimeUtils.epochNanosToInstant(directoryValues[ii + (int)first]);", " }", " } else if (leafCount > 0) {", " int offset = 0;", @@ -326,7 +326,7 @@ private static void insertDateTimeExtensions(String longPath) throws IOException " if(toSkip < leafSizes[li]) {", " final int nToCopy = Math.min(leafSizes[li] - toSkip, totalSize);", " for(int jj = 0; jj < nToCopy; jj++) {", - " keyArray[jj] = DateTimeUtils.nanosToTime(leafValues[li][jj + toSkip]);", + " keyArray[jj] = DateTimeUtils.epochNanosToInstant(leafValues[li][jj + toSkip]);", " }", " copied = nToCopy;", " offset = copied;", @@ -337,7 +337,7 @@ private static void insertDateTimeExtensions(String longPath) throws IOException " } else {", " int nToCopy = Math.min(leafSizes[li], totalSize - copied);", " for(int jj = 0; jj < nToCopy; jj++) {", - " keyArray[jj + offset] = DateTimeUtils.nanosToTime(leafValues[li][jj]);", + " keyArray[jj + offset] = DateTimeUtils.epochNanosToInstant(leafValues[li][jj]);", " }", " offset += leafSizes[li];", " copied += nToCopy;", @@ -347,11 +347,11 @@ private static void insertDateTimeExtensions(String longPath) throws IOException " return keyArray;", " }", "", - " public String toDateString() {", + " public String toInstantString() {", " final StringBuilder arrAsString = new StringBuilder(\"[\");", " if (leafCount == 1) {", " for(int ii = 0; ii < intSize(); ii++) {", - " arrAsString.append(DateTimeUtils.nanosToTime(directoryValues[ii])).append(\", \");", + " arrAsString.append(DateTimeUtils.epochNanosToInstant(directoryValues[ii])).append(\", \");", " }", " ", " arrAsString.replace(arrAsString.length() - 2, arrAsString.length(), \"]\");", @@ -359,7 +359,7 @@ private static void insertDateTimeExtensions(String longPath) throws IOException " } else if (leafCount > 0) {", " for (int li = 0; li < leafCount; ++li) {", " for(int ai = 0; ai < leafSizes[li]; ai++) {", - " arrAsString.append(DateTimeUtils.nanosToTime(leafValues[li][ai])).append(\", \");", + " arrAsString.append(DateTimeUtils.epochNanosToInstant(leafValues[li][ai])).append(\", \");", " }", " }", "", diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java index be082704ac2..762d2dc6bde 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java @@ -137,12 +137,11 @@ private static void replicateObjectChunkPage(final String charPath) throws IOExc private static void fixupImmutableLongArraySource(String longImmutableSource) throws IOException { final File resultClassJavaFile = new File(longImmutableSource); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); - lines = addImport(lines, "import io.deephaven.time.DateTime;"); lines = addImport(lines, "import io.deephaven.engine.table.ColumnSource;"); lines = addImport(lines, LongFunction.class, ToLongFunction.class, Instant.class, ZonedDateTime.class, LocalDate.class, LocalTime.class, Require.class, ZoneId.class); lines = standardCleanups(lines); - lines = globalReplacements(lines, "/\\*\\s*MIXIN_IMPLS\\s*\\*/", ", ConvertableTimeSource"); + lines = globalReplacements(lines, "/\\*\\s*MIXIN_IMPLS\\s*\\*/", ", ConvertibleTimeSource"); lines = replaceRegion(lines, "fillChunkByRanges", l -> addLongToBoxedAdapter(l, "LongFunction", "WritableObjectChunk", "asWritableObjectChunk")); lines = replaceRegion(lines, "fillChunkByKeys", l -> addLongToBoxedAdapter(l, "LongFunction", @@ -161,7 +160,7 @@ private static void fixupImmutableLongArraySource(String longImmutableSource) th lines = replaceRegion(lines, "reinterpretation", Arrays.asList( " @Override", " public boolean allowsReinterpret(@NotNull final Class alternateDataType) {", - " return alternateDataType == long.class || alternateDataType == Instant.class || alternateDataType == DateTime.class;", + " return alternateDataType == long.class || alternateDataType == Instant.class;", " }", "", " @SuppressWarnings(\"unchecked\")", @@ -169,8 +168,6 @@ private static void fixupImmutableLongArraySource(String longImmutableSource) th " protected ColumnSource doReinterpret(@NotNull Class alternateDataType) {", " if (alternateDataType == this.getType()) {", " return (ColumnSource) this;", - " } else if(alternateDataType == DateTime.class) {", - " return (ColumnSource) toDateTime();", " } else if (alternateDataType == Instant.class) {", " return (ColumnSource) toInstant();", " }", @@ -199,11 +196,6 @@ private static void fixupImmutableLongArraySource(String longImmutableSource) th " }", "", " @Override", - " public ColumnSource toDateTime() {", - " return new ImmutableDateTimeArraySource(this);", - " }", - "", - " @Override", " public ColumnSource toInstant() {", " return new ImmutableInstantArraySource(this);", " }", @@ -218,16 +210,15 @@ private static void fixupImmutableLongArraySource(String longImmutableSource) th private static void fixupImmutableConstantLongSource(String longImmutableSource) throws IOException { final File resultClassJavaFile = new File(longImmutableSource); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); - lines = addImport(lines, "import io.deephaven.time.DateTime;"); lines = addImport(lines, "import io.deephaven.engine.table.ColumnSource;"); lines = addImport(lines, Instant.class, ZonedDateTime.class, LocalDate.class, LocalTime.class, Require.class, ZoneId.class); lines = standardCleanups(lines); - lines = globalReplacements(lines, "/\\*\\s*MIXIN_IMPLS\\s*\\*/", ", ConvertableTimeSource"); + lines = globalReplacements(lines, "/\\*\\s*MIXIN_IMPLS\\s*\\*/", ", ConvertibleTimeSource"); lines = replaceRegion(lines, "reinterpretation", Arrays.asList( " @Override", " public boolean allowsReinterpret(@NotNull final Class alternateDataType) {", - " return alternateDataType == long.class || alternateDataType == Instant.class || alternateDataType == DateTime.class;", + " return alternateDataType == long.class || alternateDataType == Instant.class;", " }", "", " @SuppressWarnings(\"unchecked\")", @@ -235,8 +226,6 @@ private static void fixupImmutableConstantLongSource(String longImmutableSource) " protected ColumnSource doReinterpret(@NotNull Class alternateDataType) {", " if (alternateDataType == this.getType()) {", " return (ColumnSource) this;", - " } else if(alternateDataType == DateTime.class) {", - " return (ColumnSource) toDateTime();", " } else if (alternateDataType == Instant.class) {", " return (ColumnSource) toInstant();", " }", @@ -265,11 +254,6 @@ private static void fixupImmutableConstantLongSource(String longImmutableSource) " }", "", " @Override", - " public ColumnSource toDateTime() {", - " return new ImmutableConstantDateTimeSource(this);", - " }", - "", - " @Override", " public ColumnSource toInstant() {", " return new ImmutableConstantInstantSource(this);", " }", @@ -284,12 +268,11 @@ private static void fixupImmutableConstantLongSource(String longImmutableSource) private static void fixupImmutable2DLongArraySource(String longImmutableSource) throws IOException { final File resultClassJavaFile = new File(longImmutableSource); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); - lines = addImport(lines, "import io.deephaven.time.DateTime;"); lines = addImport(lines, "import io.deephaven.engine.table.ColumnSource;"); lines = addImport(lines, LongFunction.class, ToLongFunction.class, Instant.class, ZonedDateTime.class, LocalDate.class, LocalTime.class, Require.class, ZoneId.class); lines = standardCleanups(lines); - lines = globalReplacements(lines, "/\\*\\s*MIXIN_IMPLS\\s*\\*/", ", ConvertableTimeSource"); + lines = globalReplacements(lines, "/\\*\\s*MIXIN_IMPLS\\s*\\*/", ", ConvertibleTimeSource"); lines = replaceRegion(lines, "fillChunkByRanges", l -> addLongToBoxedAdapter(l, "LongFunction", "WritableObjectChunk", "asWritableObjectChunk")); lines = replaceRegion(lines, "fillChunkByKeys", l -> addLongToBoxedAdapter(l, "LongFunction", @@ -308,7 +291,7 @@ private static void fixupImmutable2DLongArraySource(String longImmutableSource) lines = replaceRegion(lines, "reinterpretation", Arrays.asList( " @Override", " public boolean allowsReinterpret(@NotNull final Class alternateDataType) {", - " return alternateDataType == long.class || alternateDataType == Instant.class || alternateDataType == DateTime.class;", + " return alternateDataType == long.class || alternateDataType == Instant.class;", " }", "", " @SuppressWarnings(\"unchecked\")", @@ -316,8 +299,6 @@ private static void fixupImmutable2DLongArraySource(String longImmutableSource) " protected ColumnSource doReinterpret(@NotNull Class alternateDataType) {", " if (alternateDataType == this.getType()) {", " return (ColumnSource) this;", - " } else if(alternateDataType == DateTime.class) {", - " return (ColumnSource) toDateTime();", " } else if (alternateDataType == Instant.class) {", " return (ColumnSource) toInstant();", " }", @@ -346,11 +327,6 @@ private static void fixupImmutable2DLongArraySource(String longImmutableSource) " }", "", " @Override", - " public ColumnSource toDateTime() {", - " return new Immutable2DDateTimeArraySource(this);", - " }", - "", - " @Override", " public ColumnSource toInstant() {", " return new Immutable2DInstantArraySource(this);", " }", @@ -366,7 +342,8 @@ private static void fixupByteReinterpret(String byteImmutableSource) throws IOEx final File resultClassJavaFile = new File(byteImmutableSource); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); lines = addImport(lines, "import io.deephaven.engine.table.ColumnSource;"); - lines = replaceRegion(lines, "reinterpretation", Arrays.asList(" @Override", + lines = replaceRegion(lines, "reinterpretation", Arrays.asList( + " @Override", " public boolean allowsReinterpret(", " @NotNull final Class alternateDataType) {", " return alternateDataType == Boolean.class;", @@ -914,12 +891,11 @@ private static void replicateLongArraySource() throws IOException { final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); lines = addImport(lines, - "import io.deephaven.time.DateTime;", "import io.deephaven.engine.table.impl.util.copy.CopyKernel;"); lines = addImport(lines, LongFunction.class, ToLongFunction.class, Instant.class, ZonedDateTime.class, LocalDate.class, LocalTime.class, Require.class, ZoneId.class); lines = standardCleanups(lines); - lines = globalReplacements(lines, "/\\*\\s*MIXIN_IMPLS\\s*\\*/", ", ConvertableTimeSource"); + lines = globalReplacements(lines, "/\\*\\s*MIXIN_IMPLS\\s*\\*/", ", ConvertibleTimeSource"); lines = replaceRegion(lines, "getAndAddUnsafe", Arrays.asList( " public final long getAndAddUnsafe(long index, long addend) {", " final int blockIndex = (int) (index >> LOG_BLOCK_SIZE);", @@ -960,7 +936,7 @@ private static void replicateLongArraySource() throws IOException { lines = replaceRegion(lines, "reinterpretation", Arrays.asList( " @Override", " public boolean allowsReinterpret(@NotNull final Class alternateDataType) {", - " return alternateDataType == long.class || alternateDataType == Instant.class || alternateDataType == DateTime.class;", + " return alternateDataType == long.class || alternateDataType == Instant.class;", " }", "", " @SuppressWarnings(\"unchecked\")", @@ -968,8 +944,6 @@ private static void replicateLongArraySource() throws IOException { " protected ColumnSource doReinterpret(@NotNull Class alternateDataType) {", " if (alternateDataType == this.getType()) {", " return (ColumnSource) this;", - " } else if(alternateDataType == DateTime.class) {", - " return (ColumnSource) toDateTime();", " } else if (alternateDataType == Instant.class) {", " return (ColumnSource) toInstant();", " }", @@ -998,11 +972,6 @@ private static void replicateLongArraySource() throws IOException { " }", "", " @Override", - " public ColumnSource toDateTime() {", - " return new DateTimeArraySource(this);", - " }", - "", - " @Override", " public ColumnSource toInstant() {", " return new InstantArraySource(this);", " }", @@ -1019,11 +988,10 @@ private static void replicateLongSparseArraySource() throws IOException { "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSparseArraySource.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); - lines = addImport(lines, "import io.deephaven.time.DateTime;"); lines = addImport(lines, LongFunction.class, ToLongFunction.class, Instant.class, ZonedDateTime.class, LocalDate.class, LocalTime.class, Require.class, ZoneId.class); lines = standardCleanups(lines); - lines = globalReplacements(lines, "/\\*\\s*MIXIN_IMPLS\\s*\\*/", ", ConvertableTimeSource"); + lines = globalReplacements(lines, "/\\*\\s*MIXIN_IMPLS\\s*\\*/", ", ConvertibleTimeSource"); lines = replaceRegion(lines, "fillByRanges", l -> addLongToBoxedAdapter(l, "LongFunction", "WritableObjectChunk", "asWritableObjectChunk")); lines = replaceRegion(lines, "fillByKeys", l -> addLongToBoxedAdapter(l, "LongFunction", @@ -1042,7 +1010,7 @@ private static void replicateLongSparseArraySource() throws IOException { lines = replaceRegion(lines, "reinterpretation", Arrays.asList( " @Override", " public boolean allowsReinterpret(@NotNull final Class alternateDataType) {", - " return alternateDataType == long.class || alternateDataType == Instant.class || alternateDataType == DateTime.class;", + " return alternateDataType == long.class || alternateDataType == Instant.class;", " }", "", " @SuppressWarnings(\"unchecked\")", @@ -1050,8 +1018,6 @@ private static void replicateLongSparseArraySource() throws IOException { " protected ColumnSource doReinterpret(@NotNull Class alternateDataType) {", " if (alternateDataType == this.getType()) {", " return (ColumnSource) this;", - " } else if(alternateDataType == DateTime.class) {", - " return (ColumnSource) toDateTime();", " } else if (alternateDataType == Instant.class) {", " return (ColumnSource) toInstant();", " }", @@ -1080,11 +1046,6 @@ private static void replicateLongSparseArraySource() throws IOException { " }", "", " @Override", - " public ColumnSource toDateTime() {", - " return new DateTimeSparseArraySource(this);", - " }", - "", - " @Override", " public ColumnSource toInstant() {", " return new InstantSparseArraySource(this);", " }", diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java index 45dbcdb7d54..489e6e2d0bb 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java @@ -8,8 +8,10 @@ import java.io.File; import java.io.IOException; import java.nio.charset.Charset; +import java.time.Instant; import java.util.Collections; import java.util.List; +import java.util.Map; import static io.deephaven.replication.ReplicationUtils.*; @@ -409,12 +411,10 @@ private static void fixupStandardObject(String objectResult, final String classN private static void augmentLongWithReinterps(final String longResult) throws IOException { final File objectFile = new File(longResult); List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); - lines = addImport(lines, "import io.deephaven.engine.table.ColumnSource;", - "import java.util.Map;", - "import java.util.Collections;", - "import io.deephaven.time.DateTime;", - "import java.time.Instant;", + lines = addImport(lines, + "import io.deephaven.engine.table.ColumnSource;", "import io.deephaven.engine.table.impl.sources.ReinterpretUtils;"); + lines = addImport(lines, Instant.class, Map.class, Collections.class); lines = replaceRegion(lines, "extra-fields", Collections.singletonList(" private final Class type;")); lines = replaceRegion(lines, "extra-constructor-args", @@ -427,8 +427,8 @@ private static void augmentLongWithReinterps(final String longResult) throws IOE " @Override\n" + " public Map> getOutputColumns() {\n" + " final ColumnSource actualOutput;\n" + - " if(type == DateTime.class) {\n" + - " actualOutput = ReinterpretUtils.longToDateTimeSource(outputSource);\n" + + " if(type == Instant.class) {\n" + + " actualOutput = ReinterpretUtils.longToInstantSource(outputSource);\n" + " } else {\n" + " actualOutput = outputSource;\n" + " }\n" + diff --git a/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java b/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java index e54a037db93..c271a6f6a0a 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java +++ b/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java @@ -52,18 +52,18 @@ public class TupleSourceCodeGenerator { enum ColumnSourceType { // @formatter:off - BYTE( "Byte", "byte", null, null, false, CS + ".getByte(" + RK + ")" , CS + ".getPrevByte(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Byte)" + VAL, "io.deephaven.util.type.TypeUtils" ), - SHORT( "Short", "short", null, null, false, CS + ".getShort(" + RK + ")" , CS + ".getPrevShort(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Short)" + VAL, "io.deephaven.util.type.TypeUtils" ), - INT( "Integer", "int", null, null, false, CS + ".getInt(" + RK + ")" , CS + ".getPrevInt(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Integer)" + VAL, "io.deephaven.util.type.TypeUtils" ), - LONG( "Long", "long", null, null, false, CS + ".getLong(" + RK + ")" , CS + ".getPrevLong(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Long)" + VAL, "io.deephaven.util.type.TypeUtils" ), - FLOAT( "Float", "float", null, null, false, CS + ".getFloat(" + RK + ")" , CS + ".getPrevFloat(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Float)" + VAL, "io.deephaven.util.type.TypeUtils" ), - DOUBLE( "Double", "double", null, null, false, CS + ".getDouble(" + RK + ")" , CS + ".getPrevDouble(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Double)" + VAL, "io.deephaven.util.type.TypeUtils" ), - CHAR( "Character", "char", null, null, false, CS + ".getChar(" + RK + ")" , CS + ".getPrevChar(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Character)" + VAL, "io.deephaven.util.type.TypeUtils" ), - OBJECT( "Object", "java.lang.Object", null, null, false, CS + ".get(" + RK + ")" , CS + ".getPrev(" + RK + ")" , VAL , VAL , VAL ), - R_BOOLEAN( "ReinterpretedBoolean", "byte", null, null, true, CS + ".getByte(" + RK + ")" , CS + ".getPrevByte(" + RK + ")" , "BooleanUtils.byteAsBoolean(" + VAL + ')', "BooleanUtils.booleanAsByte(" + VAL + ')', "(Boolean)" + VAL, "io.deephaven.util.type.TypeUtils", "io.deephaven.util.BooleanUtils" ), - BOOLEAN( "Boolean", "java.lang.Boolean", "byte", R_BOOLEAN, false, "BooleanUtils.booleanAsByte(" + CS + ".getBoolean(" + RK + "))", "BooleanUtils.booleanAsByte(" + CS + ".getPrevBoolean(" + RK + "))", "BooleanUtils.byteAsBoolean(" + VAL + ')', "BooleanUtils.booleanAsByte(" + VAL + ')', "(Boolean)" + VAL, "io.deephaven.util.BooleanUtils" ), - R_DATETIME("ReinterpretedDateTime", "long", null, null, true, CS + ".getLong(" + RK + ")" , CS + ".getPrevLong(" + RK + ")" , "DateTimeUtils.nanosToTime(" + VAL + ')', "DateTimeUtils.nanos(" + VAL + ')', "(DateTime)" + VAL, "io.deephaven.util.type.TypeUtils", "io.deephaven.time.DateTime", "io.deephaven.time.DateTimeUtils"), - DATETIME( "DateTime", "io.deephaven.time.DateTime", "long", R_DATETIME, false, "DateTimeUtils.nanos(" + CS + ".get(" + RK + "))", "DateTimeUtils.nanos(" + CS + ".getPrev(" + RK + "))", "DateTimeUtils.nanosToTime(" + VAL + ')', "DateTimeUtils.nanos(" + VAL + ')', "(DateTime)" + VAL, "io.deephaven.time.DateTime","io.deephaven.time.DateTimeUtils" ), + BYTE( "Byte", "byte", null, null, false, CS + ".getByte(" + RK + ")" , CS + ".getPrevByte(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Byte)" + VAL, "io.deephaven.util.type.TypeUtils" ), + SHORT( "Short", "short", null, null, false, CS + ".getShort(" + RK + ")" , CS + ".getPrevShort(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Short)" + VAL, "io.deephaven.util.type.TypeUtils" ), + INT( "Integer", "int", null, null, false, CS + ".getInt(" + RK + ")" , CS + ".getPrevInt(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Integer)" + VAL, "io.deephaven.util.type.TypeUtils" ), + LONG( "Long", "long", null, null, false, CS + ".getLong(" + RK + ")" , CS + ".getPrevLong(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Long)" + VAL, "io.deephaven.util.type.TypeUtils" ), + FLOAT( "Float", "float", null, null, false, CS + ".getFloat(" + RK + ")" , CS + ".getPrevFloat(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Float)" + VAL, "io.deephaven.util.type.TypeUtils" ), + DOUBLE( "Double", "double", null, null, false, CS + ".getDouble(" + RK + ")" , CS + ".getPrevDouble(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Double)" + VAL, "io.deephaven.util.type.TypeUtils" ), + CHAR( "Character", "char", null, null, false, CS + ".getChar(" + RK + ")" , CS + ".getPrevChar(" + RK + ")" , "TypeUtils.box(" + VAL + ')', "TypeUtils.unbox(" + VAL + ')', "(Character)" + VAL, "io.deephaven.util.type.TypeUtils" ), + OBJECT( "Object", "java.lang.Object", null, null, false, CS + ".get(" + RK + ")" , CS + ".getPrev(" + RK + ")" , VAL , VAL , VAL ), + R_BOOLEAN( "ReinterpretedBoolean", "byte", null, null, true, CS + ".getByte(" + RK + ")" , CS + ".getPrevByte(" + RK + ")" , "BooleanUtils.byteAsBoolean(" + VAL + ')', "BooleanUtils.booleanAsByte(" + VAL + ')', "(Boolean)" + VAL, "io.deephaven.util.type.TypeUtils", "io.deephaven.util.BooleanUtils" ), + BOOLEAN( "Boolean", "java.lang.Boolean", "byte", R_BOOLEAN, false, "BooleanUtils.booleanAsByte(" + CS + ".getBoolean(" + RK + "))", "BooleanUtils.booleanAsByte(" + CS + ".getPrevBoolean(" + RK + "))", "BooleanUtils.byteAsBoolean(" + VAL + ')', "BooleanUtils.booleanAsByte(" + VAL + ')', "(Boolean)" + VAL, "io.deephaven.util.BooleanUtils" ), + R_INSTANT("ReinterpretedInstant", "long", null, null, true, CS + ".getLong(" + RK + ")" , CS + ".getPrevLong(" + RK + ")" , "DateTimeUtils.epochNanosToInstant(" + VAL + ')', "DateTimeUtils.epochNanos(" + VAL + ')', "(Instant)" + VAL, "io.deephaven.util.type.TypeUtils", "io.deephaven.time.DateTimeUtils", "java.time.Instant"), + INSTANT( "Instant", "java.time.Instant", "long", R_INSTANT, false, "DateTimeUtils.epochNanos(" + CS + ".get(" + RK + "))", "DateTimeUtils.epochNanos(" + CS + ".getPrev(" + RK + "))", "DateTimeUtils.epochNanosToInstant(" + VAL + ')', "DateTimeUtils.epochNanos(" + VAL + ')', "(Instant)" + VAL, "io.deephaven.time.DateTimeUtils", "java.time.Instant" ), ; // @formatter:on diff --git a/server/src/main/java/io/deephaven/server/barrage/BarrageMessageProducer.java b/server/src/main/java/io/deephaven/server/barrage/BarrageMessageProducer.java index b6cb2cc953c..fb584d89c0a 100644 --- a/server/src/main/java/io/deephaven/server/barrage/BarrageMessageProducer.java +++ b/server/src/main/java/io/deephaven/server/barrage/BarrageMessageProducer.java @@ -42,7 +42,6 @@ import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; import io.deephaven.server.util.Scheduler; -import io.deephaven.time.DateTime; import io.deephaven.util.SafeCloseable; import io.deephaven.util.SafeCloseableArray; import io.deephaven.util.datastructures.LongSizedDataStructure; @@ -53,6 +52,7 @@ import org.HdrHistogram.Histogram; import java.io.IOException; +import java.time.Instant; import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.locks.ReentrantLock; @@ -2259,7 +2259,7 @@ public synchronized void run() { return; } - final DateTime now = DateTime.ofMillis(scheduler); + final Instant now = scheduler.instantMillis(); scheduler.runAfterDelay(BarragePerformanceLog.CYCLE_DURATION_MILLIS, this); final BarrageSubscriptionPerformanceLogger logger = @@ -2281,7 +2281,7 @@ public synchronized void run() { } } - private void flush(final DateTime now, final BarrageSubscriptionPerformanceLogger logger, final Histogram hist, + private void flush(final Instant now, final BarrageSubscriptionPerformanceLogger logger, final Histogram hist, final String statType) throws IOException { if (hist.getTotalCount() == 0) { return; diff --git a/server/src/main/java/io/deephaven/server/hierarchicaltable/HierarchicalTableViewSubscription.java b/server/src/main/java/io/deephaven/server/hierarchicaltable/HierarchicalTableViewSubscription.java index a298ed7d791..72b9e2e1219 100644 --- a/server/src/main/java/io/deephaven/server/hierarchicaltable/HierarchicalTableViewSubscription.java +++ b/server/src/main/java/io/deephaven/server/hierarchicaltable/HierarchicalTableViewSubscription.java @@ -24,7 +24,6 @@ import io.deephaven.io.logger.Logger; import io.deephaven.proto.util.Exceptions; import io.deephaven.server.util.Scheduler; -import io.deephaven.time.DateTime; import io.deephaven.util.SafeCloseable; import io.grpc.stub.StreamObserver; import org.HdrHistogram.Histogram; @@ -32,6 +31,7 @@ import org.jetbrains.annotations.Nullable; import java.io.IOException; +import java.time.Instant; import java.util.ArrayList; import java.util.BitSet; import java.util.List; @@ -466,7 +466,7 @@ public synchronized void run() { return; } - final DateTime now = DateTime.ofMillis(scheduler); + final Instant now = scheduler.instantMillis(); scheduler.runAfterDelay(BarragePerformanceLog.CYCLE_DURATION_MILLIS, this); final BarrageSubscriptionPerformanceLogger logger = @@ -486,7 +486,7 @@ public synchronized void run() { } private void flush( - @NotNull final DateTime now, + @NotNull final Instant now, @NotNull final BarrageSubscriptionPerformanceLogger logger, @NotNull final Histogram hist, @NotNull final String statType) throws IOException { diff --git a/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java index 2cd229cd27a..f0f08248eb3 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java +++ b/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java @@ -60,8 +60,8 @@ import io.deephaven.server.session.SessionState; import io.deephaven.server.session.SessionState.ExportBuilder; import io.deephaven.server.session.TicketRouter; -import io.deephaven.time.DateTime; import io.deephaven.server.table.ExportedTableUpdateListener; +import io.deephaven.time.DateTimeUtils; import io.grpc.StatusRuntimeException; import io.grpc.stub.ServerCallStreamObserver; import io.grpc.stub.StreamObserver; @@ -70,6 +70,7 @@ import javax.inject.Inject; import java.math.BigDecimal; import java.math.BigInteger; +import java.time.Instant; import java.util.Collections; import java.util.List; import java.util.Map; @@ -369,11 +370,11 @@ private Object getSeekValue(Literal literal, Class dataType) { } return literal.getStringValue(); } else if (literal.hasNanoTimeValue()) { - if (!DateTime.class.isAssignableFrom(dataType)) { + if (!Instant.class.isAssignableFrom(dataType)) { throw Exceptions.statusRuntimeException(Code.INVALID_ARGUMENT, - "Invalid Date type for seek: " + dataType); + "Invalid date type for seek: " + dataType); } - return new DateTime(literal.getNanoTimeValue()); + return DateTimeUtils.epochNanosToInstant(literal.getNanoTimeValue()); } else if (literal.hasLongValue()) { Long longValue = literal.getLongValue(); if (dataType == byte.class) { diff --git a/server/src/main/java/io/deephaven/server/table/ops/TimeTableGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/TimeTableGrpcImpl.java index 096de9f7a10..d12dcbfb646 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/TimeTableGrpcImpl.java +++ b/server/src/main/java/io/deephaven/server/table/ops/TimeTableGrpcImpl.java @@ -54,6 +54,6 @@ public Table create(final TimeTableRequest request, final long startTime = request.getStartTimeNanos(); final long periodValue = request.getPeriodNanos(); return new TimeTable(updateGraphProcessor, scheduler, - startTime <= 0 ? null : DateTimeUtils.nanosToTime(startTime), periodValue, false); + startTime <= 0 ? null : DateTimeUtils.epochNanosToInstant(startTime), periodValue, false); } } diff --git a/server/src/main/java/io/deephaven/server/table/ops/filter/FilterFactory.java b/server/src/main/java/io/deephaven/server/table/ops/filter/FilterFactory.java index b57fab29906..adc3b1c7e34 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/filter/FilterFactory.java +++ b/server/src/main/java/io/deephaven/server/table/ops/filter/FilterFactory.java @@ -25,8 +25,7 @@ import io.deephaven.proto.backplane.grpc.NotCondition; import io.deephaven.proto.backplane.grpc.Reference; import io.deephaven.proto.backplane.grpc.Value; -import io.deephaven.time.DateTime; -import io.deephaven.time.TimeZone; +import io.deephaven.time.DateTimeUtils; import org.jetbrains.annotations.NotNull; import java.text.DecimalFormat; @@ -185,7 +184,8 @@ public WhereFilter onIn(Value target, List candidatesList, CaseSensitivit Literal literal = d.getLiteral(); // all other literals get created from a toString except DateTime if (literal.getValueCase() == Literal.ValueCase.NANO_TIME_VALUE) { - values[i] = "'" + new DateTime(literal.getNanoTimeValue()).toString(TimeZone.TZ_DEFAULT) + "'"; + values[i] = "'" + DateTimeUtils.formatDateTime( + DateTimeUtils.epochNanosToInstant(literal.getNanoTimeValue()), DateTimeUtils.timeZone()) + "'"; } else { values[i] = FilterPrinter.printNoEscape(literal); } diff --git a/server/src/main/java/io/deephaven/server/table/ops/filter/FilterPrinter.java b/server/src/main/java/io/deephaven/server/table/ops/filter/FilterPrinter.java index 8605850233a..3b8efadfea3 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/filter/FilterPrinter.java +++ b/server/src/main/java/io/deephaven/server/table/ops/filter/FilterPrinter.java @@ -278,7 +278,7 @@ private void onLiteral(Literal literal) { sb.append(literal.getLongValue()); break; case NANO_TIME_VALUE: - sb.append("new DateTime(").append(literal.getNanoTimeValue()).append(")"); + sb.append("DateTimeUtils.epochNanosToInstant(").append(literal.getNanoTimeValue()).append(")"); break; case VALUE_NOT_SET: default: diff --git a/server/src/main/java/io/deephaven/server/table/validation/ColumnExpressionValidator.java b/server/src/main/java/io/deephaven/server/table/validation/ColumnExpressionValidator.java index 46bf515ffcc..5049d9aeed2 100644 --- a/server/src/main/java/io/deephaven/server/table/validation/ColumnExpressionValidator.java +++ b/server/src/main/java/io/deephaven/server/table/validation/ColumnExpressionValidator.java @@ -25,11 +25,12 @@ import io.deephaven.engine.table.impl.select.WhereFilterFactory; import io.deephaven.engine.util.ColorUtilImpl; import io.deephaven.libs.GroovyStaticImports; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; +import io.deephaven.time.TimeLiteralReplacedExpression; import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -66,9 +67,7 @@ public class ColumnExpressionValidator extends VoidVisitorAdapter { // DateTime // String whitelistedInstanceMethods = Stream - .of( - DateTime.class, - String.class) + .of(Instant.class, String.class) .map(Class::getDeclaredMethods) .flatMap(Arrays::stream) .filter(m -> !Modifier.isStatic(m.getModifiers())) @@ -125,9 +124,9 @@ private static void validateSelectColumnHelper(SelectColumn selectColumn, final final int indexOfEquals = originalExpression.indexOf('='); Assert.assertion(indexOfEquals != -1, "Expected formula expression"); final String formulaString = originalExpression.substring(indexOfEquals + 1); - final DateTimeUtils.Result timeConversionResult; + final TimeLiteralReplacedExpression timeConversionResult; try { - timeConversionResult = DateTimeUtils.convertExpression(formulaString); + timeConversionResult = TimeLiteralReplacedExpression.convertExpression(formulaString); } catch (final Exception e) { // in theory not possible, since we already parsed it once throw new IllegalStateException("Error occurred while re-compiling formula for whitelist", e); diff --git a/server/src/test/app.d/01-groovy-query-scope.groovy b/server/src/test/app.d/01-groovy-query-scope.groovy index ed73bc2ba11..86d7292bb52 100644 --- a/server/src/test/app.d/01-groovy-query-scope.groovy +++ b/server/src/test/app.d/01-groovy-query-scope.groovy @@ -3,4 +3,4 @@ import io.deephaven.engine.util.TableTools // Use QueryScope! Careful; this leaks into the REPL state! size_qs = 42 hello_qs = TableTools.emptyTable(size_qs) -world_qs = TableTools.timeTable("00:00:01") \ No newline at end of file +world_qs = TableTools.timeTable("PT00:00:01") \ No newline at end of file diff --git a/server/src/test/app.d/01-groovy.groovy b/server/src/test/app.d/01-groovy.groovy index 525314f60a7..0fce15462c8 100644 --- a/server/src/test/app.d/01-groovy.groovy +++ b/server/src/test/app.d/01-groovy.groovy @@ -6,7 +6,7 @@ import io.deephaven.engine.util.TableTools def start = { ApplicationState app -> size = 42 app.setField("hello", TableTools.emptyTable(size)) - app.setField("world", TableTools.timeTable("00:00:01")) + app.setField("world", TableTools.timeTable("PT00:00:01")) } ApplicationContext.initialize(start) diff --git a/server/src/test/app.d/02-python-pretty.py b/server/src/test/app.d/02-python-pretty.py index 1c5a54388bc..5f64ef6001c 100644 --- a/server/src/test/app.d/02-python-pretty.py +++ b/server/src/test/app.d/02-python-pretty.py @@ -6,7 +6,7 @@ def demo_app(app: ApplicationState): print("Running Strict App Demo.") size = 42 app.setField("hello", TableTools.emptyTable(size)) - app.setField("world", TableTools.timeTable("00:00:01")) + app.setField("world", TableTools.timeTable("PT00:00:01")) ApplicationContext.initialize(demo_app) @@ -15,6 +15,6 @@ def demo_implicit(): print("Running Implicit Demo.") size_imp = 42 hello_imp = TableTools.emptyTable(size) - world_imp = TableTools.timeTable("00:00:01") + world_imp = TableTools.timeTable("PT00:00:01") ApplicationContext.initialize_implicitly(demo_implicit) \ No newline at end of file diff --git a/server/src/test/app.d/02-python-query-scope.py b/server/src/test/app.d/02-python-query-scope.py index f6b36320062..fdcf1c3207b 100644 --- a/server/src/test/app.d/02-python-query-scope.py +++ b/server/src/test/app.d/02-python-query-scope.py @@ -3,4 +3,4 @@ # Use QueryScope! Careful; this leaks into the REPL state! size_qs = 42 hello_qs = TableTools.emptyTable(size_qs) -world_qs = TableTools.timeTable("00:00:01") +world_qs = TableTools.timeTable("PT00:00:01") diff --git a/server/src/test/app.d/02-python.py b/server/src/test/app.d/02-python.py index c3c2a2dccd6..4f46a48a7bf 100644 --- a/server/src/test/app.d/02-python.py +++ b/server/src/test/app.d/02-python.py @@ -7,7 +7,7 @@ def demo_app(app: ApplicationState): print("Running Strict App Demo.") size = 42 app.setField("hello", TableTools.emptyTable(size)) - app.setField("world", TableTools.timeTable("00:00:01")) + app.setField("world", TableTools.timeTable("PT00:00:01")) def initialize(func: Callable[[ApplicationState], None]): app = jpy.get_type("io.deephaven.appmode.ApplicationContext").get() @@ -20,7 +20,7 @@ def demo_implicit(): print("Running Implicit Demo.") size_imp = 42 global hello_imp; hello_imp = TableTools.emptyTable(size_imp) - global world_imp; world_imp = TableTools.timeTable("00:00:01") + global world_imp; world_imp = TableTools.timeTable("PT00:00:01") def initialize_implicitly(func: Callable[[], None]): app = jpy.get_type("io.deephaven.appmode.ApplicationContext").get() diff --git a/server/src/test/java/io/deephaven/server/appmode/ApplicationConfigs.java b/server/src/test/java/io/deephaven/server/appmode/ApplicationConfigs.java index e5aa3b02fd3..a820c6d8b13 100644 --- a/server/src/test/java/io/deephaven/server/appmode/ApplicationConfigs.java +++ b/server/src/test/java/io/deephaven/server/appmode/ApplicationConfigs.java @@ -59,7 +59,7 @@ public static class App00 implements Application.Factory { public final Application create() { Field

    hello = StandardField.of("hello", TableTools.emptyTable(42).view("I=i"), "A table with one column 'I' and 42 rows, 0-41."); - Field
    world = StandardField.of("world", TableTools.timeTable("00:00:01")); + Field
    world = StandardField.of("world", TableTools.timeTable("PT00:00:01")); return Application.builder() .id(App00.class.getName()) .name("My Class Application") @@ -74,7 +74,7 @@ public static class App04 implements ApplicationState.Factory { public ApplicationState create(ApplicationState.Listener listener) { final CountDownLatch latch = new CountDownLatch(1); final ApplicationState state = new ApplicationState(listener, "", "My Dynamic Application"); - state.setField("initial_field", TableTools.timeTable("00:00:01")); + state.setField("initial_field", TableTools.timeTable("PT00:00:01")); final Thread thread = new Thread(() -> { for (int i = 0;; ++i) { state.setField(String.format("field_%d", i), TableTools.emptyTable(i).view("I=i").tail(1)); diff --git a/server/src/test/java/io/deephaven/server/barrage/BarrageMessageRoundTripTest.java b/server/src/test/java/io/deephaven/server/barrage/BarrageMessageRoundTripTest.java index 4e1a2baf412..e4bd9ccdc36 100644 --- a/server/src/test/java/io/deephaven/server/barrage/BarrageMessageRoundTripTest.java +++ b/server/src/test/java/io/deephaven/server/barrage/BarrageMessageRoundTripTest.java @@ -426,9 +426,9 @@ public void createTable() { new SetGenerator<>(10.1, 20.1, 30.1), new SortedLongGenerator(0, Long.MAX_VALUE - 1), new BooleanGenerator(0.2), - new UnsortedDateTimeGenerator( - DateTimeUtils.convertDateTime("2020-02-14T00:00:00 NY"), - DateTimeUtils.convertDateTime("2020-02-25T00:00:00 NY")))); + new UnsortedInstantGenerator( + DateTimeUtils.parseInstant("2020-02-14T00:00:00 NY"), + DateTimeUtils.parseInstant("2020-02-25T00:00:00 NY")))); } public void createNuggets() { @@ -1290,9 +1290,9 @@ public void createTable() { new BooleanGenerator(0.2), new SetGenerator<>(new String[] {"a", "b"}, new String[] {"0", "1"}, new String[] {}, null), - new UnsortedDateTimeGenerator( - DateTimeUtils.convertDateTime("2020-02-14T00:00:00 NY"), - DateTimeUtils.convertDateTime("2020-02-25T00:00:00 NY"))); + new UnsortedInstantGenerator( + DateTimeUtils.parseInstant("2020-02-14T00:00:00 NY"), + DateTimeUtils.parseInstant("2020-02-25T00:00:00 NY"))); sourceTable = getTable(size / 4, random, columnInfo); } }; @@ -1354,9 +1354,9 @@ public void createTable() { new StringGenerator(), new SetGenerator<>(new String[] {"a", "b"}, new String[] {"0", "1"}, new String[] {}, null), - new UnsortedDateTimeGenerator( - DateTimeUtils.convertDateTime("2020-02-14T00:00:00 NY"), - DateTimeUtils.convertDateTime("2020-02-25T00:00:00 NY"))); + new UnsortedInstantGenerator( + DateTimeUtils.parseInstant("2020-02-14T00:00:00 NY"), + DateTimeUtils.parseInstant("2020-02-25T00:00:00 NY"))); sourceTable = getTable(size / 4, random, columnInfo); } }; diff --git a/server/src/test/java/io/deephaven/server/session/SessionStateTest.java b/server/src/test/java/io/deephaven/server/session/SessionStateTest.java index d94e7c5b25d..e4ec8876add 100644 --- a/server/src/test/java/io/deephaven/server/session/SessionStateTest.java +++ b/server/src/test/java/io/deephaven/server/session/SessionStateTest.java @@ -62,7 +62,7 @@ public void setup() { scheduler = new TestControlledScheduler(); session = new SessionState(scheduler, TestExecutionContext::createForUnitTests, AUTH_CONTEXT); session.initializeExpiration(new SessionService.TokenExpiration(UUID.randomUUID(), - DateTimeUtils.nanosToTime(Long.MAX_VALUE).getMillis(), session)); + DateTimeUtils.epochMillis(DateTimeUtils.epochNanosToInstant(Long.MAX_VALUE)), session)); nextExportId = 1; } @@ -639,7 +639,7 @@ public void testVerifyExpirationSession() { final SessionState session = new SessionState(scheduler, TestExecutionContext::createForUnitTests, AUTH_CONTEXT); final SessionService.TokenExpiration expiration = new SessionService.TokenExpiration(UUID.randomUUID(), - DateTimeUtils.nanosToTime(Long.MAX_VALUE).getMillis(), session); + DateTimeUtils.epochMillis(DateTimeUtils.epochNanosToInstant(Long.MAX_VALUE)), session); expectException(IllegalArgumentException.class, () -> this.session.initializeExpiration(expiration)); expectException(IllegalArgumentException.class, () -> this.session.updateExpiration(expiration)); } diff --git a/server/src/test/java/io/deephaven/server/table/ExportTableUpdateListenerTest.java b/server/src/test/java/io/deephaven/server/table/ExportTableUpdateListenerTest.java index d7565bbfade..004ee6e8ca1 100644 --- a/server/src/test/java/io/deephaven/server/table/ExportTableUpdateListenerTest.java +++ b/server/src/test/java/io/deephaven/server/table/ExportTableUpdateListenerTest.java @@ -342,7 +342,7 @@ public class TestSessionState extends SessionState { public TestSessionState() { super(scheduler, TestExecutionContext::createForUnitTests, AUTH_CONTEXT); initializeExpiration(new SessionService.TokenExpiration(UUID.randomUUID(), - DateTimeUtils.nanosToTime(Long.MAX_VALUE).getMillis(), this)); + DateTimeUtils.epochMillis(DateTimeUtils.epochNanosToInstant(Long.MAX_VALUE)), this)); } } diff --git a/server/src/test/java/io/deephaven/server/table/ops/SnapshotGrpcTest.java b/server/src/test/java/io/deephaven/server/table/ops/SnapshotGrpcTest.java index 837aa2c0029..351818f8e63 100644 --- a/server/src/test/java/io/deephaven/server/table/ops/SnapshotGrpcTest.java +++ b/server/src/test/java/io/deephaven/server/table/ops/SnapshotGrpcTest.java @@ -19,7 +19,7 @@ public ExportedTableCreationResponse send(SnapshotTableRequest request) { @Test public void singleSnapshot() { - final TableReference timeTable = ref(TableTools.timeTable("00:00:01")); + final TableReference timeTable = ref(TableTools.timeTable("PT00:00:01")); final SnapshotTableRequest request = SnapshotTableRequest.newBuilder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setSourceId(timeTable) @@ -35,7 +35,7 @@ public void singleSnapshot() { @Test public void missingResultId() { - final TableReference timeTable = ref(TableTools.timeTable("00:00:01")); + final TableReference timeTable = ref(TableTools.timeTable("PT00:00:01")); final SnapshotTableRequest request = SnapshotTableRequest.newBuilder() .setSourceId(timeTable) .build(); diff --git a/server/src/test/java/io/deephaven/server/table/ops/SnapshotWhenGrpcTestBase.java b/server/src/test/java/io/deephaven/server/table/ops/SnapshotWhenGrpcTestBase.java index 7b877789619..15c571d33db 100644 --- a/server/src/test/java/io/deephaven/server/table/ops/SnapshotWhenGrpcTestBase.java +++ b/server/src/test/java/io/deephaven/server/table/ops/SnapshotWhenGrpcTestBase.java @@ -22,8 +22,8 @@ public ExportedTableCreationResponse send(SnapshotWhenTableRequest snapshotTable @Test public void snapshotTicking() { - final TableReference timeTable1 = ref(TableTools.timeTable("00:00:01").view("Id=ii")); - final TableReference timeTable2 = ref(TableTools.timeTable("00:00:02")); + final TableReference timeTable1 = ref(TableTools.timeTable("PT00:00:01").view("Id=ii")); + final TableReference timeTable2 = ref(TableTools.timeTable("PT00:00:02")); final SnapshotWhenTableRequest request = builder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setBaseId(timeTable1) @@ -40,8 +40,8 @@ public void snapshotTicking() { @Test public void snapshotTickingDoInitial() { - final TableReference timeTable1 = ref(TableTools.timeTable("00:00:01").view("Id=ii")); - final TableReference timeTable2 = ref(TableTools.timeTable("00:00:02")); + final TableReference timeTable1 = ref(TableTools.timeTable("PT00:00:01").view("Id=ii")); + final TableReference timeTable2 = ref(TableTools.timeTable("PT00:00:02")); final SnapshotWhenTableRequest request = builder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setBaseId(timeTable1) @@ -59,8 +59,8 @@ public void snapshotTickingDoInitial() { @Test public void snapshotTickingStamp() { - final TableReference timeTable1 = ref(TableTools.timeTable("00:00:01").view("Id=ii")); - final TableReference timeTable2 = ref(TableTools.timeTable("00:00:02").updateView("Id=ii")); + final TableReference timeTable1 = ref(TableTools.timeTable("PT00:00:01").view("Id=ii")); + final TableReference timeTable2 = ref(TableTools.timeTable("PT00:00:02").updateView("Id=ii")); final SnapshotWhenTableRequest request = builder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setBaseId(timeTable1) @@ -78,8 +78,8 @@ public void snapshotTickingStamp() { @Test public void snapshotTickingStampRename() { - final TableReference timeTable1 = ref(TableTools.timeTable("00:00:01")); - final TableReference timeTable2 = ref(TableTools.timeTable("00:00:02")); + final TableReference timeTable1 = ref(TableTools.timeTable("PT00:00:01")); + final TableReference timeTable2 = ref(TableTools.timeTable("PT00:00:02")); final SnapshotWhenTableRequest request = builder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setBaseId(timeTable1) @@ -97,8 +97,8 @@ public void snapshotTickingStampRename() { @Test public void snapshotTickingStampDoInitial() { - final TableReference timeTable1 = ref(TableTools.timeTable("00:00:01").view("Id=ii")); - final TableReference timeTable2 = ref(TableTools.timeTable("00:00:02").updateView("Id=ii")); + final TableReference timeTable1 = ref(TableTools.timeTable("PT00:00:01").view("Id=ii")); + final TableReference timeTable2 = ref(TableTools.timeTable("PT00:00:02").updateView("Id=ii")); final SnapshotWhenTableRequest request = builder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setBaseId(timeTable1) @@ -117,8 +117,8 @@ public void snapshotTickingStampDoInitial() { @Test public void snapshotTickingNoStamps() { - final TableReference timeTable1 = ref(TableTools.timeTable("00:00:01")); - final TableReference timeTable2 = ref(TableTools.timeTable("00:00:02").dropColumns("Timestamp")); + final TableReference timeTable1 = ref(TableTools.timeTable("PT00:00:01")); + final TableReference timeTable2 = ref(TableTools.timeTable("PT00:00:02").dropColumns("Timestamp")); final SnapshotWhenTableRequest request = builder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setBaseId(timeTable1) @@ -135,8 +135,8 @@ public void snapshotTickingNoStamps() { @Test public void snapshotTickingNoStampsDoInitial() { - final TableReference timeTable1 = ref(TableTools.timeTable("00:00:01")); - final TableReference timeTable2 = ref(TableTools.timeTable("00:00:02").dropColumns("Timestamp")); + final TableReference timeTable1 = ref(TableTools.timeTable("PT00:00:01")); + final TableReference timeTable2 = ref(TableTools.timeTable("PT00:00:02").dropColumns("Timestamp")); final SnapshotWhenTableRequest request = builder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setBaseId(timeTable1) @@ -154,8 +154,8 @@ public void snapshotTickingNoStampsDoInitial() { @Test public void missingResultId() { - final TableReference timeTable1 = ref(TableTools.timeTable("00:00:01").view("Id=ii")); - final TableReference timeTable2 = ref(TableTools.timeTable("00:00:02")); + final TableReference timeTable1 = ref(TableTools.timeTable("PT00:00:01").view("Id=ii")); + final TableReference timeTable2 = ref(TableTools.timeTable("PT00:00:02")); final SnapshotWhenTableRequest request = builder() .setBaseId(timeTable1) .setTriggerId(timeTable2) @@ -165,7 +165,7 @@ public void missingResultId() { @Test public void missingBaseId() { - final TableReference timeTable2 = ref(TableTools.timeTable("00:00:02")); + final TableReference timeTable2 = ref(TableTools.timeTable("PT00:00:02")); final SnapshotWhenTableRequest request = builder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setTriggerId(timeTable2) @@ -176,7 +176,7 @@ public void missingBaseId() { @Test public void missingTriggerId() { - final TableReference timeTable1 = ref(TableTools.timeTable("00:00:01").view("Id=ii")); + final TableReference timeTable1 = ref(TableTools.timeTable("PT00:00:01").view("Id=ii")); final SnapshotWhenTableRequest request = builder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setBaseId(timeTable1) diff --git a/server/src/test/java/io/deephaven/server/table/ops/WhereInGrpcTest.java b/server/src/test/java/io/deephaven/server/table/ops/WhereInGrpcTest.java index dba6a0d9000..7d65f7e6382 100644 --- a/server/src/test/java/io/deephaven/server/table/ops/WhereInGrpcTest.java +++ b/server/src/test/java/io/deephaven/server/table/ops/WhereInGrpcTest.java @@ -136,7 +136,7 @@ public void whereNotInStatic() { @Test public void whereInTicking() { - final TableReference timeTable = ref(TableTools.timeTable("00:00:01").view("Id=ii")); + final TableReference timeTable = ref(TableTools.timeTable("PT00:00:01").view("Id=ii")); final WhereInRequest request = WhereInRequest.newBuilder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) .setLeftId(timeTable) @@ -154,7 +154,7 @@ public void whereInTicking() { @Test public void whereInLeftTicking() { - final TableReference timeTable = ref(TableTools.timeTable("00:00:01").view("Id=ii")); + final TableReference timeTable = ref(TableTools.timeTable("PT00:00:01").view("Id=ii")); final TableReference emptyTable = ref(TableTools.emptyTable(1).view("Id=ii")); final WhereInRequest request = WhereInRequest.newBuilder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) @@ -173,7 +173,7 @@ public void whereInLeftTicking() { @Test public void whereInRightTicking() { - final TableReference timeTable = ref(TableTools.timeTable("00:00:01").view("Id=ii")); + final TableReference timeTable = ref(TableTools.timeTable("PT00:00:01").view("Id=ii")); final TableReference emptyTable = ref(TableTools.emptyTable(1).view("Id=ii")); final WhereInRequest request = WhereInRequest.newBuilder() .setResultId(ExportTicketHelper.wrapExportIdInTicket(1)) diff --git a/server/src/test/java/io/deephaven/server/util/TestControlledScheduler.java b/server/src/test/java/io/deephaven/server/util/TestControlledScheduler.java index 63ec91bce85..b4cdd23fa4f 100644 --- a/server/src/test/java/io/deephaven/server/util/TestControlledScheduler.java +++ b/server/src/test/java/io/deephaven/server/util/TestControlledScheduler.java @@ -5,12 +5,12 @@ import io.deephaven.base.Pair; import io.deephaven.base.clock.ClockNanoBase; -import io.deephaven.time.DateTime; import io.deephaven.time.DateTimeUtils; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; import org.jetbrains.annotations.NotNull; +import java.time.Instant; import java.util.*; import java.util.concurrent.PriorityBlockingQueue; @@ -20,7 +20,7 @@ public class TestControlledScheduler extends ClockNanoBase implements Scheduler private volatile long currentTimeInNs = 0; - private final Queue> workQueue = + private final Queue> workQueue = new PriorityBlockingQueue<>(11, Comparator.comparing(Pair::getFirst)); @Override @@ -32,12 +32,13 @@ public boolean inTestMode() { * Runs the first queued command if there are any. */ public synchronized void runOne() { - final Pair item = workQueue.poll(); + final Pair item = workQueue.poll(); if (item == null) { return; } - currentTimeInNs = Math.max(currentTimeInNs, item.getFirst().getNanos()); + Instant instant = item.getFirst(); + currentTimeInNs = Math.max(currentTimeInNs, DateTimeUtils.epochNanos(instant)); try { item.getSecond().run(); } catch (final Exception exception) { @@ -52,18 +53,19 @@ public synchronized void runOne() { * * @param untilTime time to run until */ - public synchronized void runUntil(final DateTime untilTime) { - Pair item; + public synchronized void runUntil(final Instant untilTime) { + Pair item; while ((item = workQueue.peek()) != null) { - final long now = Math.max(currentTimeInNs, untilTime.getNanos()); - if (item.getFirst().getNanos() >= now) { + final long now = Math.max(currentTimeInNs, DateTimeUtils.epochNanos(untilTime)); + Instant instant = item.getFirst(); + if (DateTimeUtils.epochNanos(instant) >= now) { break; } runOne(); } - currentTimeInNs = Math.max(currentTimeInNs, untilTime.getNanos()); + currentTimeInNs = Math.max(currentTimeInNs, DateTimeUtils.epochNanos(untilTime)); } public void runThrough(final long throughTimeMillis) { @@ -77,10 +79,11 @@ public void runThrough(final long throughTimeMillis) { * @param throughTimeNanos time to run through */ public synchronized void runThroughNanos(final long throughTimeNanos) { - Pair item; + Pair item; while ((item = workQueue.peek()) != null) { final long now = Math.max(currentTimeInNs, throughTimeNanos); - if (item.getFirst().getNanos() > now) { + Instant instant = item.getFirst(); + if (DateTimeUtils.epochNanos(instant) > now) { break; } @@ -100,13 +103,13 @@ public synchronized void runUntilQueueEmpty() { } /** - * Helper to give you a DateTime after a certain time has passed on the simulated clock. + * Helper to give you an Instant after a certain time has passed on the simulated clock. * * @param delayInMs the number of milliseconds to add to current time - * @return a DateTime representing {@code now + delayInMs} + * @return an Instant representing {@code now + delayInMs} */ - public DateTime timeAfterMs(final long delayInMs) { - return DateTimeUtils.nanosToTime(currentTimeInNs + DateTimeUtils.millisToNanos(delayInMs)); + public Instant timeAfterMs(final long delayInMs) { + return DateTimeUtils.epochNanosToInstant(currentTimeInNs + DateTimeUtils.millisToNanos(delayInMs)); } @Override @@ -116,17 +119,17 @@ public long currentTimeNanos() { @Override public void runAtTime(long epochMillis, @NotNull Runnable command) { - workQueue.add(new Pair<>(DateTimeUtils.millisToTime(epochMillis), command)); + workQueue.add(new Pair<>(DateTimeUtils.epochMillisToInstant(epochMillis), command)); } @Override public void runAfterDelay(final long delayMs, final @NotNull Runnable command) { - workQueue.add(new Pair<>(DateTimeUtils.nanosToTime(currentTimeInNs + delayMs * 1_000_000L), command)); + workQueue.add(new Pair<>(DateTimeUtils.epochNanosToInstant(currentTimeInNs + delayMs * 1_000_000L), command)); } @Override public void runImmediately(final @NotNull Runnable command) { - workQueue.add(new Pair<>(DateTime.of(this), command)); + workQueue.add(new Pair<>(instantNanos(), command)); } @Override diff --git a/server/test/src/main/java/io/deephaven/server/test/FlightMessageRoundTripTest.java b/server/test/src/main/java/io/deephaven/server/test/FlightMessageRoundTripTest.java index 48287fc5dcb..d24ac30a2f2 100644 --- a/server/test/src/main/java/io/deephaven/server/test/FlightMessageRoundTripTest.java +++ b/server/test/src/main/java/io/deephaven/server/test/FlightMessageRoundTripTest.java @@ -536,7 +536,7 @@ public void testRoundTripData() throws Exception { @Test public void testTimestampColumns() throws Exception { - assertRoundTripDataEqual(TableTools.emptyTable(10).update("tm = DateTime.now()")); + assertRoundTripDataEqual(TableTools.emptyTable(10).update("tm = DateTimeUtils.now()")); assertRoundTripDataEqual(TableTools.emptyTable(10).update("instant = java.time.Instant.now()")); assertRoundTripDataEqual(TableTools.emptyTable(10).update("zonedDateTime = java.time.ZonedDateTime.now()")); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/barrage/WebBarrageUtils.java b/web/client-api/src/main/java/io/deephaven/web/client/api/barrage/WebBarrageUtils.java index d8d5e16d5c8..7a75f602db7 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/barrage/WebBarrageUtils.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/barrage/WebBarrageUtils.java @@ -429,7 +429,6 @@ private static ColumnData readArrowBuffer(ByteBuffer data, Iter nodes return new CharArrayColumnData(Js.uncheckedCast(charArray)); // longs are a special case despite being java primitives case "long": - case "io.deephaven.time.DateTime": case "java.time.Instant": case "java.time.ZonedDateTime": assert positions.length().toFloat64() >= size * 8; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/parse/JsDataHandler.java b/web/client-api/src/main/java/io/deephaven/web/client/api/parse/JsDataHandler.java index b639515d62a..41e0076e0cf 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/parse/JsDataHandler.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/parse/JsDataHandler.java @@ -137,7 +137,7 @@ public void write(Object[] data, ParseContext context, JsConsumer addNode, addNode.apply(new Node(data.length, nullCount)); } }, - DATE_TIME(Type.Int, "io.deephaven.time.DateTime", "datetime", "java.time.Instant", "java.time.ZonedDateTime") { + DATE_TIME(Type.Int, "datetime", "java.time.Instant", "java.time.ZonedDateTime") { // Ensures that the 'T' separator character is in the date time private String ensureSeparator(String s) { if (s.charAt(SEPARATOR_INDEX) == ' ') { diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/SubscriptionTableData.java b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/SubscriptionTableData.java index 4a8f395ca69..de7724cac11 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/SubscriptionTableData.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/SubscriptionTableData.java @@ -284,7 +284,6 @@ private ArrayCopy arrayCopyFuncForColumn(@Nullable Column column) { }; case "java.time.Instant": case "java.time.ZonedDateTime": - case "io.deephaven.time.DateTime": return (destArray, destPos, srcArray, srcPos) -> { long value = Js.asArrayLike(srcArray).getAtAsAny(srcPos).asLong(); if (value == QueryConstants.NULL_LONG) { diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportData.java b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportData.java index 4453f234ad3..0a333a3bde6 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportData.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportData.java @@ -184,8 +184,7 @@ public static Object cleanData(Object dataColumn, Column column) { return cleanData; } case "java.time.Instant": - case "java.time.ZonedDateTime": - case "io.deephaven.time.DateTime": { + case "java.time.ZonedDateTime": { JsArray values = Js.uncheckedCast(dataColumn); DateWrapper[] cleanData = new DateWrapper[values.length]; for (int i = 0; i < values.length; i++) { diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java index 5acca9c3f26..e018c606442 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java @@ -425,7 +425,7 @@ private AxisRange groupByAxisRange(JsSeries s) { } for (int i = 0; i < s.getSources().length; i++) { SeriesDataSource source = s.getSources()[i]; - if (!source.getColumnType().equals("io.deephaven.time.DateTime")) { + if (!source.getColumnType().equals("java.time.Instant")) { continue; } DownsampledAxisDetails downsampledAxisDetails = downsampled.get(source.getAxis().getDescriptor()); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/fu/JsData.java b/web/client-api/src/main/java/io/deephaven/web/client/fu/JsData.java index 45dcfaf9d2d..b83173cffdc 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/fu/JsData.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/fu/JsData.java @@ -23,7 +23,6 @@ public static JsArray newArray(String type) { return Js.uncheckedCast(new float[0]); case "java.time.Instant": case "java.time.ZonedDateTime": - case "io.deephaven.time.DateTime": case "long": return Js.uncheckedCast(new long[0]); case "int": diff --git a/web/client-api/src/main/java/io/deephaven/web/public/table_filter.html b/web/client-api/src/main/java/io/deephaven/web/public/table_filter.html index 4a816143c3c..7bd1fc6d533 100644 --- a/web/client-api/src/main/java/io/deephaven/web/public/table_filter.html +++ b/web/client-api/src/main/java/io/deephaven/web/public/table_filter.html @@ -161,11 +161,11 @@

    Filter Details

    ide = await connection.startSession("python"); await ide.runCode(` from deephaven import time_table -remoteTable = time_table("00:00:01").update_view(["I=i", "J=I*I", "K=I%100", "L=(double)I/100.0"]).last_by("K") +remoteTable = time_table("PT00:00:01").update_view(["I=i", "J=I*I", "K=I%100", "L=(double)I/100.0"]).last_by("K") `) } else if (types.indexOf("groovy") !== -1) { ide = await connection.startSession("groovy"); - await ide.runCode('remoteTable = timeTable("00:00:01").updateView("I=i", "J=I*I", "K=I%100", "L=(double)I/100.0").lastBy("K")') + await ide.runCode('remoteTable = timeTable("PT00:00:01").updateView("I=i", "J=I*I", "K=I%100", "L=(double)I/100.0").lastBy("K")') } openTable(await ide.getTable('remoteTable')); diff --git a/web/client-api/src/main/java/io/deephaven/web/public/table_sort.html b/web/client-api/src/main/java/io/deephaven/web/public/table_sort.html index 594f2c1973a..546b21be596 100644 --- a/web/client-api/src/main/java/io/deephaven/web/public/table_sort.html +++ b/web/client-api/src/main/java/io/deephaven/web/public/table_sort.html @@ -34,11 +34,11 @@

    Selected table data (click headers to sort)

    ide = await connection.startSession("python"); await ide.runCode(` from deephaven import time_table -remoteTable = time_table("00:00:01").update_view(["I=i", "J=I*I", "K=I%100"]).last_by("K") +remoteTable = time_table("PT00:00:01").update_view(["I=i", "J=I*I", "K=I%100"]).last_by("K") `) } else if (types.indexOf("groovy") !== -1) { ide = await connection.startSession("groovy"); - await ide.runCode('remoteTable = timeTable("00:00:01").updateView("I=i", "J=I*I", "K=I%100").lastBy("K")') + await ide.runCode('remoteTable = timeTable("PT00:00:01").updateView("I=i", "J=I*I", "K=I%100").lastBy("K")') } openTable(await ide.getTable('remoteTable')); diff --git a/web/client-api/src/main/java/io/deephaven/web/public/table_viewport.html b/web/client-api/src/main/java/io/deephaven/web/public/table_viewport.html index b55f9757d4d..072b3f888a0 100644 --- a/web/client-api/src/main/java/io/deephaven/web/public/table_viewport.html +++ b/web/client-api/src/main/java/io/deephaven/web/public/table_viewport.html @@ -42,11 +42,11 @@

    Table data

    ide = await connection.startSession("python"); await ide.runCode(` from deephaven import time_table -remoteTable = time_table("00:00:01").update_view(["I=i", "J=I*I", "K=I%100"]).last_by(by = ["K"]) +remoteTable = time_table("PT00:00:01").update_view(["I=i", "J=I*I", "K=I%100"]).last_by(by = ["K"]) `) } else if (types.indexOf("groovy") !== -1) { ide = await connection.startSession("groovy"); - await ide.runCode('remoteTable = timeTable("00:00:01").updateView("I=i", "J=I*I", "K=I%100").lastBy("K")') + await ide.runCode('remoteTable = timeTable("PT00:00:01").updateView("I=i", "J=I*I", "K=I%100").lastBy("K")') } openTable(await ide.getTable('remoteTable')); From 38b2e1cde728ac60850918f0d4d6c4a1ff50ba67 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Fri, 2 Jun 2023 09:16:00 -0700 Subject: [PATCH 09/13] SQL Calcite (#3630) Part of #3473 --- .../python/PythonDeephavenSession.java | 11 +- engine/sql/build.gradle | 11 + engine/sql/gradle.properties | 1 + .../java/io/deephaven/engine/sql/Sql.java | 126 +++++++ .../sql/TableCreatorTicketInterceptor.java | 59 ++++ py/embedded-server/java-runtime/build.gradle | 4 + py/server/deephaven/experimental/sql.py | 55 +++ py/server/deephaven/jcompat.py | 4 +- py/server/deephaven/table.py | 2 +- py/server/tests/test_plot/test_figure.py | 9 +- py/server/tests/test_sql.py | 79 +++++ .../io/deephaven/graphviz/AppendLinks.java | 12 +- .../deephaven/graphviz/GraphVizBuilder.java | 7 +- .../deephaven/graphviz/example-1-labeled.dot | 4 +- .../io/deephaven/graphviz/example-1.dot | 4 +- .../deephaven/qst/table/FriendlyString.java | 73 ++++ .../java/io/deephaven/qst/table/Graphviz.java | 91 +++++ .../io/deephaven/qst/table/LinkDescriber.java | 6 +- .../deephaven/qst/table/ParentsVisitor.java | 6 +- .../qst/table/TableLabelVisitor.java} | 82 +++-- .../io/deephaven/qst/type/BooleanType.java | 5 + .../java/io/deephaven/qst/type/ByteType.java | 5 + .../java/io/deephaven/qst/type/CharType.java | 5 + .../io/deephaven/qst/type/DoubleType.java | 5 + .../java/io/deephaven/qst/type/FloatType.java | 5 + .../java/io/deephaven/qst/type/IntType.java | 5 + .../java/io/deephaven/qst/type/LongType.java | 5 + .../io/deephaven/qst/type/PrimitiveType.java | 2 + .../java/io/deephaven/qst/type/ShortType.java | 5 + .../io/deephaven/qst/type/TypeHelper.java | 53 +-- .../qst/table/FriendlyStringTest.java | 49 +++ .../io/deephaven/qst/table/GraphvizTest.java | 65 ++++ .../qst/table/ParentsVisitorTest.java | 8 +- server/jetty-app/build.gradle | 6 + .../jetty-app/src/main/resources/logback.xml | 2 + settings.gradle | 5 + sql/DEVELOPMENT.md | 35 ++ sql/IMPLEMENTATION.md | 29 ++ sql/build.gradle | 22 ++ sql/gradle.properties | 5 + .../sql/AggregateCallAdapterImpl.java | 76 ++++ .../java/io/deephaven/sql/DeephavenTable.java | 23 ++ .../java/io/deephaven/sql/ExtractAnds.java | 85 +++++ .../java/io/deephaven/sql/FieldAdapter.java | 29 ++ .../io/deephaven/sql/FilterSimplifier.java | 103 ++++++ .../main/java/io/deephaven/sql/Helper.java | 59 ++++ .../main/java/io/deephaven/sql/IndexRef.java | 58 +++ .../main/java/io/deephaven/sql/LexConfig.java | 61 ++++ .../java/io/deephaven/sql/LiteralAdapter.java | 42 +++ .../sql/LogicalAggregateAdapter.java | 82 +++++ .../deephaven/sql/LogicalFilterAdapter.java | 22 ++ .../io/deephaven/sql/LogicalJoinAdapter.java | 75 ++++ .../deephaven/sql/LogicalProjectAdapter.java | 44 +++ .../io/deephaven/sql/LogicalSortAdapter.java | 132 +++++++ .../io/deephaven/sql/LogicalUnionAdapter.java | 27 ++ .../deephaven/sql/LogicalValuesAdapter.java | 87 +++++ .../java/io/deephaven/sql/NamedAdapter.java | 49 +++ .../io/deephaven/sql/OutputFieldAdapter.java | 12 + .../main/java/io/deephaven/sql/Prefix.java | 17 + .../java/io/deephaven/sql/RelNodeAdapter.java | 12 + .../deephaven/sql/RelNodeAdapterIndexRef.java | 82 +++++ .../io/deephaven/sql/RelNodeAdapterNamed.java | 76 ++++ .../java/io/deephaven/sql/RelNodeVisitor.java | 45 +++ .../deephaven/sql/RelNodeVisitorAdapter.java | 147 ++++++++ .../sql/RexNodeExpressionAdapter.java | 12 + .../sql/RexNodeExpressionAdapterImpl.java | 246 +++++++++++++ .../deephaven/sql/RexNodeFilterAdapter.java | 12 + .../sql/RexNodeFilterAdapterImpl.java | 202 +++++++++++ .../java/io/deephaven/sql/RexVisitorBase.java | 85 +++++ sql/src/main/java/io/deephaven/sql/Scope.java | 9 + .../io/deephaven/sql/ScopeStaticImpl.java | 48 +++ .../java/io/deephaven/sql/SqlAdapter.java | 190 ++++++++++ .../io/deephaven/sql/SqlParseException.java | 11 + .../java/io/deephaven/sql/SqlRootContext.java | 73 ++++ .../io/deephaven/sql/TableInformation.java | 27 ++ .../java/io/deephaven/sql/TypeAdapter.java | 132 +++++++ .../java/io/deephaven/sql/package-info.java | 13 + .../java/io/deephaven/sql/SqlAdapterTest.java | 329 ++++++++++++++++++ .../test/resources/io/deephaven/sql/qst-1.dot | 13 + .../resources/io/deephaven/sql/qst-10.dot | 7 + .../resources/io/deephaven/sql/qst-11.dot | 9 + .../resources/io/deephaven/sql/qst-12.dot | 11 + .../resources/io/deephaven/sql/qst-13.dot | 9 + .../resources/io/deephaven/sql/qst-14.dot | 13 + .../resources/io/deephaven/sql/qst-15.dot | 9 + .../resources/io/deephaven/sql/qst-16.dot | 7 + .../resources/io/deephaven/sql/qst-17.dot | 21 ++ .../resources/io/deephaven/sql/qst-18.dot | 11 + .../resources/io/deephaven/sql/qst-19.dot | 19 + .../test/resources/io/deephaven/sql/qst-2.dot | 15 + .../resources/io/deephaven/sql/qst-20.dot | 19 + .../resources/io/deephaven/sql/qst-21.dot | 9 + .../resources/io/deephaven/sql/qst-22.dot | 3 + .../resources/io/deephaven/sql/qst-23.dot | 13 + .../resources/io/deephaven/sql/qst-24.dot | 7 + .../resources/io/deephaven/sql/qst-25.dot | 9 + .../resources/io/deephaven/sql/qst-26.dot | 9 + .../resources/io/deephaven/sql/qst-27.dot | 9 + .../resources/io/deephaven/sql/qst-28.dot | 17 + .../resources/io/deephaven/sql/qst-29.dot | 13 + .../test/resources/io/deephaven/sql/qst-3.dot | 7 + .../resources/io/deephaven/sql/qst-30.dot | 11 + .../resources/io/deephaven/sql/qst-31.dot | 11 + .../resources/io/deephaven/sql/qst-32.dot | 11 + .../resources/io/deephaven/sql/qst-33.dot | 9 + .../resources/io/deephaven/sql/qst-34.dot | 15 + .../resources/io/deephaven/sql/qst-35.dot | 3 + .../test/resources/io/deephaven/sql/qst-4.dot | 7 + .../test/resources/io/deephaven/sql/qst-5.dot | 7 + .../test/resources/io/deephaven/sql/qst-6.dot | 7 + .../test/resources/io/deephaven/sql/qst-7.dot | 7 + .../test/resources/io/deephaven/sql/qst-8.dot | 17 + .../test/resources/io/deephaven/sql/qst-9.dot | 9 + .../resources/io/deephaven/sql/query-1.sql | 5 + .../resources/io/deephaven/sql/query-10.sql | 6 + .../resources/io/deephaven/sql/query-11.sql | 5 + .../resources/io/deephaven/sql/query-12.sql | 10 + .../resources/io/deephaven/sql/query-13.sql | 4 + .../resources/io/deephaven/sql/query-14.sql | 9 + .../resources/io/deephaven/sql/query-15.sql | 5 + .../resources/io/deephaven/sql/query-16.sql | 34 ++ .../resources/io/deephaven/sql/query-17.sql | 11 + .../resources/io/deephaven/sql/query-18.sql | 6 + .../resources/io/deephaven/sql/query-19.sql | 11 + .../resources/io/deephaven/sql/query-2.sql | 7 + .../resources/io/deephaven/sql/query-20.sql | 10 + .../resources/io/deephaven/sql/query-21.sql | 12 + .../resources/io/deephaven/sql/query-22.sql | 4 + .../resources/io/deephaven/sql/query-23.sql | 19 + .../resources/io/deephaven/sql/query-24.sql | 10 + .../resources/io/deephaven/sql/query-25.sql | 9 + .../resources/io/deephaven/sql/query-26.sql | 11 + .../resources/io/deephaven/sql/query-27.sql | 9 + .../resources/io/deephaven/sql/query-28.sql | 7 + .../resources/io/deephaven/sql/query-29.sql | 5 + .../resources/io/deephaven/sql/query-3.sql | 4 + .../resources/io/deephaven/sql/query-30.sql | 4 + .../resources/io/deephaven/sql/query-31.sql | 4 + .../resources/io/deephaven/sql/query-32.sql | 4 + .../resources/io/deephaven/sql/query-33.sql | 1 + .../resources/io/deephaven/sql/query-34.sql | 5 + .../resources/io/deephaven/sql/query-35.sql | 10 + .../resources/io/deephaven/sql/query-4.sql | 4 + .../resources/io/deephaven/sql/query-5.sql | 5 + .../resources/io/deephaven/sql/query-6.sql | 4 + .../resources/io/deephaven/sql/query-7.sql | 4 + .../resources/io/deephaven/sql/query-8.sql | 17 + .../resources/io/deephaven/sql/query-9.sql | 6 + 148 files changed, 4337 insertions(+), 118 deletions(-) create mode 100644 engine/sql/build.gradle create mode 100644 engine/sql/gradle.properties create mode 100644 engine/sql/src/main/java/io/deephaven/engine/sql/Sql.java create mode 100644 engine/sql/src/main/java/io/deephaven/engine/sql/TableCreatorTicketInterceptor.java create mode 100644 py/server/deephaven/experimental/sql.py create mode 100644 py/server/tests/test_sql.py create mode 100644 qst/src/main/java/io/deephaven/qst/table/FriendlyString.java create mode 100644 qst/src/main/java/io/deephaven/qst/table/Graphviz.java rename qst/{graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java => src/main/java/io/deephaven/qst/table/TableLabelVisitor.java} (77%) create mode 100644 qst/src/test/java/io/deephaven/qst/table/FriendlyStringTest.java create mode 100644 qst/src/test/java/io/deephaven/qst/table/GraphvizTest.java create mode 100644 sql/DEVELOPMENT.md create mode 100644 sql/IMPLEMENTATION.md create mode 100644 sql/build.gradle create mode 100644 sql/gradle.properties create mode 100644 sql/src/main/java/io/deephaven/sql/AggregateCallAdapterImpl.java create mode 100644 sql/src/main/java/io/deephaven/sql/DeephavenTable.java create mode 100644 sql/src/main/java/io/deephaven/sql/ExtractAnds.java create mode 100644 sql/src/main/java/io/deephaven/sql/FieldAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/FilterSimplifier.java create mode 100644 sql/src/main/java/io/deephaven/sql/Helper.java create mode 100644 sql/src/main/java/io/deephaven/sql/IndexRef.java create mode 100644 sql/src/main/java/io/deephaven/sql/LexConfig.java create mode 100644 sql/src/main/java/io/deephaven/sql/LiteralAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/LogicalAggregateAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/LogicalFilterAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/LogicalJoinAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/LogicalProjectAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/LogicalSortAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/LogicalUnionAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/LogicalValuesAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/NamedAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/OutputFieldAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/Prefix.java create mode 100644 sql/src/main/java/io/deephaven/sql/RelNodeAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/RelNodeAdapterIndexRef.java create mode 100644 sql/src/main/java/io/deephaven/sql/RelNodeAdapterNamed.java create mode 100644 sql/src/main/java/io/deephaven/sql/RelNodeVisitor.java create mode 100644 sql/src/main/java/io/deephaven/sql/RelNodeVisitorAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/RexNodeExpressionAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/RexNodeExpressionAdapterImpl.java create mode 100644 sql/src/main/java/io/deephaven/sql/RexNodeFilterAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/RexNodeFilterAdapterImpl.java create mode 100644 sql/src/main/java/io/deephaven/sql/RexVisitorBase.java create mode 100644 sql/src/main/java/io/deephaven/sql/Scope.java create mode 100644 sql/src/main/java/io/deephaven/sql/ScopeStaticImpl.java create mode 100644 sql/src/main/java/io/deephaven/sql/SqlAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/SqlParseException.java create mode 100644 sql/src/main/java/io/deephaven/sql/SqlRootContext.java create mode 100644 sql/src/main/java/io/deephaven/sql/TableInformation.java create mode 100644 sql/src/main/java/io/deephaven/sql/TypeAdapter.java create mode 100644 sql/src/main/java/io/deephaven/sql/package-info.java create mode 100644 sql/src/test/java/io/deephaven/sql/SqlAdapterTest.java create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-1.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-10.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-11.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-12.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-13.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-14.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-15.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-16.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-17.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-18.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-19.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-2.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-20.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-21.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-22.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-23.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-24.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-25.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-26.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-27.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-28.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-29.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-3.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-30.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-31.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-32.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-33.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-34.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-35.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-4.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-5.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-6.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-7.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-8.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/qst-9.dot create mode 100644 sql/src/test/resources/io/deephaven/sql/query-1.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-10.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-11.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-12.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-13.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-14.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-15.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-16.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-17.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-18.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-19.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-2.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-20.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-21.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-22.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-23.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-24.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-25.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-26.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-27.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-28.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-29.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-3.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-30.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-31.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-32.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-33.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-34.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-35.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-4.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-5.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-6.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-7.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-8.sql create mode 100644 sql/src/test/resources/io/deephaven/sql/query-9.sql diff --git a/Integrations/src/main/java/io/deephaven/integrations/python/PythonDeephavenSession.java b/Integrations/src/main/java/io/deephaven/integrations/python/PythonDeephavenSession.java index d9f3cf37c98..22b96513f28 100644 --- a/Integrations/src/main/java/io/deephaven/integrations/python/PythonDeephavenSession.java +++ b/Integrations/src/main/java/io/deephaven/integrations/python/PythonDeephavenSession.java @@ -23,6 +23,7 @@ import io.deephaven.plugin.type.ObjectTypeLookup; import io.deephaven.plugin.type.ObjectTypeLookup.NoOp; import io.deephaven.util.SafeCloseable; +import io.deephaven.util.annotations.ScriptApi; import io.deephaven.util.annotations.VisibleForTesting; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -61,7 +62,6 @@ public class PythonDeephavenSession extends AbstractScriptSession scope; @@ -111,7 +111,10 @@ public PythonDeephavenSession( public PythonDeephavenSession(PythonScope scope) { super(NoOp.INSTANCE, null); this.scope = (PythonScope) scope; - this.module = null; + try (final SafeCloseable ignored = executionContext.open()) { + this.module = (PythonScriptSessionModule) PyModule.importModule("deephaven.server.script_session") + .createProxy(CallableKind.FUNCTION, PythonScriptSessionModule.class); + } this.evaluator = null; this.scriptFinder = null; } @@ -164,6 +167,8 @@ public T getVariable(String name, T defaultValue) { .orElse(defaultValue); } + @SuppressWarnings("unused") + @ScriptApi public void pushScope(PyObject pydict) { if (!pydict.isDict()) { throw new IllegalArgumentException("Expect a Python dict but got a" + pydict.repr()); @@ -171,6 +176,8 @@ public void pushScope(PyObject pydict) { scope.pushScope(pydict); } + @SuppressWarnings("unused") + @ScriptApi public void popScope() { scope.popScope(); } diff --git a/engine/sql/build.gradle b/engine/sql/build.gradle new file mode 100644 index 00000000000..33d4f25e402 --- /dev/null +++ b/engine/sql/build.gradle @@ -0,0 +1,11 @@ +plugins { + id 'java-library' + id 'io.deephaven.project.register' +} + +dependencies { + api project(':engine-api') + implementation project(':engine-table') + implementation project(':sql') + implementation project(':log-factory') +} diff --git a/engine/sql/gradle.properties b/engine/sql/gradle.properties new file mode 100644 index 00000000000..c186bbfdde1 --- /dev/null +++ b/engine/sql/gradle.properties @@ -0,0 +1 @@ +io.deephaven.project.ProjectType=JAVA_PUBLIC diff --git a/engine/sql/src/main/java/io/deephaven/engine/sql/Sql.java b/engine/sql/src/main/java/io/deephaven/engine/sql/Sql.java new file mode 100644 index 00000000000..6a7431faf10 --- /dev/null +++ b/engine/sql/src/main/java/io/deephaven/engine/sql/Sql.java @@ -0,0 +1,126 @@ +package io.deephaven.engine.sql; + +import io.deephaven.base.log.LogOutput; +import io.deephaven.base.log.LogOutput.ObjFormatter; +import io.deephaven.engine.context.ExecutionContext; +import io.deephaven.engine.table.ColumnDefinition; +import io.deephaven.engine.table.Table; +import io.deephaven.engine.table.TableDefinition; +import io.deephaven.engine.table.impl.TableCreatorImpl; +import io.deephaven.engine.util.AbstractScriptSession.ScriptSessionQueryScope; +import io.deephaven.engine.util.ScriptSession; +import io.deephaven.internal.log.LoggerFactory; +import io.deephaven.io.logger.Logger; +import io.deephaven.qst.column.header.ColumnHeader; +import io.deephaven.qst.table.Graphviz; +import io.deephaven.qst.table.TableHeader; +import io.deephaven.qst.table.TableHeader.Builder; +import io.deephaven.qst.table.TableSpec; +import io.deephaven.qst.table.TicketTable; +import io.deephaven.sql.Scope; +import io.deephaven.sql.ScopeStaticImpl; +import io.deephaven.sql.SqlAdapter; +import io.deephaven.sql.TableInformation; +import io.deephaven.time.DateTime; +import io.deephaven.util.annotations.ScriptApi; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +/** + * Experimental SQL execution. Subject to change. + */ +public final class Sql { + private static final Logger log = LoggerFactory.getLogger(Sql.class); + + @ScriptApi + public static Table evaluate(String sql) { + return evaluate(sql, currentScriptSessionNamedTables()); + } + + @ScriptApi + public static TableSpec dryRun(String sql) { + return dryRun(sql, currentScriptSessionNamedTables()); + } + + private static Table evaluate(String sql, Map scope) { + final Map map = new HashMap<>(scope.size()); + final TableSpec tableSpec = parseSql(sql, scope, map); + log.debug().append("Executing. Graphviz representation:").nl().append(ToGraphvizDot.INSTANCE, tableSpec).endl(); + return tableSpec.logic().create(new TableCreatorTicketInterceptor(TableCreatorImpl.INSTANCE, map)); + } + + private static TableSpec dryRun(String sql, Map scope) { + final TableSpec tableSpec = parseSql(sql, scope, null); + log.info().append("Dry run. Graphviz representation:").nl().append(ToGraphvizDot.INSTANCE, tableSpec).endl(); + return tableSpec; + } + + private static TableSpec parseSql(String sql, Map scope, Map out) { + return SqlAdapter.parseSql(sql, scope(scope, out)); + } + + private static Scope scope(Map scope, Map out) { + final ScopeStaticImpl.Builder builder = ScopeStaticImpl.builder(); + for (Entry e : scope.entrySet()) { + final String tableName = e.getKey(); + final Table table = e.getValue(); + // The TicketTable can technically be anything unique (incrementing number, random, ...), but for + // visualization purposes it makes sense to use the (already unique) table name. + final TicketTable spec = TicketTable.of("sqlref/" + tableName); + final List qualifiedName = List.of(tableName); + final TableHeader header = adapt(table.getDefinition()); + builder.addTables(TableInformation.of(qualifiedName, header, spec)); + if (out != null) { + out.put(spec, table); + } + } + return builder.build(); + } + + private static Map currentScriptSessionNamedTables() { + final Map scope = new HashMap<>(); + // getVariables() is inefficient + // See SQLTODO(catalog-reader-implementation) + for (Entry e : currentScriptSession().getVariables().entrySet()) { + if (e.getValue() instanceof Table) { + scope.put(e.getKey(), (Table) e.getValue()); + } + } + return scope; + } + + private static ScriptSession currentScriptSession() { + return ((ScriptSessionQueryScope) ExecutionContext.getContext().getQueryScope()).scriptSession(); + } + + private static TableHeader adapt(TableDefinition tableDef) { + final Builder builder = TableHeader.builder(); + for (ColumnDefinition cd : tableDef.getColumns()) { + builder.addHeaders(adapt(cd)); + } + return builder.build(); + } + + private static ColumnHeader adapt(ColumnDefinition columnDef) { + if (columnDef.getComponentType() == null) { + if (DateTime.class.equals(columnDef.getDataType())) { + return ColumnHeader.ofInstant(columnDef.getName()); + } + return ColumnHeader.of(columnDef.getName(), columnDef.getDataType()); + } + // SQLTODO(array-type) + throw new UnsupportedOperationException("SQLTODO(array-type)"); + } + + private enum ToGraphvizDot implements ObjFormatter { + INSTANCE; + + @Override + public void format(LogOutput logOutput, TableSpec tableSpec) { + logOutput.append(Graphviz.toDot(tableSpec)); + } + } +} diff --git a/engine/sql/src/main/java/io/deephaven/engine/sql/TableCreatorTicketInterceptor.java b/engine/sql/src/main/java/io/deephaven/engine/sql/TableCreatorTicketInterceptor.java new file mode 100644 index 00000000000..276316b4777 --- /dev/null +++ b/engine/sql/src/main/java/io/deephaven/engine/sql/TableCreatorTicketInterceptor.java @@ -0,0 +1,59 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.engine.sql; + +import io.deephaven.engine.table.Table; +import io.deephaven.qst.TableCreator; +import io.deephaven.qst.table.EmptyTable; +import io.deephaven.qst.table.InputTable; +import io.deephaven.qst.table.NewTable; +import io.deephaven.qst.table.TicketTable; +import io.deephaven.qst.table.TimeTable; + +import java.util.Map; +import java.util.Objects; + +class TableCreatorTicketInterceptor implements TableCreator
    { + private final TableCreator
    delegate; + private final Map map; + + public TableCreatorTicketInterceptor(TableCreator
    delegate, Map map) { + this.delegate = Objects.requireNonNull(delegate); + this.map = Objects.requireNonNull(map); + } + + @Override + public Table of(TicketTable ticketTable) { + final Table table = map.get(ticketTable); + if (table != null) { + return table; + } + return delegate.of(ticketTable); + } + + @Override + public Table of(NewTable newTable) { + return delegate.of(newTable); + } + + @Override + public Table of(EmptyTable emptyTable) { + return delegate.of(emptyTable); + } + + @Override + public Table of(TimeTable timeTable) { + return delegate.of(timeTable); + } + + @Override + public Table of(InputTable inputTable) { + return delegate.of(inputTable); + } + + @Override + public Table merge(Iterable
    tables) { + return delegate.merge(tables); + } +} diff --git a/py/embedded-server/java-runtime/build.gradle b/py/embedded-server/java-runtime/build.gradle index 5f84cd4ec10..829754bd567 100644 --- a/py/embedded-server/java-runtime/build.gradle +++ b/py/embedded-server/java-runtime/build.gradle @@ -25,6 +25,10 @@ dependencies { if (!hasProperty('excludeHotspotImpl')) { runtimeOnly project(':hotspot-impl') } + + if (!hasProperty('excludeSql')) { + runtimeOnly project(':engine-sql') + } } // making a dir here isn't optimal, but without it we need to make py-embedded-server be a java and a python diff --git a/py/server/deephaven/experimental/sql.py b/py/server/deephaven/experimental/sql.py new file mode 100644 index 00000000000..d18ca389df6 --- /dev/null +++ b/py/server/deephaven/experimental/sql.py @@ -0,0 +1,55 @@ +# +# Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending +# +import contextlib +import inspect +import jpy +from typing import Dict, Union, Mapping, Optional, Any + +from deephaven import DHError +from deephaven.table import Table, _j_py_script_session + +_JSql = jpy.get_type("io.deephaven.engine.sql.Sql") + + +@contextlib.contextmanager +def _scope(globals: Mapping[str, Any], locals: Mapping[str, Any]): + j_py_script_session = _j_py_script_session() + # Can do `globals | locals` in Python 3.9+ + j_py_script_session.pushScope({**globals, **locals}) + try: + yield + finally: + j_py_script_session.popScope() + + +def evaluate( + sql: str, + dry_run: bool = False, +) -> Union[Table, jpy.JType]: + """Evaluates an SQL query and returns the result. + + The query scope is taken from the environment when this method is called. + + Args: + sql (str): SQL query string + dry_run (bool, optional): if the query should be a dry run, default is False + + Returns: + a new Table, or a java TableSpec if dry_run is True + + Raises: + DHError + """ + try: + callers_frame_info = inspect.stack()[1] + globals = callers_frame_info.frame.f_globals + locals = callers_frame_info.frame.f_locals + with _scope(globals, locals): + if dry_run: + # No JObjectWrapper for TableSpec + return _JSql.dryRun(sql) + else: + return Table(j_table=_JSql.evaluate(sql)) + except Exception as e: + raise DHError(e, "failed to execute SQL.") from e diff --git a/py/server/deephaven/jcompat.py b/py/server/deephaven/jcompat.py index 9bb53cff4d5..4e1d229e5b1 100644 --- a/py/server/deephaven/jcompat.py +++ b/py/server/deephaven/jcompat.py @@ -33,7 +33,7 @@ def j_hashmap(d: Dict = None) -> jpy.JType: if d is None: return None - r = jpy.get_type("java.util.HashMap")() + r = jpy.get_type("java.util.HashMap")(len(d)) for k, v in d.items(): k = unwrap(k) v = unwrap(v) @@ -46,7 +46,7 @@ def j_hashset(s: Set = None) -> jpy.JType: if s is None: return None - r = jpy.get_type("java.util.HashSet")() + r = jpy.get_type("java.util.HashSet")(len(s)) for v in s: r.add(unwrap(v)) return r diff --git a/py/server/deephaven/table.py b/py/server/deephaven/table.py index d2b28d2d02b..11f8c3b55d1 100644 --- a/py/server/deephaven/table.py +++ b/py/server/deephaven/table.py @@ -453,8 +453,8 @@ def _query_scope_ctx(): if j_py_script_session and (len(outer_frames) > i + 2 or function != ""): scope_dict = caller_frame.f_globals.copy() scope_dict.update(caller_frame.f_locals) + j_py_script_session.pushScope(scope_dict) try: - j_py_script_session.pushScope(scope_dict) yield finally: j_py_script_session.popScope() diff --git a/py/server/tests/test_plot/test_figure.py b/py/server/tests/test_plot/test_figure.py index 32aef642401..5b110f5d69a 100644 --- a/py/server/tests/test_plot/test_figure.py +++ b/py/server/tests/test_plot/test_figure.py @@ -19,11 +19,10 @@ def tearDown(self) -> None: super().tearDown() def test_figure(self): - with self.subTest("Not supported yet."): - with self.assertRaises(Exception) as cm: - figure = Figure() - new_f = figure.plot_xy("plot1", self.test_table, x="a", y="b", by=['e']) - self.assertIn("NullPointerException", str(cm.exception)) + with self.subTest("this should work too"): + figure = Figure() + new_f = figure.plot_xy("plot1", self.test_table, x="a", y="b", by=['e']) + self.assertIsNotNone(new_f) with self.subTest("this should work"): figure = Figure() diff --git a/py/server/tests/test_sql.py b/py/server/tests/test_sql.py new file mode 100644 index 00000000000..8f0416e64d6 --- /dev/null +++ b/py/server/tests/test_sql.py @@ -0,0 +1,79 @@ +# +# Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending +# + +import jpy + +from deephaven import DHError, read_csv, empty_table +from deephaven.experimental import sql +from tests.testbase import BaseTestCase + +_JTableSpec = jpy.get_type("io.deephaven.qst.table.TableSpec") + +some_global_table = empty_table(42) + + +class SqlTest(BaseTestCase): + def setUp(self): + super().setUp() + + def tearDown(self): + super().tearDown() + + def test_eval_global(self): + result_table = sql.evaluate("SELECT * FROM some_global_table") + self.assertEqual(result_table.size, 42) + + def test_eval_local(self): + # noinspection PyUnusedLocal + test_table = read_csv("tests/data/test_table.csv") + result_table = sql.evaluate("SELECT * FROM test_table LIMIT 5") + self.assertEqual(result_table.size, 5) + + def test_dry_run_global(self): + result_spec = sql.evaluate("SELECT * FROM some_global_table", dry_run=True) + self.assertTrue(isinstance(result_spec, jpy.JType)) + # Might be nice to extend jpy like this in the future? + # self.assertTrue(isinstance(result_spec, _JTableSpec)) + self.assertTrue(_JTableSpec.jclass.isInstance(result_spec)) + + def test_dry_run_local(self): + # noinspection PyUnusedLocal + test_table = read_csv("tests/data/test_table.csv") + result_spec = sql.evaluate("SELECT * FROM test_table LIMIT 7", dry_run=True) + self.assertTrue(isinstance(result_spec, jpy.JType)) + # Might be nice to extend jpy like this in the future? + # self.assertTrue(isinstance(result_spec, _JTableSpec)) + self.assertTrue(_JTableSpec.jclass.isInstance(result_spec)) + + def test_local_takes_precedence(self): + # noinspection PyUnusedLocal,PyShadowingNames + some_global_table = empty_table(13) + result_table = sql.evaluate("SELECT * FROM some_global_table") + self.assertEqual(result_table.size, 13) + + def test_nested_non_local(self): + # noinspection PyUnusedLocal + test_table = read_csv("tests/data/test_table.csv") + + def do_sql(): + nonlocal test_table + return sql.evaluate("SELECT * FROM test_table LIMIT 3") + + result_table = do_sql() + self.assertEqual(result_table.size, 3) + + def test_current_timestamp(self): + result_table = sql.evaluate("SELECT CURRENT_TIMESTAMP") + self.assertEqual(result_table.size, 1) + + def test_inner_func_local(self): + def inner_func(my_table): + return sql.evaluate("SELECT * FROM my_table LIMIT 13") + + result_table = inner_func(some_global_table) + self.assertEqual(result_table.size, 13) + + +if __name__ == "__main__": + unittest.main() diff --git a/qst/graphviz/src/main/java/io/deephaven/graphviz/AppendLinks.java b/qst/graphviz/src/main/java/io/deephaven/graphviz/AppendLinks.java index 052ff8b78e0..01379365630 100644 --- a/qst/graphviz/src/main/java/io/deephaven/graphviz/AppendLinks.java +++ b/qst/graphviz/src/main/java/io/deephaven/graphviz/AppendLinks.java @@ -54,17 +54,17 @@ private MutableNode node(TableSpec t) { } @Override - public void link(TableSpec table) { - node(dependent).addLink(node(table)); + public void link(TableSpec parent) { + node(dependent).addLink(node(parent)); } @Override - public void link(TableSpec table, int linkIndex) { - node(dependent).addLink(to(node(table)).with(Label.of(Integer.toString(linkIndex)))); + public void link(TableSpec parent, int linkIndex) { + node(dependent).addLink(to(node(parent)).with(Label.of(Integer.toString(linkIndex)))); } @Override - public void link(TableSpec table, String linkLabel) { - node(dependent).addLink(to(node(table)).with(Label.of(linkLabel))); + public void link(TableSpec parent, String linkLabel) { + node(dependent).addLink(to(node(parent)).with(Label.of(linkLabel))); } } diff --git a/qst/graphviz/src/main/java/io/deephaven/graphviz/GraphVizBuilder.java b/qst/graphviz/src/main/java/io/deephaven/graphviz/GraphVizBuilder.java index 3bbd2cbbac7..405ea694b5b 100644 --- a/qst/graphviz/src/main/java/io/deephaven/graphviz/GraphVizBuilder.java +++ b/qst/graphviz/src/main/java/io/deephaven/graphviz/GraphVizBuilder.java @@ -10,6 +10,7 @@ import io.deephaven.qst.table.LabeledTable; import io.deephaven.qst.table.LabeledTables; import io.deephaven.qst.table.ParentsVisitor; +import io.deephaven.qst.table.TableLabelVisitor; import io.deephaven.qst.table.TableSpec; import java.util.LinkedHashMap; @@ -32,7 +33,7 @@ public class GraphVizBuilder { */ public static MutableGraph of(Iterable tables) { NodesBuilder consumer = new NodesBuilder(); - ParentsVisitor.postOrderList(tables).forEach(consumer); + ParentsVisitor.postOrderWalk(tables, consumer); MutableGraph graph = mutGraph().setDirected(true); for (MutableNode node : consumer.identifiers.values()) { graph.add(node); @@ -51,7 +52,7 @@ public static MutableGraph of(Iterable tables) { */ public static MutableGraph of(LabeledTables tables) { NodesBuilder consumer = new NodesBuilder(); - ParentsVisitor.postOrderList(tables.tables()).forEach(consumer); + ParentsVisitor.postOrderWalk(tables.tables(), consumer); MutableGraph graph = mutGraph().setDirected(true); for (MutableNode node : consumer.identifiers.values()) { graph.add(node); @@ -81,7 +82,7 @@ private static class NodesBuilder implements Consumer { @Override public final void accept(TableSpec table) { MutableNode node = - mutNode(String.format("op_%d", current++)).add(Label.of(LabelBuilder.of(table))); + mutNode(String.format("op_%d", current++)).add(Label.of(TableLabelVisitor.of(table))); if (identifiers.put(table, node) != null) { throw new IllegalStateException(); } diff --git a/qst/graphviz/src/test/resources/io/deephaven/graphviz/example-1-labeled.dot b/qst/graphviz/src/test/resources/io/deephaven/graphviz/example-1-labeled.dot index c2350ace7b6..7084d3ca7ae 100644 --- a/qst/graphviz/src/test/resources/io/deephaven/graphviz/example-1-labeled.dot +++ b/qst/graphviz/src/test/resources/io/deephaven/graphviz/example-1-labeled.dot @@ -3,8 +3,8 @@ digraph { "op_1" ["label"="view(I=i)"] "op_2" ["label"="tail(10)"] "op_3" ["label"="head(1)"] -"op_4" ["label"="MergeTable"] -"op_5" ["label"="MergeTable"] +"op_4" ["label"="merge()"] +"op_5" ["label"="merge()"] "t1" ["shape"="note"] "t2" ["shape"="note"] "t3" ["shape"="note"] diff --git a/qst/graphviz/src/test/resources/io/deephaven/graphviz/example-1.dot b/qst/graphviz/src/test/resources/io/deephaven/graphviz/example-1.dot index 83692d293a8..516123f00cc 100644 --- a/qst/graphviz/src/test/resources/io/deephaven/graphviz/example-1.dot +++ b/qst/graphviz/src/test/resources/io/deephaven/graphviz/example-1.dot @@ -3,8 +3,8 @@ digraph { "op_1" ["label"="view(I=i)"] "op_2" ["label"="tail(10)"] "op_3" ["label"="head(1)"] -"op_4" ["label"="MergeTable"] -"op_5" ["label"="MergeTable"] +"op_4" ["label"="merge()"] +"op_5" ["label"="merge()"] "op_1" -> "op_0" "op_2" -> "op_1" "op_3" -> "op_2" diff --git a/qst/src/main/java/io/deephaven/qst/table/FriendlyString.java b/qst/src/main/java/io/deephaven/qst/table/FriendlyString.java new file mode 100644 index 00000000000..876fcd3418f --- /dev/null +++ b/qst/src/main/java/io/deephaven/qst/table/FriendlyString.java @@ -0,0 +1,73 @@ +package io.deephaven.qst.table; + +import java.util.List; +import java.util.stream.Collectors; + +public final class FriendlyString { + + /** + * Constructs a "friendly", depth-limited, recursive string of the given {@code tableSpec}. The depth visited is + * limited by 10. This is a non de-duplicating construction, and is most useful for smaller sized table specs. + * Callers that prefer a de-duplicated construction that works efficiently with larger tables may prefer + * {@link Graphviz#toDot(TableSpec)}. + * + *

    + * Callers can use this for visualization and debugging purposes, but should not depend on the strings being equal + * from release to release. + * + * @param tableSpec the table spec + * @return the "friendly" string + */ + public static String of(TableSpec tableSpec) { + return of(tableSpec, 10); + } + + /** + * Constructs a "friendly" string of the given {@code tableSpec}. The depth visited is limited by + * {@code maxAncestorDepth}. This is a non de-duplicating construction, and is most useful for smaller sized table + * specs. Callers that prefer a de-duplicated construction that works efficiently with larger tables may prefer + * {@link Graphviz#toDot(TableSpec)}. + * + *

    + * Callers can use this for visualization and debugging purposes, but should not depend on the strings being equal + * from release to release. + * + * @param tableSpec the table spec + * @param maxAncestorDepth the maximum number of ancestors to visit + * @return the "friendly" string + */ + public static String of(TableSpec tableSpec, int maxAncestorDepth) { + final StringBuilder sb = new StringBuilder(); + // Note: this will re-visit TableSpec that may have already been printed out, so it's not a de-duplicating + // representation like graph-based string formats may present (for example, graphviz format). + final List parents = ParentsVisitor.getParents(tableSpec).collect(Collectors.toList()); + if (maxAncestorDepth == 0) { + if (!parents.isEmpty()) { + sb.append("..."); + sb.append(System.lineSeparator()); + } + } else { + final boolean hasMultipleParents = parents.size() > 1; + if (hasMultipleParents) { + sb.append('['); + sb.append(System.lineSeparator()); + } + for (TableSpec parent : parents) { + sb.append(of(parent, maxAncestorDepth - 1)); + if (hasMultipleParents) { + sb.append(','); + } + sb.append(System.lineSeparator()); + } + if (hasMultipleParents) { + sb.append(']'); + sb.append(System.lineSeparator()); + } + if (!parents.isEmpty()) { + sb.append('.'); + } + } + sb.append(TableLabelVisitor.of(tableSpec)); + return sb.toString(); + } +} diff --git a/qst/src/main/java/io/deephaven/qst/table/Graphviz.java b/qst/src/main/java/io/deephaven/qst/table/Graphviz.java new file mode 100644 index 00000000000..bf94ec2e6f4 --- /dev/null +++ b/qst/src/main/java/io/deephaven/qst/table/Graphviz.java @@ -0,0 +1,91 @@ +package io.deephaven.qst.table; + +import io.deephaven.qst.table.LinkDescriber.LinkConsumer; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; + +public final class Graphviz { + private static final Pattern LINEBREAK_PATTERN = Pattern.compile("\\R"); + + /** + * Creates a graphviz DOT language string for {@code tableSpec}. + * + *

    + * Callers can use this for visualization and debugging purposes, but should not depend on the strings being equal + * from release to release. + * + * @param tableSpec the table spec + * @return the DOT string + * @see DOT + */ + public static String toDot(TableSpec tableSpec) { + return toDot(Collections.singleton(tableSpec)); + } + + /** + * Creates a graphviz DOT language string for {@code tableSpecs}. + * + *

    + * Callers can use this for visualization and debugging purposes, but should not depend on the strings being equal + * from release to release. + * + * @param tableSpecs the table specs + * @return the DOT string + * @see DOT + */ + public static String toDot(Iterable tableSpecs) { + final List specs = ParentsVisitor.postOrderList(tableSpecs); + // Create a reverse-lookup (instead of relying on List#indexOf) + final Map ids = new HashMap<>(specs.size()); + final StringBuilder sb = new StringBuilder(); + sb.append("digraph {"); + sb.append(System.lineSeparator()); + for (int id = 0; id < specs.size(); ++id) { + final TableSpec spec = specs.get(id); + sb.append(String.format("\"op_%d\" [\"label\"=\"%s\"]%n", id, escape(TableLabelVisitor.of(spec)))); + ids.put(spec, id); + } + for (int i = 0; i < specs.size(); ++i) { + final int id = i; + final TableSpec spec = specs.get(id); + spec.walk(new LinkDescriber(new LinkConsumer() { + @Override + public void link(TableSpec parent) { + final int parentId = ids.get(parent); + sb.append(String.format("\"op_%d\" -> \"op_%d\"%n", id, parentId)); + } + + @Override + public void link(TableSpec parent, int linkIndex) { + final int parentId = ids.get(parent); + sb.append(String.format("\"op_%d\" -> \"op_%d\" [\"label\"=\"%d\"]%n", id, parentId, linkIndex)); + } + + @Override + public void link(TableSpec parent, String linkLabel) { + final int parentId = ids.get(parent); + sb.append(String.format("\"op_%d\" -> \"op_%d\" [\"label\"=\"%s\"]%n", id, parentId, + escape(linkLabel))); + + } + })); + } + sb.append("}"); + return sb.toString(); + } + + private static String escape(String x) { + int count = 0; + while (count < x.length() && x.charAt(x.length() - 1 - count) == '\\') { + count++; + } + // Ending can't be escaped by an odd number of '\' + final String end = count % 2 == 1 ? "\\" : ""; + final String r1 = x.replace("\"", "\\\""); + return LINEBREAK_PATTERN.matcher(r1).replaceAll("\\\\n") + end; + } +} diff --git a/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java b/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java index 45757966145..742173513d0 100644 --- a/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java +++ b/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java @@ -14,11 +14,11 @@ public class LinkDescriber extends TableVisitorGeneric { public interface LinkConsumer { - void link(TableSpec table); + void link(TableSpec parent); - void link(TableSpec table, int linkIndex); + void link(TableSpec parent, int linkIndex); - void link(TableSpec table, String linkLabel); + void link(TableSpec parent, String linkLabel); } private final LinkConsumer consumer; diff --git a/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java b/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java index f882d69af5c..9f88e10f1df 100644 --- a/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java +++ b/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java @@ -306,7 +306,11 @@ private static class Search { private final Predicate excludePaths; private final Predicate searchPredicate; private final Queue toSearch = new ArrayDeque<>(); - private final Set visited = new HashSet<>(); + + // Note: this implementation has specifically been changed to give io.deephaven.sql.SqlAdapterTest temporary + // stability. When we have a proper serialization format for TableSpec, we should opt to change this back to + // a HashSet. + private final Set visited = new LinkedHashSet<>(); private Search(Predicate excludePaths, Predicate searchPredicate) { this.excludePaths = excludePaths; diff --git a/qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java b/qst/src/main/java/io/deephaven/qst/table/TableLabelVisitor.java similarity index 77% rename from qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java rename to qst/src/main/java/io/deephaven/qst/table/TableLabelVisitor.java index 165e81870b0..95fa0fefee9 100644 --- a/qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java +++ b/qst/src/main/java/io/deephaven/qst/table/TableLabelVisitor.java @@ -1,59 +1,36 @@ /** * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending */ -package io.deephaven.graphviz; +package io.deephaven.qst.table; +import io.deephaven.api.SortColumn; import io.deephaven.api.Strings; -import io.deephaven.qst.table.AggregateAllTable; -import io.deephaven.qst.table.AggregateTable; -import io.deephaven.qst.table.AsOfJoinTable; -import io.deephaven.qst.table.DropColumnsTable; -import io.deephaven.qst.table.EmptyTable; -import io.deephaven.qst.table.ExactJoinTable; -import io.deephaven.qst.table.HeadTable; -import io.deephaven.qst.table.InMemoryAppendOnlyInputTable; -import io.deephaven.qst.table.InMemoryKeyBackedInputTable; -import io.deephaven.qst.table.InputTable; -import io.deephaven.qst.table.Join; -import io.deephaven.qst.table.JoinTable; -import io.deephaven.qst.table.LazyUpdateTable; -import io.deephaven.qst.table.NaturalJoinTable; -import io.deephaven.qst.table.RangeJoinTable; -import io.deephaven.qst.table.SelectDistinctTable; -import io.deephaven.qst.table.SelectTable; -import io.deephaven.qst.table.SelectableTable; -import io.deephaven.qst.table.TableSpec; -import io.deephaven.qst.table.TableVisitorGeneric; -import io.deephaven.qst.table.TailTable; -import io.deephaven.qst.table.TicketTable; -import io.deephaven.qst.table.TimeTable; -import io.deephaven.qst.table.UngroupTable; -import io.deephaven.qst.table.UpdateByTable; -import io.deephaven.qst.table.UpdateTable; -import io.deephaven.qst.table.UpdateViewTable; -import io.deephaven.qst.table.ViewTable; -import io.deephaven.qst.table.WhereTable; +import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.Iterator; import java.util.Objects; import java.util.function.Function; -public class LabelBuilder extends TableVisitorGeneric { +public class TableLabelVisitor extends TableVisitorGeneric { /** - * Constructs a string label for the given {@code table}. + * Constructs a non-recursive label for {@code table}. * - * @param table the table + *

    + * Callers can use this for visualization and debugging purposes, but should not depend on the strings being equal + * from release to release. + * + * @param table the table spec * @return the label */ public static String of(TableSpec table) { - return table.walk(new LabelBuilder(new StringBuilder())).sb.toString(); + return table.walk(new TableLabelVisitor(new StringBuilder())).sb.toString(); } - private final StringBuilder sb; + final StringBuilder sb; - public LabelBuilder(StringBuilder sb) { + public TableLabelVisitor(StringBuilder sb) { this.sb = Objects.requireNonNull(sb); } @@ -74,6 +51,16 @@ public void visit(TimeTable timeTable) { sb.append("time(").append(timeTable.interval()).append(')'); } + @Override + public void visit(MergeTable mergeTable) { + sb.append("merge()"); + } + + @Override + public void visit(NewTable newTable) { + sb.append("newTable(").append(newTable.size()).append(", ").append(newTable.header()).append(')'); + } + @Override public void visit(HeadTable headTable) { sb.append("head(").append(headTable.size()).append(')'); @@ -172,7 +159,7 @@ public void visit(AggregateTable aggregateTable) { @Override public void visit(TicketTable ticketTable) { - sb.append("ticketTable(...)"); + sb.append(String.format("ticketTable(%s)", new String(ticketTable.ticket(), StandardCharsets.UTF_8))); } @Override @@ -219,6 +206,23 @@ public void visit(DropColumnsTable dropColumnsTable) { sb.append("])"); } + @Override + public void visit(ReverseTable reverseTable) { + sb.append("reverse()"); + } + + @Override + public void visit(SortTable sortTable) { + sb.append("sort(["); + append(TableLabelVisitor::toString, sortTable.columns(), sb); + sb.append("])"); + } + + @Override + public void visit(SnapshotTable snapshotTable) { + sb.append("snapshot()"); + } + private void join(String name, Join j) { sb.append(name).append("(["); append(Strings::of, j.matches(), sb); @@ -242,4 +246,8 @@ private static void append(Function f, Collection c, StringBui sb.append(',').append(f.apply(it.next())); } } + + private static String toString(SortColumn sort) { + return String.format("%s(%s)", sort.order(), sort.column().name()); + } } diff --git a/qst/src/main/java/io/deephaven/qst/type/BooleanType.java b/qst/src/main/java/io/deephaven/qst/type/BooleanType.java index 4d039f21306..62c28cbe75f 100644 --- a/qst/src/main/java/io/deephaven/qst/type/BooleanType.java +++ b/qst/src/main/java/io/deephaven/qst/type/BooleanType.java @@ -22,6 +22,11 @@ public final Class clazz() { return boolean.class; } + @Override + public final Class boxedClass() { + return Boolean.class; + } + @Override public final NativeArrayType arrayType() { return NativeArrayType.of(boolean[].class, this); diff --git a/qst/src/main/java/io/deephaven/qst/type/ByteType.java b/qst/src/main/java/io/deephaven/qst/type/ByteType.java index 372986ac68f..3e81a2374e0 100644 --- a/qst/src/main/java/io/deephaven/qst/type/ByteType.java +++ b/qst/src/main/java/io/deephaven/qst/type/ByteType.java @@ -22,6 +22,11 @@ public final Class clazz() { return byte.class; } + @Override + public final Class boxedClass() { + return Byte.class; + } + @Override public final NativeArrayType arrayType() { return NativeArrayType.of(byte[].class, this); diff --git a/qst/src/main/java/io/deephaven/qst/type/CharType.java b/qst/src/main/java/io/deephaven/qst/type/CharType.java index 5cfa0a0fcaf..8b8f509ec1e 100644 --- a/qst/src/main/java/io/deephaven/qst/type/CharType.java +++ b/qst/src/main/java/io/deephaven/qst/type/CharType.java @@ -22,6 +22,11 @@ public final Class clazz() { return char.class; } + @Override + public final Class boxedClass() { + return Character.class; + } + @Override public final NativeArrayType arrayType() { return NativeArrayType.of(char[].class, this); diff --git a/qst/src/main/java/io/deephaven/qst/type/DoubleType.java b/qst/src/main/java/io/deephaven/qst/type/DoubleType.java index aee9fb7046f..3670d682457 100644 --- a/qst/src/main/java/io/deephaven/qst/type/DoubleType.java +++ b/qst/src/main/java/io/deephaven/qst/type/DoubleType.java @@ -22,6 +22,11 @@ public final Class clazz() { return double.class; } + @Override + public final Class boxedClass() { + return Double.class; + } + @Override public final NativeArrayType arrayType() { return NativeArrayType.of(double[].class, this); diff --git a/qst/src/main/java/io/deephaven/qst/type/FloatType.java b/qst/src/main/java/io/deephaven/qst/type/FloatType.java index 48fe66184d1..a4d1796b44d 100644 --- a/qst/src/main/java/io/deephaven/qst/type/FloatType.java +++ b/qst/src/main/java/io/deephaven/qst/type/FloatType.java @@ -22,6 +22,11 @@ public final Class clazz() { return float.class; } + @Override + public final Class boxedClass() { + return Float.class; + } + @Override public final NativeArrayType arrayType() { return NativeArrayType.of(float[].class, this); diff --git a/qst/src/main/java/io/deephaven/qst/type/IntType.java b/qst/src/main/java/io/deephaven/qst/type/IntType.java index 910695ee423..389aa2fe57f 100644 --- a/qst/src/main/java/io/deephaven/qst/type/IntType.java +++ b/qst/src/main/java/io/deephaven/qst/type/IntType.java @@ -22,6 +22,11 @@ public final Class clazz() { return int.class; } + @Override + public final Class boxedClass() { + return Integer.class; + } + @Override public final NativeArrayType arrayType() { return NativeArrayType.of(int[].class, this); diff --git a/qst/src/main/java/io/deephaven/qst/type/LongType.java b/qst/src/main/java/io/deephaven/qst/type/LongType.java index 1ce15855368..1c9cb0f2897 100644 --- a/qst/src/main/java/io/deephaven/qst/type/LongType.java +++ b/qst/src/main/java/io/deephaven/qst/type/LongType.java @@ -22,6 +22,11 @@ public final Class clazz() { return long.class; } + @Override + public final Class boxedClass() { + return Long.class; + } + @Override public final NativeArrayType arrayType() { return NativeArrayType.of(long[].class, this); diff --git a/qst/src/main/java/io/deephaven/qst/type/PrimitiveType.java b/qst/src/main/java/io/deephaven/qst/type/PrimitiveType.java index e78dad91a39..0587ec374ca 100644 --- a/qst/src/main/java/io/deephaven/qst/type/PrimitiveType.java +++ b/qst/src/main/java/io/deephaven/qst/type/PrimitiveType.java @@ -18,6 +18,8 @@ */ public interface PrimitiveType extends Type { + Class boxedClass(); + V walk(V visitor); interface Visitor { diff --git a/qst/src/main/java/io/deephaven/qst/type/ShortType.java b/qst/src/main/java/io/deephaven/qst/type/ShortType.java index 03ce63fe7d3..9e30c105e47 100644 --- a/qst/src/main/java/io/deephaven/qst/type/ShortType.java +++ b/qst/src/main/java/io/deephaven/qst/type/ShortType.java @@ -22,6 +22,11 @@ public final Class clazz() { return short.class; } + @Override + public final Class boxedClass() { + return Short.class; + } + @Override public final NativeArrayType arrayType() { return NativeArrayType.of(short[].class, this); diff --git a/qst/src/main/java/io/deephaven/qst/type/TypeHelper.java b/qst/src/main/java/io/deephaven/qst/type/TypeHelper.java index a34104d335d..2f4408fdd66 100644 --- a/qst/src/main/java/io/deephaven/qst/type/TypeHelper.java +++ b/qst/src/main/java/io/deephaven/qst/type/TypeHelper.java @@ -54,7 +54,7 @@ static Optional> findStatic(Class clazz) { return Optional.ofNullable((Type) MAPPINGS.get(clazz)); } - static class AddMappings implements Type.Visitor, PrimitiveType.Visitor, GenericType.Visitor { + static class AddMappings implements Type.Visitor, GenericType.Visitor { private final Map, Type> mappings = new HashMap<>(); @@ -72,7 +72,8 @@ private void addUnchecked(Class clazz, Type type) { @Override public void visit(PrimitiveType primitiveType) { - primitiveType.walk((PrimitiveType.Visitor) this); + addUnchecked(primitiveType.clazz(), primitiveType); + addUnchecked(primitiveType.boxedClass(), primitiveType); } @Override @@ -80,54 +81,6 @@ public void visit(GenericType genericType) { genericType.walk((GenericType.Visitor) this); } - @Override - public void visit(BooleanType booleanType) { - add(boolean.class, booleanType); - add(Boolean.class, booleanType); - } - - @Override - public void visit(ByteType byteType) { - add(byte.class, byteType); - add(Byte.class, byteType); - } - - @Override - public void visit(CharType charType) { - add(char.class, charType); - add(Character.class, charType); - } - - @Override - public void visit(ShortType shortType) { - add(short.class, shortType); - add(Short.class, shortType); - } - - @Override - public void visit(IntType intType) { - add(int.class, intType); - add(Integer.class, intType); - } - - @Override - public void visit(LongType longType) { - add(long.class, longType); - add(Long.class, longType); - } - - @Override - public void visit(FloatType floatType) { - add(float.class, floatType); - add(Float.class, floatType); - } - - @Override - public void visit(DoubleType doubleType) { - add(double.class, doubleType); - add(Double.class, doubleType); - } - @Override public void visit(StringType stringType) { add(String.class, stringType); diff --git a/qst/src/test/java/io/deephaven/qst/table/FriendlyStringTest.java b/qst/src/test/java/io/deephaven/qst/table/FriendlyStringTest.java new file mode 100644 index 00000000000..24c95473e77 --- /dev/null +++ b/qst/src/test/java/io/deephaven/qst/table/FriendlyStringTest.java @@ -0,0 +1,49 @@ +package io.deephaven.qst.table; + +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class FriendlyStringTest { + + @Test + void deepWalk() { + final TableSpec deepWalk = last(ParentsVisitorTest.createDeepWalk(ParentsVisitorTest.DEEPWALK_SIZE)); + assertThat(FriendlyString.of(deepWalk).lines().count()).isLessThan(20); + } + + @Test + void heavilyBranched() { + final TableSpec heavilyBranched = + last(ParentsVisitorTest.createHeavilyBranchedTable(ParentsVisitorTest.HEAVILY_BRANCHED_SIZE)); + // This is a malicious case, but we are checking here that we don't run out of memory. + assertThat(FriendlyString.of(heavilyBranched).lines().count()).isLessThan(10000); + } + + // While we don't really want to test all of the cases exactly (b/c we don't guarantee stability), we can at least + // make a few test cases based on the current behavior to illustrate the "human-friendly" aspect it's going for. + + @Test + void simpleString() { + assertThat(FriendlyString.of(TableSpec.empty(1024).head(42).view("I=(long)ii"))) + .isEqualTo("empty(1024)\n" + + ".head(42)\n" + + ".view(I=(long)ii)"); + } + + @Test + void joinString() { + assertThat(FriendlyString.of(TableSpec.empty(1).join(TableSpec.empty(2)))) + .isEqualTo("[\n" + + "empty(1),\n" + + "empty(2),\n" + + "]\n" + + ".join([],[])"); + } + + private static T last(List list) { + return list.get(list.size() - 1); + } +} diff --git a/qst/src/test/java/io/deephaven/qst/table/GraphvizTest.java b/qst/src/test/java/io/deephaven/qst/table/GraphvizTest.java new file mode 100644 index 00000000000..7d9c893a98f --- /dev/null +++ b/qst/src/test/java/io/deephaven/qst/table/GraphvizTest.java @@ -0,0 +1,65 @@ +package io.deephaven.qst.table; + +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class GraphvizTest { + + @Test + void deepWalk() { + final TableSpec deepWalk = last(ParentsVisitorTest.createDeepWalk(ParentsVisitorTest.DEEPWALK_SIZE)); + // we expect one line per node and one link for the one parent + final long factor = 2; + final long lineCount = Graphviz.toDot(deepWalk).lines().count(); + assertThat(lineCount).isBetween( + ParentsVisitorTest.DEEPWALK_SIZE * factor - 10, + ParentsVisitorTest.DEEPWALK_SIZE * factor + 10); + } + + @Test + void heavilyBranched() { + final TableSpec heavilyBranched = + last(ParentsVisitorTest.createHeavilyBranchedTable(ParentsVisitorTest.HEAVILY_BRANCHED_SIZE)); + // This is a malicious case, but we are checking here that we don't run out of memory. + // we expect one line per node and two links for the two parents + final long factor = 3; + final long lineCount = Graphviz.toDot(heavilyBranched).lines().count(); + assertThat(lineCount).isBetween( + ParentsVisitorTest.HEAVILY_BRANCHED_SIZE * factor - 10, + ParentsVisitorTest.HEAVILY_BRANCHED_SIZE * factor + 10); + } + + // While we don't really want to test all of the cases exactly (b/c we don't guarantee stability), we can at least + // make a few test cases based on the current behavior to illustrate what it looks like. + + @Test + void simpleString() { + assertThat(Graphviz.toDot(TableSpec.empty(1024).head(42).view("I=(long)ii"))) + .isEqualTo("digraph {\n" + + "\"op_0\" [\"label\"=\"empty(1024)\"]\n" + + "\"op_1\" [\"label\"=\"head(42)\"]\n" + + "\"op_2\" [\"label\"=\"view(I=(long)ii)\"]\n" + + "\"op_1\" -> \"op_0\"\n" + + "\"op_2\" -> \"op_1\"\n" + + "}"); + } + + @Test + void joinString() { + assertThat(Graphviz.toDot(TableSpec.empty(1).join(TableSpec.empty(2)))) + .isEqualTo("digraph {\n" + + "\"op_0\" [\"label\"=\"empty(1)\"]\n" + + "\"op_1\" [\"label\"=\"empty(2)\"]\n" + + "\"op_2\" [\"label\"=\"join([],[])\"]\n" + + "\"op_2\" -> \"op_0\" [\"label\"=\"left\"]\n" + + "\"op_2\" -> \"op_1\" [\"label\"=\"right\"]\n" + + "}"); + } + + private static T last(List list) { + return list.get(list.size() - 1); + } +} diff --git a/qst/src/test/java/io/deephaven/qst/table/ParentsVisitorTest.java b/qst/src/test/java/io/deephaven/qst/table/ParentsVisitorTest.java index a6c265bd49c..b6fa1bae2c4 100644 --- a/qst/src/test/java/io/deephaven/qst/table/ParentsVisitorTest.java +++ b/qst/src/test/java/io/deephaven/qst/table/ParentsVisitorTest.java @@ -22,9 +22,9 @@ public class ParentsVisitorTest { - private static final int HEAVILY_BRANCHED_SIZE = 128; + static final int HEAVILY_BRANCHED_SIZE = 128; - private static final int DEEPWALK_SIZE = 8192; + static final int DEEPWALK_SIZE = 8192; private static final TableSpec S1 = TableSpec.empty(42); @@ -229,7 +229,7 @@ private static void checkValidPostOrder(Iterable items) { * This is a table that branches at every level except the leaf. Naive implementations may need to search every * single path through the DAG; but that is not feasible (2^64 paths). */ - private static List createHeavilyBranchedTable(int size) { + static List createHeavilyBranchedTable(int size) { List out = new ArrayList<>(size + 1); TableSpec current = TableSpec.empty(1); out.add(current); @@ -240,7 +240,7 @@ private static List createHeavilyBranchedTable(int size) { return out; } - private static List createDeepWalk(int size) { + static List createDeepWalk(int size) { List expected = new ArrayList<>(); TableSpec table = TableSpec.empty(size); expected.add(table); diff --git a/server/jetty-app/build.gradle b/server/jetty-app/build.gradle index 27723e27e09..59ccfdc9106 100644 --- a/server/jetty-app/build.gradle +++ b/server/jetty-app/build.gradle @@ -45,6 +45,12 @@ if (!hasProperty('excludeClockImpl')) { extraJvmArgs += ['--add-exports', 'java.base/jdk.internal.misc=ALL-UNNAMED'] } +if (!hasProperty('excludeSql')) { + dependencies { + runtimeOnly project(':engine-sql') + } +} + def authHandlers = [] def authConfigs = ['AuthHandlers'] if (hasProperty('anonymous')) { diff --git a/server/jetty-app/src/main/resources/logback.xml b/server/jetty-app/src/main/resources/logback.xml index f69901b2c78..14391026e53 100644 --- a/server/jetty-app/src/main/resources/logback.xml +++ b/server/jetty-app/src/main/resources/logback.xml @@ -23,6 +23,8 @@ + + diff --git a/settings.gradle b/settings.gradle index 8958793ac9b..f57f17d2949 100644 --- a/settings.gradle +++ b/settings.gradle @@ -213,6 +213,9 @@ project(':engine-test-utils').projectDir = file('engine/test-utils') include(':engine-query-constants') project(':engine-query-constants').projectDir = file('engine/query-constants') +include(':engine-sql') +project(':engine-sql').projectDir = file('engine/sql') + include(':extensions-csv') project(':extensions-csv').projectDir = file('extensions/csv') @@ -374,6 +377,8 @@ include(':authentication:example-providers:oidc') include ':clock' include ':clock-impl' +include ':sql' + file("${rootDir}/docker/registry").list().each { name -> if (file("${rootDir}/docker/registry/${name}/build.gradle").exists()) { include(":docker-${name}") diff --git a/sql/DEVELOPMENT.md b/sql/DEVELOPMENT.md new file mode 100644 index 00000000000..acdd19c5748 --- /dev/null +++ b/sql/DEVELOPMENT.md @@ -0,0 +1,35 @@ +# Development + +## SQLTODO + * rel-node-optimization + * catalog-reader-implementation + * custom-sources + * pre-join-condition-expressions + * qst-convert-optimization + * input-ref-match-hack + * view-vs-select + * sort-offset + * null-eq-semantics + * null-semantics-ternary-logic + * char-n-support + * parse-sql-configuration + * emulate-count-non-null + * array-type + * custom-type + * custom-expression + * logical-intersect + * logical-minus + * table-headers-out + +## DH TODO + * [deephaven-core#3515](https://github.com/deephaven/deephaven-core/issues/3515): Count non-null / count condition aggregations + * [deephaven-core#3516](https://github.com/deephaven/deephaven-core/issues/3516): Numeric support for log10 + * [deephaven-core#3517](https://github.com/deephaven/deephaven-core/issues/3517): Numeric support for atan2 + * [deephaven-core#3518](https://github.com/deephaven/deephaven-core/issues/3518): Numeric support for cube root + * [deephaven-core#3519](https://github.com/deephaven/deephaven-core/issues/3518): Numeric support for degrees + * [deephaven-core#3520](https://github.com/deephaven/deephaven-core/issues/3518): Numeric support for radians + +## DH Server SQL? + * odbc + * jdbc + * Flight SQL diff --git a/sql/IMPLEMENTATION.md b/sql/IMPLEMENTATION.md new file mode 100644 index 00000000000..cac2b4daf1f --- /dev/null +++ b/sql/IMPLEMENTATION.md @@ -0,0 +1,29 @@ +# Implementation + +The Deephaven SQL integration is driven by [Apache Calcite](https://github.com/apache/calcite), a mature project that +supports a wide variety of industry and enterprise use-cases. Calcite is very configurable and modular, making it +applicable for many SQL use-cases. That said, the configurability and modularity, not to mention the SQL standard +itself, makes wielding Calcite a non-trivial task. + +Deephaven is using Calcite only for its SQL relational parsing ability; those parsed results are then visited and +transformed into "approximately equivalent" Deephaven table operations. There's potential in the future to use more +Calcite features such as SQL query optimization, or as a means of executing the plan and transforming the results back +into Calcite result types (this may allow Calcite to serve as an ODBC / JDBC endpoint). + +The integration is currently only exposed as a script-session function call - it is _not_ exposed via a "proper" SQL api +such as ODBC, JDBC, or Flight SQL. + +## Column references + +Calcite treats all references as indexes (with callers responsible for knowing the proper context in which those indexes +exist); see org.apache.calcite.rex.RexInputRef. + +Since Deephaven refers to everything by name instead of index, there needs to be some translation layer that bridges +this gap. An "index-string" strategy is used to name columns internally based on their SQL / calcite field index. Of +course, the final node in the dag (the table the user actually cares about), needs to be named appropriately as the user +expects. + +This strategy of maintaining internal names that are different than the final names may lead to "excessive" or confusing +operations that don't seem to serve much purpose. In fact though, this strategy greatly simplifies and aids in the +ease-of-implementation and maintenance of these adapting layers. There's potential to improve this in the future with +SQLTODO(qst-optimization). diff --git a/sql/build.gradle b/sql/build.gradle new file mode 100644 index 00000000000..8d4d5b9408c --- /dev/null +++ b/sql/build.gradle @@ -0,0 +1,22 @@ +plugins { + id 'java-library' + id 'io.deephaven.project.register' +} + +description = 'The Deephaven SQL parser' + + +dependencies { + api project(':qst') + implementation 'org.apache.calcite:calcite-core:1.34.0' + + Classpaths.inheritImmutables(project) + + Classpaths.inheritJUnitPlatform(project) + Classpaths.inheritAssertJ(project) + testImplementation 'org.junit.jupiter:junit-jupiter' +} + +test { + useJUnitPlatform() +} diff --git a/sql/gradle.properties b/sql/gradle.properties new file mode 100644 index 00000000000..3e26c4f524e --- /dev/null +++ b/sql/gradle.properties @@ -0,0 +1,5 @@ +io.deephaven.project.ProjectType=JAVA_PUBLIC + +# Note: it would take a little bit of work, but we _could_ make this project Java 8 compatible. This would benefit +# external java-client users who need Java 8 compatibility. +# languageLevel=8 diff --git a/sql/src/main/java/io/deephaven/sql/AggregateCallAdapterImpl.java b/sql/src/main/java/io/deephaven/sql/AggregateCallAdapterImpl.java new file mode 100644 index 00000000000..44623334de7 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/AggregateCallAdapterImpl.java @@ -0,0 +1,76 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.ColumnName; +import io.deephaven.api.Pair; +import io.deephaven.api.agg.Aggregation; +import io.deephaven.api.agg.ColumnAggregation; +import io.deephaven.api.agg.Count; +import io.deephaven.api.agg.spec.AggSpec; +import io.deephaven.api.agg.spec.AggSpecCountDistinct; +import org.apache.calcite.rel.core.AggregateCall; +import org.apache.calcite.sql.SqlAggFunction; +import org.apache.calcite.sql.fun.SqlStdOperatorTable; + +import java.util.List; +import java.util.Map; + +final class AggregateCallAdapterImpl { + private static final Map map = Map.ofEntries( + Map.entry(SqlStdOperatorTable.MIN, aggSpecFunction(AggSpec.min())), + Map.entry(SqlStdOperatorTable.MAX, aggSpecFunction(AggSpec.max())), + Map.entry(SqlStdOperatorTable.AVG, aggSpecFunction(AggSpec.avg())), + Map.entry(SqlStdOperatorTable.SUM, aggSpecFunction(AggSpec.sum())), + Map.entry(SqlStdOperatorTable.ANY_VALUE, aggSpecFunction(AggSpec.first())), + Map.entry(SqlStdOperatorTable.FIRST_VALUE, aggSpecFunction(AggSpec.first())), + Map.entry(SqlStdOperatorTable.LAST_VALUE, aggSpecFunction(AggSpec.last())), + Map.entry(SqlStdOperatorTable.STDDEV, aggSpecFunction(AggSpec.std())), + Map.entry(SqlStdOperatorTable.VARIANCE, aggSpecFunction(AggSpec.var())), + Map.entry(SqlStdOperatorTable.COUNT, AggregateCallAdapterImpl::count), + Map.entry(SqlStdOperatorTable.APPROX_COUNT_DISTINCT, AggregateCallAdapterImpl::count)); + + public static Aggregation aggregation(AggregateCall aggregateCall, ColumnName out, List ins) { + final AggregationFunction function = map.get(aggregateCall.getAggregation()); + if (function == null) { + throw new UnsupportedOperationException("Unsupported aggregation " + aggregateCall.getAggregation()); + } + return function.aggregation(aggregateCall, out, ins); + } + + private static AggregationFunction aggSpecFunction(AggSpec aggSpec) { + return (call, out, ins) -> aggSpec(aggSpec, call, out, ins); + } + + private static Aggregation aggSpec(AggSpec aggSpec, AggregateCall call, ColumnName out, List ins) { + if (call.isDistinct()) { + throw new UnsupportedOperationException("Deephaven does not support distinct aggregations"); + } + if (ins.size() != 1) { + throw new IllegalArgumentException(); + } + return aggSpec.aggregation(Pair.of(ins.get(0), out)); + } + + + private static Aggregation count(AggregateCall call, ColumnName out, List ins) { + if (call.isDistinct()) { + if (ins.size() != 1) { + throw new IllegalArgumentException(); + } + return ColumnAggregation.of(AggSpecCountDistinct.of(!call.ignoreNulls()), Pair.of(ins.get(0), out)); + } + if (call.ignoreNulls() || !ins.isEmpty()) { + // SQLTODO(emulate-count-non-null) + // There's potential that we could emulate non-null count by using a formula and summing. + // Alternatively, see https://github.com/deephaven/deephaven-core/issues/3515. + throw new UnsupportedOperationException("Deephaven count() does not support ignoring nulls"); + } + return Count.of(out); + } + + private interface AggregationFunction { + Aggregation aggregation(AggregateCall call, ColumnName out, List ins); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/DeephavenTable.java b/sql/src/main/java/io/deephaven/sql/DeephavenTable.java new file mode 100644 index 00000000000..81ec55c099a --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/DeephavenTable.java @@ -0,0 +1,23 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import org.apache.calcite.rel.type.RelDataType; +import org.apache.calcite.rel.type.RelDataTypeFactory; +import org.apache.calcite.schema.impl.AbstractTable; + +import java.util.Objects; + +final class DeephavenTable extends AbstractTable { + private final RelDataType dataType; + + public DeephavenTable(RelDataType dataType) { + this.dataType = Objects.requireNonNull(dataType); + } + + @Override + public RelDataType getRowType(RelDataTypeFactory typeFactory) { + return typeFactory.copyType(dataType); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/ExtractAnds.java b/sql/src/main/java/io/deephaven/sql/ExtractAnds.java new file mode 100644 index 00000000000..fcacbd9bc55 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/ExtractAnds.java @@ -0,0 +1,85 @@ +package io.deephaven.sql; + +import io.deephaven.api.RawString; +import io.deephaven.api.expression.Function; +import io.deephaven.api.expression.Method; +import io.deephaven.api.filter.Filter; +import io.deephaven.api.filter.Filter.Visitor; +import io.deephaven.api.filter.FilterAnd; +import io.deephaven.api.filter.FilterComparison; +import io.deephaven.api.filter.FilterIn; +import io.deephaven.api.filter.FilterIsNull; +import io.deephaven.api.filter.FilterNot; +import io.deephaven.api.filter.FilterOr; +import io.deephaven.api.filter.FilterPattern; +import io.deephaven.api.literal.Literal; + +import java.util.Collection; +import java.util.Collections; + +enum ExtractAnds implements Visitor> { + INSTANCE; + + public static Collection of(Filter filter) { + return filter.walk(INSTANCE); + } + + @Override + public Collection visit(FilterIsNull isNull) { + return Collections.singleton(isNull); + } + + @Override + public Collection visit(FilterComparison comparison) { + return Collections.singleton(comparison); + } + + @Override + public Collection visit(FilterIn in) { + return Collections.singleton(in); + } + + @Override + public Collection visit(FilterNot not) { + return Collections.singleton(not); + } + + @Override + public Collection visit(FilterOr ors) { + return Collections.singleton(ors); + } + + @Override + public Collection visit(FilterAnd ands) { + return ands.filters(); + } + + @Override + public Collection visit(FilterPattern pattern) { + return Collections.singleton(pattern); + } + + @Override + public Collection visit(Function function) { + return Collections.singleton(function); + } + + @Override + public Collection visit(Method method) { + return Collections.singleton(method); + } + + @Override + public Collection visit(boolean literal) { + if (literal) { + return Collections.emptyList(); + } else { + return Collections.singleton(Literal.of(false)); + } + } + + @Override + public Collection visit(RawString rawString) { + return Collections.singleton(rawString); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/FieldAdapter.java b/sql/src/main/java/io/deephaven/sql/FieldAdapter.java new file mode 100644 index 00000000000..f0a9dca1ca3 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/FieldAdapter.java @@ -0,0 +1,29 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.ColumnName; +import io.deephaven.api.expression.Expression; +import io.deephaven.api.filter.Filter; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.type.RelDataTypeField; +import org.apache.calcite.rex.RexInputRef; +import org.apache.calcite.rex.RexNode; + +interface FieldAdapter extends OutputFieldAdapter { + + ColumnName input(RexInputRef inputRef, RelDataTypeField inputField); + + RexNodeFilterAdapter filterAdapter(RelNode parent); + + RexNodeExpressionAdapter expressionAdapter(RelNode parent); + + default Filter filter(RelNode parent, RexNode node) { + return filterAdapter(parent).filter(node); + } + + default Expression expression(RelNode parent, RexNode node) { + return expressionAdapter(parent).expression(node); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/FilterSimplifier.java b/sql/src/main/java/io/deephaven/sql/FilterSimplifier.java new file mode 100644 index 00000000000..0d32b34b3e7 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/FilterSimplifier.java @@ -0,0 +1,103 @@ +package io.deephaven.sql; + +import io.deephaven.api.RawString; +import io.deephaven.api.expression.Function; +import io.deephaven.api.expression.Method; +import io.deephaven.api.filter.Filter; +import io.deephaven.api.filter.Filter.Visitor; +import io.deephaven.api.filter.FilterAnd; +import io.deephaven.api.filter.FilterComparison; +import io.deephaven.api.filter.FilterIn; +import io.deephaven.api.filter.FilterIsNull; +import io.deephaven.api.filter.FilterNot; +import io.deephaven.api.filter.FilterOr; +import io.deephaven.api.filter.FilterPattern; +import io.deephaven.api.literal.Literal; + +import java.util.ArrayList; +import java.util.List; + +enum FilterSimplifier implements Visitor { + INSTANCE; + + public static Filter of(Filter filter) { + return filter.walk(FilterSimplifier.INSTANCE); + } + + @Override + public Filter visit(FilterIsNull isNull) { + return isNull; + } + + @Override + public Filter visit(FilterComparison comparison) { + return comparison.maybeTranspose(); + } + + @Override + public Filter visit(FilterNot not) { + return not.filter().walk(INSTANCE).invert(); + } + + @Override + public Filter visit(FilterOr ors) { + final List filters = new ArrayList<>(ors.filters().size()); + for (Filter filter : ors.filters()) { + final Filter simplified = of(filter); + if (simplified.equals(Literal.of(true))) { + return Literal.of(true); + } + if (simplified.equals(Literal.of(false))) { + continue; + } + filters.add(simplified); + } + return Filter.or(filters); + } + + @Override + public Filter visit(FilterAnd ands) { + final List filters = new ArrayList<>(ands.filters().size()); + for (Filter filter : ands.filters()) { + final Filter simplified = of(filter); + if (simplified.equals(Literal.of(false))) { + return Literal.of(false); + } + if (simplified.equals(Literal.of(true))) { + continue; + } + filters.add(simplified); + } + return Filter.and(filters); + } + + @Override + public Filter visit(FilterPattern pattern) { + return pattern; + } + + @Override + public Filter visit(FilterIn in) { + return in; + } + + @Override + public Filter visit(Function function) { + return function; + } + + @Override + public Filter visit(Method method) { + return method; + } + + @Override + public Filter visit(boolean literal) { + return Literal.of(literal); + } + + @Override + public Filter visit(RawString rawString) { + return rawString; + } +} diff --git a/sql/src/main/java/io/deephaven/sql/Helper.java b/sql/src/main/java/io/deephaven/sql/Helper.java new file mode 100644 index 00000000000..8e03f3dc365 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/Helper.java @@ -0,0 +1,59 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.ColumnName; +import io.deephaven.api.Selectable; +import io.deephaven.qst.table.TableSpec; +import io.deephaven.qst.table.ViewTable; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.SingleRel; +import org.apache.calcite.rel.type.RelDataTypeField; +import org.apache.calcite.rex.RexInputRef; + +final class Helper { + + public static TableSpec indexToName(TableSpec table, RelNode node, IndexRef indexRef) { + final ViewTable.Builder builder = ViewTable.builder().parent(table); + for (RelDataTypeField outputField : node.getRowType().getFieldList()) { + final ColumnName newName = NamedAdapter.of(outputField); + final ColumnName existing = indexRef.output(outputField); + builder.addColumns(Selectable.of(newName, existing)); + } + return builder.build(); + } + + public static TableSpec nameToIndex(TableSpec table, RelNode node, IndexRef indexRef) { + final ViewTable.Builder builder = ViewTable.builder().parent(table); + for (RelDataTypeField outputField : node.getRowType().getFieldList()) { + final ColumnName newName = indexRef.output(outputField); + final ColumnName existing = NamedAdapter.of(outputField); + builder.addColumns(Selectable.of(newName, existing)); + } + return builder.build(); + } + + public static RelDataTypeField inputField(RelNode node, final int fieldIndex) { + int ix = fieldIndex; + for (RelNode input : node.getInputs()) { + final int fieldCount = input.getRowType().getFieldCount(); + if (ix >= fieldCount) { + ix -= fieldCount; + continue; + } + return input.getRowType().getFieldList().get(ix); + } + throw new IllegalStateException(); + } + + public static ColumnName inputColumnName(RelNode node, final int inputIndex, FieldAdapter adapter) { + final RelDataTypeField inputField = inputField(node, inputIndex); + final RexInputRef inputRef = new RexInputRef(inputIndex, inputField.getType()); + return adapter.input(inputRef, inputField); + } + + public static ColumnName outputColumnName(RelNode node, final int outputIndex, FieldAdapter adapter) { + return adapter.output(node.getRowType().getFieldList().get(outputIndex)); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/IndexRef.java b/sql/src/main/java/io/deephaven/sql/IndexRef.java new file mode 100644 index 00000000000..6f898a35e31 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/IndexRef.java @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.ColumnName; +import io.deephaven.qst.table.TableSpec; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.type.RelDataTypeField; +import org.apache.calcite.rex.RexInputRef; + +import java.util.Objects; + +class IndexRef implements FieldAdapter, RelNodeAdapter { + + private static String columnName(String prefix, int index) { + return prefix + index; + } + + private final SqlRootContext rootContext; + private final String columnNamePrefix; + private final int shift; + + IndexRef(SqlRootContext rootContext, String columnNamePrefix, int shift) { + this.rootContext = Objects.requireNonNull(rootContext); + this.columnNamePrefix = Objects.requireNonNull(columnNamePrefix); + this.shift = shift; + } + + @Override + public ColumnName output(RelDataTypeField field) { + return ColumnName.of(columnName(columnNamePrefix, shift + field.getIndex())); + } + + @Override + public ColumnName input(RexInputRef inputRef, RelDataTypeField inputField) { + return ColumnName.of(columnName(columnNamePrefix, shift + inputRef.getIndex())); + } + + @Override + public RexNodeFilterAdapter filterAdapter(RelNode parent) { + return new RexNodeFilterAdapterImpl(parent, this); + } + + @Override + public RexNodeExpressionAdapter expressionAdapter(RelNode parent) { + return new RexNodeExpressionAdapterImpl(parent, this); + } + + @Override + public TableSpec table(RelNode node) { + return RelNodeAdapterIndexRef.of(rootContext, node, this); + } + + public IndexRef shifted(int shift) { + return new IndexRef(rootContext, columnNamePrefix, this.shift + shift); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/LexConfig.java b/sql/src/main/java/io/deephaven/sql/LexConfig.java new file mode 100644 index 00000000000..36a54f2856c --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/LexConfig.java @@ -0,0 +1,61 @@ +package io.deephaven.sql; + +import org.apache.calcite.avatica.util.Casing; +import org.apache.calcite.avatica.util.Quoting; +import org.apache.calcite.config.CalciteConnectionProperty; +import org.apache.calcite.config.CharLiteralStyle; +import org.apache.calcite.config.Lex; +import org.apache.calcite.sql.parser.SqlParser; +import org.apache.calcite.sql.parser.SqlParser.Config; + +import java.util.Properties; +import java.util.Set; + +/** + * By default, calcite operates with the equivalent of {@link Lex#ORACLE} (via the defaults exposed through + * {@link SqlParser#config()}, and the default value for {@link CalciteConnectionProperty#LEX}). This has the + * side-effect of tokenizing unquoted identifiers into {@link Casing#TO_UPPER upper-case}, which is not what one might + * expect by default. Additionally, there is no {@link Lex} that has all of the defaults we want ({@link Lex#JAVA} comes + * close, but uses {@link Quoting#BACK_TICK} instead of {@link Quoting#DOUBLE_QUOTE}). We can be explicit with + * {@link Config#withQuoting(Quoting)}, {@link Config#withUnquotedCasing(Casing)}, + * {@link Config#withQuotedCasing(Casing)}, {@link Config#withCaseSensitive(boolean)}, + * {@link Config#withCharLiteralStyles(Iterable)}, {@link CalciteConnectionProperty#QUOTING}, + * {@link CalciteConnectionProperty#UNQUOTED_CASING}, {@link CalciteConnectionProperty#QUOTED_CASING}, and + * {@link CalciteConnectionProperty#CASE_SENSITIVE}. + * + *

    + * If a new {@link Lex} that has our defaults is introduced, or an interface is added, we'd be able to simplify how + * these configurations get built via {@link Config#withLex(Lex)} and {@link CalciteConnectionProperty#LEX}. + * + * @see #withLexConfig(Config) + * @see #setLexProperties(Properties) + */ +class LexConfig { + + // No such Lex exists that has our desired defaults. + // private static final Lex LEX = null; + private static final Quoting QUOTING = Quoting.DOUBLE_QUOTE; + private static final Casing UNQUOTED_CASING = Casing.UNCHANGED; + private static final Casing QUOTED_CASING = Casing.UNCHANGED; + private static final boolean CASE_SENSITIVE = true; + private static final Set CHAR_LITERAL_STYLES = Set.of(CharLiteralStyle.STANDARD); + + static Config withLexConfig(SqlParser.Config config) { + // return config.withLex(LEX); + return config + .withQuoting(QUOTING) + .withUnquotedCasing(UNQUOTED_CASING) + .withQuotedCasing(QUOTED_CASING) + .withCaseSensitive(CASE_SENSITIVE) + .withCharLiteralStyles(CHAR_LITERAL_STYLES); + } + + static void setLexProperties(Properties props) { + // props.setProperty(CalciteConnectionProperty.LEX.camelName(), LEX.name()); + props.setProperty(CalciteConnectionProperty.QUOTING.camelName(), QUOTING.name()); + props.setProperty(CalciteConnectionProperty.UNQUOTED_CASING.camelName(), UNQUOTED_CASING.name()); + props.setProperty(CalciteConnectionProperty.QUOTED_CASING.camelName(), QUOTED_CASING.name()); + props.setProperty(CalciteConnectionProperty.CASE_SENSITIVE.camelName(), String.valueOf(CASE_SENSITIVE)); + // Note: there is no CalciteConnectionProperty.CHAR_LITERAL_STYLES or equivalent + } +} diff --git a/sql/src/main/java/io/deephaven/sql/LiteralAdapter.java b/sql/src/main/java/io/deephaven/sql/LiteralAdapter.java new file mode 100644 index 00000000000..0d834497208 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/LiteralAdapter.java @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.literal.Literal; +import org.apache.calcite.rex.RexLiteral; +import org.apache.calcite.sql.type.SqlTypeName; + +final class LiteralAdapter { + public static Literal of(RexLiteral literal) { + SqlTypeName typeName = literal.getTypeName(); + if (typeName == SqlTypeName.DECIMAL) { + // get the "inner" type, if decimal. + // for example, calcite treats + // "SELECT CAST(1 as BIGINT)" + // as a DECIMAL 1:BIGINT + typeName = literal.getType().getSqlTypeName(); + } + switch (typeName) { + case BOOLEAN: + return RexLiteral.booleanValue(literal) ? Literal.of(true) : Literal.of(false); + case TINYINT: + return Literal.of(literal.getValueAs(Byte.class)); + case SMALLINT: + return Literal.of(literal.getValueAs(Short.class)); + case INTEGER: + return Literal.of(literal.getValueAs(Integer.class)); + case BIGINT: + return Literal.of(literal.getValueAs(Long.class)); + case REAL: + return Literal.of(literal.getValueAs(Float.class)); + case DOUBLE: + case FLOAT: + return Literal.of(literal.getValueAs(Double.class)); + case CHAR: + case VARCHAR: + return Literal.of(literal.getValueAs(String.class)); + } + throw new UnsupportedOperationException("Literal support for " + typeName + " " + literal); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/LogicalAggregateAdapter.java b/sql/src/main/java/io/deephaven/sql/LogicalAggregateAdapter.java new file mode 100644 index 00000000000..ce7812bd67d --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/LogicalAggregateAdapter.java @@ -0,0 +1,82 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.ColumnName; +import io.deephaven.api.Selectable; +import io.deephaven.qst.table.AggregateTable; +import io.deephaven.qst.table.SelectDistinctTable; +import io.deephaven.qst.table.TableSpec; +import io.deephaven.qst.table.ViewTable; +import org.apache.calcite.rel.core.AggregateCall; +import org.apache.calcite.rel.logical.LogicalAggregate; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +final class LogicalAggregateAdapter { + + public static TableSpec namedTable(SqlRootContext rootContext, LogicalAggregate aggregate) { + return of(rootContext, aggregate, rootContext.namedAdapter()); + } + + public static TableSpec indexTable(SqlRootContext rootContext, LogicalAggregate aggregate, IndexRef indexRef) { + return of(rootContext, aggregate, indexRef); + } + + private static TableSpec of(SqlRootContext rootContext, LogicalAggregate aggregate, FieldAdapter fieldAdapter) { + final IndexRef indexInputRef = rootContext.createIndexRef(Prefix.AGGREGATE, aggregate); + final TableSpec parent = indexInputRef.table(aggregate.getInput()); + final int groupCount = aggregate.getGroupCount(); + final int outputFieldCount = aggregate.getRowType().getFieldCount(); + final List groupByColumns = new ArrayList<>(groupCount); + Iterator groupInputIt = aggregate.getGroupSet().iterator(); + int groupI = 0; + for (; groupI < groupCount && groupInputIt.hasNext(); ++groupI) { + final int groupInputIndex = groupInputIt.next(); + groupByColumns.add(Helper.inputColumnName(aggregate, groupInputIndex, indexInputRef)); + } + if (groupI != groupCount || groupInputIt.hasNext()) { + throw new IllegalStateException(); + } + final TableSpec aggTable; + if (groupCount == outputFieldCount) { + // this is how calcite expresses SELECT DISTINCT + aggTable = SelectDistinctTable.builder().parent(parent).addAllColumns(groupByColumns).build(); + } else { + AggregateTable.Builder builder = + AggregateTable.builder().parent(parent).addAllGroupByColumns(groupByColumns); + for (int outFieldIndex = groupCount; outFieldIndex < outputFieldCount; ++outFieldIndex) { + final AggregateCall aggregateCall = aggregate.getAggCallList().get(outFieldIndex - groupCount); + final List inColumns = new ArrayList<>(aggregateCall.getArgList().size()); + for (int inputIndex : aggregateCall.getArgList()) { + inColumns.add(Helper.inputColumnName(aggregate, inputIndex, indexInputRef)); + } + final ColumnName outColumn = Helper.outputColumnName(aggregate, outFieldIndex, fieldAdapter); + builder.addAggregations(AggregateCallAdapterImpl.aggregation(aggregateCall, outColumn, inColumns)); + } + aggTable = builder.build(); + } + if (groupCount == 0) { + return aggTable; + } + // If group columns are present, we need to rename them. + final ViewTable.Builder viewBuilder = ViewTable.builder().parent(aggTable); + groupInputIt = aggregate.getGroupSet().iterator(); + for (groupI = 0; groupI < groupCount && groupInputIt.hasNext(); ++groupI) { + final int groupInputIndex = groupInputIt.next(); + final ColumnName newColumn = Helper.outputColumnName(aggregate, groupI, fieldAdapter); + final ColumnName existing = Helper.inputColumnName(aggregate, groupInputIndex, indexInputRef); + viewBuilder.addColumns(Selectable.of(newColumn, existing)); + } + if (groupI != groupCount || groupInputIt.hasNext()) { + throw new IllegalStateException(); + } + for (int i = groupCount; i < outputFieldCount; ++i) { + viewBuilder.addColumns(Helper.outputColumnName(aggregate, i, fieldAdapter)); + } + return viewBuilder.build(); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/LogicalFilterAdapter.java b/sql/src/main/java/io/deephaven/sql/LogicalFilterAdapter.java new file mode 100644 index 00000000000..b3e2240fdd1 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/LogicalFilterAdapter.java @@ -0,0 +1,22 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.filter.Filter; +import io.deephaven.qst.table.TableSpec; +import io.deephaven.qst.table.WhereTable; +import org.apache.calcite.rel.logical.LogicalFilter; + +final class LogicalFilterAdapter { + + public static TableSpec indexTable(LogicalFilter filter, IndexRef indexRef) { + return of(filter, indexRef, indexRef); + } + + private static TableSpec of(LogicalFilter filter, RelNodeAdapter nodeAdapter, FieldAdapter fieldAdapter) { + final TableSpec parent = nodeAdapter.table(filter.getInput()); + final Filter condition = fieldAdapter.filter(filter, filter.getCondition()); + return WhereTable.of(parent, condition); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/LogicalJoinAdapter.java b/sql/src/main/java/io/deephaven/sql/LogicalJoinAdapter.java new file mode 100644 index 00000000000..a3c1e617d02 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/LogicalJoinAdapter.java @@ -0,0 +1,75 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.ColumnName; +import io.deephaven.api.JoinMatch; +import io.deephaven.api.filter.Filter; +import io.deephaven.api.filter.FilterComparison; +import io.deephaven.api.filter.FilterComparison.Operator; +import io.deephaven.qst.table.JoinTable; +import io.deephaven.qst.table.TableSpec; +import io.deephaven.qst.table.WhereTable; +import org.apache.calcite.rel.logical.LogicalJoin; + +import java.util.ArrayList; +import java.util.List; + +final class LogicalJoinAdapter { + public static TableSpec indexTable(SqlRootContext rootContext, LogicalJoin join, IndexRef indexRef) { + // C_0, C_1, ... C_{ L - 1 } + final TableSpec left = RelNodeAdapterIndexRef.of(rootContext, join.getLeft(), indexRef); + // C_L, ..., C_{ L + R - 1 } + final TableSpec right = RelNodeAdapterIndexRef.of(rootContext, join.getRight(), + indexRef.shifted(join.getLeft().getRowType().getFieldCount())); + + final JoinTable.Builder builder = JoinTable.builder() + .left(left) + .right(right); + + // general filter parsing + // we _really_ need join-aware contextual parsing here to handle SQLTODO(input-ref-match-hack) concerns + final Filter condition = indexRef.filter(join, join.getCondition()); + + final List postFilterConditions = new ArrayList<>(); + + // SQLTODO(pre-join-condition-expressions) + // + // There may be cases where the join condition is a more complex expression. + // For example, LHS.id = RHS.id + 1. + // + // Ideally, calcite optimizations would do expression pushdown for us (and it _might_ if configured correctly), + // and hopefully filter pushdown where applicable. + + for (Filter filter : ExtractAnds.of(FilterSimplifier.of(condition))) { + if (!(filter instanceof FilterComparison)) { + postFilterConditions.add(filter); + continue; + } + final FilterComparison fc = (FilterComparison) filter; + if (fc.operator() != Operator.EQUALS) { + postFilterConditions.add(filter); + continue; + } + if (!(fc.lhs() instanceof ColumnName) || !(fc.rhs() instanceof ColumnName)) { + postFilterConditions.add(filter); + continue; + } + // SQLTODO(input-ref-match-hack) + // + // By default, calcite does not re-arrange conditions to be more "traditional". For example, + // RHS.id = LHS.id does not seem to be re-arranged w/ LHS first. As part of our expression parsing, DH does + // some of this re-arranging. + // + // When we get to this stage, we are making a (potentially bad) assumption that fc.lhs() _is_ from the left + // table and fc.rhs() _is_ from the right table. For example, LHS.id = LHS.id2 would break this assumption. + builder.addMatches(JoinMatch.of((ColumnName) fc.lhs(), (ColumnName) fc.rhs())); + } + final JoinTable joinTable = builder.build(); + if (postFilterConditions.isEmpty()) { + return joinTable; + } + return WhereTable.of(joinTable, Filter.and(postFilterConditions)); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/LogicalProjectAdapter.java b/sql/src/main/java/io/deephaven/sql/LogicalProjectAdapter.java new file mode 100644 index 00000000000..36dd6bd19e2 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/LogicalProjectAdapter.java @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.ColumnName; +import io.deephaven.api.Selectable; +import io.deephaven.api.expression.Expression; +import io.deephaven.qst.table.TableSpec; +import io.deephaven.qst.table.ViewTable; +import org.apache.calcite.rel.logical.LogicalProject; +import org.apache.calcite.rel.type.RelDataTypeField; +import org.apache.calcite.rex.RexNode; + +final class LogicalProjectAdapter { + + public static TableSpec namedTable(SqlRootContext rootContext, LogicalProject project) { + return of(rootContext, project, rootContext.namedAdapter()); + } + + public static TableSpec indexTable(SqlRootContext rootContext, LogicalProject project, IndexRef outputIndexRef) { + return of(rootContext, project, outputIndexRef); + } + + private static TableSpec of(SqlRootContext rootContext, LogicalProject project, + OutputFieldAdapter outputFieldAdapter) { + // We need to make sure input names don't overlap w/ the output names. + // This is easiest to do if the parent is in index space. + final IndexRef indexInputRef = rootContext.createIndexRef(Prefix.PROJECT, project); + final TableSpec indexParent = RelNodeAdapterIndexRef.of(rootContext, project.getInput(), indexInputRef); + // SQLTODO(view-vs-select) + // When should we use view vs select? Should it be user configurable (hintable)? + final ViewTable.Builder builder = ViewTable.builder().parent(indexParent); + final RexNodeExpressionAdapter adapter = indexInputRef.expressionAdapter(project); + for (RelDataTypeField outputField : project.getRowType().getFieldList()) { + final RexNode projection = project.getProjects().get(outputField.getIndex()); + final Expression expression = adapter.expression(projection); + // = + final ColumnName outputColumnName = outputFieldAdapter.output(outputField); + builder.addColumns(Selectable.of(outputColumnName, expression)); + } + return builder.build(); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/LogicalSortAdapter.java b/sql/src/main/java/io/deephaven/sql/LogicalSortAdapter.java new file mode 100644 index 00000000000..143c0292f91 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/LogicalSortAdapter.java @@ -0,0 +1,132 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.ColumnName; +import io.deephaven.api.SortColumn; +import io.deephaven.api.expression.Expression; +import io.deephaven.api.literal.Literal; +import io.deephaven.qst.table.SortTable; +import io.deephaven.qst.table.TableSpec; +import org.apache.calcite.rel.RelFieldCollation; +import org.apache.calcite.rel.RelFieldCollation.NullDirection; +import org.apache.calcite.rel.logical.LogicalSort; +import org.apache.calcite.rel.type.RelDataTypeField; +import org.apache.calcite.rex.RexInputRef; + +import java.util.Objects; + +final class LogicalSortAdapter { + + public static TableSpec namedTable(LogicalSort sort, NamedAdapter namedAdapter) { + return of(sort, namedAdapter, namedAdapter); + } + + public static TableSpec indexTable(LogicalSort sort, IndexRef indexRef) { + return of(sort, indexRef, indexRef); + } + + private static TableSpec of(LogicalSort sort, RelNodeAdapter relNodeAdapter, FieldAdapter fieldAdapter) { + // SQLTODO(sort-offset) + if (sort.offset != null) { + throw new UnsupportedOperationException("SQLTODO(sort-offset): QST does not support slice..."); + } + final TableSpec parent = relNodeAdapter.table(sort.getInput()); + final TableSpec sortTable; + if (sort.collation.getFieldCollations().isEmpty()) { + // Calcite represents `SELECT * FROM my_table LIMIT 7` as a LogicalSort with an empty field collation. + // We can skip all of the SortTable.builder() wrapping in this case. + sortTable = parent; + } else { + final SortTable.Builder builder = SortTable.builder().parent(parent); + for (RelFieldCollation fieldCollation : sort.collation.getFieldCollations()) { + final int inputFieldIndex = fieldCollation.getFieldIndex(); + final RelDataTypeField inputField = sort.getInput().getRowType().getFieldList().get(inputFieldIndex); + final RexInputRef inputRef = new RexInputRef(inputFieldIndex, inputField.getType()); + final ColumnName inputColumnName = fieldAdapter.input(inputRef, inputField); + switch (fieldCollation.direction) { + case ASCENDING: + if (fieldCollation.nullDirection == NullDirection.LAST) { + throw new UnsupportedOperationException( + "Deephaven does not currently support ascending sort with nulls last"); + } + builder.addColumns(SortColumn.asc(inputColumnName)); + break; + case DESCENDING: + if (fieldCollation.nullDirection == NullDirection.FIRST) { + throw new UnsupportedOperationException( + "Deephaven does not currently support descending sort with nulls first"); + } + builder.addColumns(SortColumn.desc(inputColumnName)); + break; + default: + throw new UnsupportedOperationException( + "Unsupported sort direction " + fieldCollation.direction); + } + } + sortTable = builder.build(); + } + if (sort.fetch != null) { + final Expression expression = fieldAdapter.expression(sort, sort.fetch); + if (!(expression instanceof Literal)) { + throw new UnsupportedOperationException("Deephaven only supports literals for FETCH"); + } + return ((Literal) expression).walk(new ApplyHead(sortTable)); + } + return sortTable; + } + + private static class ApplyHead implements Literal.Visitor { + private final TableSpec input; + + public ApplyHead(TableSpec input) { + this.input = Objects.requireNonNull(input); + } + + @Override + public TableSpec visit(int literal) { + return input.head(literal); + } + + @Override + public TableSpec visit(long literal) { + return input.head(literal); + } + + @Override + public TableSpec visit(byte literal) { + return input.head(literal); + } + + @Override + public TableSpec visit(short literal) { + return input.head(literal); + } + + @Override + public TableSpec visit(boolean literal) { + throw new UnsupportedOperationException("Unable to LIMIT number of rows from boolean literal"); + } + + @Override + public TableSpec visit(float literal) { + throw new UnsupportedOperationException("Unable to LIMIT number of rows from float literal"); + } + + @Override + public TableSpec visit(double literal) { + throw new UnsupportedOperationException("Unable to LIMIT number of rows from double literal"); + } + + @Override + public TableSpec visit(String literal) { + throw new UnsupportedOperationException("Unable to LIMIT number of rows from String literal"); + } + + @Override + public TableSpec visit(char literal) { + throw new UnsupportedOperationException("Unable to LIMIT number of rows from char literal"); + } + } +} diff --git a/sql/src/main/java/io/deephaven/sql/LogicalUnionAdapter.java b/sql/src/main/java/io/deephaven/sql/LogicalUnionAdapter.java new file mode 100644 index 00000000000..80d0ef21ddf --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/LogicalUnionAdapter.java @@ -0,0 +1,27 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.qst.table.MergeTable; +import io.deephaven.qst.table.TableSpec; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.logical.LogicalUnion; + +import java.util.function.Function; + +final class LogicalUnionAdapter { + + public static TableSpec of(LogicalUnion union, RelNodeAdapter adapter) { + final MergeTable.Builder builder = MergeTable.builder(); + for (RelNode input : union.getInputs()) { + builder.addTables(adapter.table(input)); + } + final MergeTable mergeTable = builder.build(); + if (union.all) { + return mergeTable; + } else { + return mergeTable.selectDistinct(); + } + } +} diff --git a/sql/src/main/java/io/deephaven/sql/LogicalValuesAdapter.java b/sql/src/main/java/io/deephaven/sql/LogicalValuesAdapter.java new file mode 100644 index 00000000000..01ec27ce597 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/LogicalValuesAdapter.java @@ -0,0 +1,87 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import com.google.common.collect.ImmutableList; +import io.deephaven.qst.array.Array; +import io.deephaven.qst.array.ArrayBuilder; +import io.deephaven.qst.column.Column; +import io.deephaven.qst.table.NewTable; +import io.deephaven.qst.table.TableSpec; +import io.deephaven.qst.type.Type; +import org.apache.calcite.rel.logical.LogicalValues; +import org.apache.calcite.rel.type.RelDataType; +import org.apache.calcite.rel.type.RelDataTypeField; +import org.apache.calcite.rex.RexLiteral; +import org.apache.calcite.util.TimestampString; + +import java.time.Instant; +import java.util.function.Function; + +final class LogicalValuesAdapter { + + public static TableSpec namedTable(LogicalValues values) { + final NewTable.Builder builder = NewTable.builder().size(values.tuples.size()); + for (int fieldIx = 0; fieldIx < values.getRowType().getFieldCount(); ++fieldIx) { + final RelDataTypeField field = values.getRowType().getFieldList().get(fieldIx); + builder.addColumns(Column.of(field.getName(), array(values, fieldIx))); + } + return builder.build(); + } + + private static Array array(LogicalValues values, final int fieldIx) { + final RelDataTypeField field = values.getRowType().getFieldList().get(fieldIx); + final RelDataType type = field.getValue(); + if (type.isStruct()) { + throw new IllegalArgumentException(); + } + switch (type.getSqlTypeName()) { + case BOOLEAN: + return fill(fieldIx, values, Boolean.class); + case TINYINT: + return fill(fieldIx, values, Byte.class); + case SMALLINT: + return fill(fieldIx, values, Short.class); + case INTEGER: + return fill(fieldIx, values, Integer.class); + case BIGINT: + return fill(fieldIx, values, Long.class); + case REAL: + return fill(fieldIx, values, Float.class); + case DOUBLE: + case FLOAT: + return fill(fieldIx, values, Double.class); + case TIMESTAMP: + return fill(fieldIx, values, TimestampString.class, Instant.class, LogicalValuesAdapter::adapt); + case CHAR: + if (type.getPrecision() == 1) { + return fill(fieldIx, values, Character.class); + } + // SQLTODO(char-n-support) + // Calcite treats VALUES constructs with "strings" as CHAR(N), meaning that strings w/ less than N get + // padded with spaces. There may be ways to configure calcite to prefer VARCHAR over CHAR(N)? + return fill(fieldIx, values, String.class); + case VARCHAR: + return fill(fieldIx, values, String.class); + } + throw new UnsupportedOperationException("Unsupported values type " + type.getSqlTypeName()); + } + + private static Array fill(final int fieldIx, LogicalValues values, Class clazz) { + return fill(fieldIx, values, clazz, clazz, Function.identity()); + } + + private static Array fill(final int fieldIx, LogicalValues values, Class inClazz, Class outClazz, + Function f) { + final ArrayBuilder builder = Array.builder(Type.find(outClazz), values.tuples.size()); + for (ImmutableList tuple : values.tuples) { + builder.add(f.apply(tuple.get(fieldIx).getValueAs(inClazz))); + } + return builder.build(); + } + + private static Instant adapt(TimestampString ts) { + return Instant.parse(ts.toString()); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/NamedAdapter.java b/sql/src/main/java/io/deephaven/sql/NamedAdapter.java new file mode 100644 index 00000000000..f03d17a59cc --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/NamedAdapter.java @@ -0,0 +1,49 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.ColumnName; +import io.deephaven.qst.table.TableSpec; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.type.RelDataTypeField; +import org.apache.calcite.rex.RexInputRef; + +import java.util.Objects; + +final class NamedAdapter implements FieldAdapter, RelNodeAdapter { + public static ColumnName of(RelDataTypeField field) { + return ColumnName.of(field.getName()); + } + + private final SqlRootContext rootContext; + + NamedAdapter(SqlRootContext rootContext) { + this.rootContext = Objects.requireNonNull(rootContext); + } + + @Override + public ColumnName output(RelDataTypeField field) { + return of(field); + } + + @Override + public ColumnName input(RexInputRef inputRef, RelDataTypeField inputField) { + return of(inputField); + } + + @Override + public RexNodeFilterAdapter filterAdapter(RelNode parent) { + return new RexNodeFilterAdapterImpl(parent, this); + } + + @Override + public RexNodeExpressionAdapter expressionAdapter(RelNode parent) { + return new RexNodeExpressionAdapterImpl(parent, this); + } + + @Override + public TableSpec table(RelNode node) { + return RelNodeAdapterNamed.of(rootContext, node); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/OutputFieldAdapter.java b/sql/src/main/java/io/deephaven/sql/OutputFieldAdapter.java new file mode 100644 index 00000000000..96932c7ea29 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/OutputFieldAdapter.java @@ -0,0 +1,12 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.ColumnName; +import org.apache.calcite.rel.type.RelDataTypeField; + +interface OutputFieldAdapter { + + ColumnName output(RelDataTypeField field); +} diff --git a/sql/src/main/java/io/deephaven/sql/Prefix.java b/sql/src/main/java/io/deephaven/sql/Prefix.java new file mode 100644 index 00000000000..e6fe5405542 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/Prefix.java @@ -0,0 +1,17 @@ +package io.deephaven.sql; + +import java.util.Objects; + +enum Prefix { + AGGREGATE("__a_"), PROJECT("__p_"); + + private final String prefix; + + Prefix(String prefix) { + this.prefix = Objects.requireNonNull(prefix); + } + + public String prefix() { + return prefix; + } +} diff --git a/sql/src/main/java/io/deephaven/sql/RelNodeAdapter.java b/sql/src/main/java/io/deephaven/sql/RelNodeAdapter.java new file mode 100644 index 00000000000..d722b885f70 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/RelNodeAdapter.java @@ -0,0 +1,12 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.qst.table.TableSpec; +import org.apache.calcite.rel.RelNode; + +interface RelNodeAdapter { + + TableSpec table(RelNode node); +} diff --git a/sql/src/main/java/io/deephaven/sql/RelNodeAdapterIndexRef.java b/sql/src/main/java/io/deephaven/sql/RelNodeAdapterIndexRef.java new file mode 100644 index 00000000000..f3d4bb0e6fa --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/RelNodeAdapterIndexRef.java @@ -0,0 +1,82 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.qst.table.TableSpec; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.core.TableScan; +import org.apache.calcite.rel.logical.LogicalAggregate; +import org.apache.calcite.rel.logical.LogicalFilter; +import org.apache.calcite.rel.logical.LogicalJoin; +import org.apache.calcite.rel.logical.LogicalProject; +import org.apache.calcite.rel.logical.LogicalSort; +import org.apache.calcite.rel.logical.LogicalUnion; +import org.apache.calcite.rel.logical.LogicalValues; + +import java.util.Objects; + +final class RelNodeAdapterIndexRef implements RelNodeVisitor { + + public static TableSpec of(SqlRootContext rootContext, RelNode node, IndexRef indexRef) { + return RelNodeVisitor.accept(node, new RelNodeAdapterIndexRef(rootContext, node, indexRef)); + } + + private final SqlRootContext rootContext; + private final RelNode node; + private final IndexRef indexRef; + + RelNodeAdapterIndexRef(SqlRootContext rootContext, RelNode node, IndexRef indexRef) { + this.rootContext = Objects.requireNonNull(rootContext); + this.node = Objects.requireNonNull(node); + this.indexRef = Objects.requireNonNull(indexRef); + } + + @Override + public TableSpec visit(LogicalProject project) { + return LogicalProjectAdapter.indexTable(rootContext, project, indexRef); + } + + @Override + public TableSpec visit(LogicalUnion union) { + return LogicalUnionAdapter.of(union, indexRef); + } + + @Override + public TableSpec visit(LogicalSort sort) { + return LogicalSortAdapter.indexTable(sort, indexRef); + } + + @Override + public TableSpec visit(TableScan scan) { + final TableSpec spec = rootContext.scope() + .table(scan.getTable().getQualifiedName()) + .map(TableInformation::spec) + .orElseThrow(); + return nameToIndex(spec); + } + + @Override + public TableSpec visit(LogicalFilter filter) { + return LogicalFilterAdapter.indexTable(filter, indexRef); + } + + @Override + public TableSpec visit(LogicalJoin join) { + return LogicalJoinAdapter.indexTable(rootContext, join, indexRef); + } + + @Override + public TableSpec visit(LogicalAggregate aggregate) { + return LogicalAggregateAdapter.indexTable(rootContext, aggregate, indexRef); + } + + @Override + public TableSpec visit(LogicalValues values) { + return nameToIndex(LogicalValuesAdapter.namedTable(values)); + } + + private TableSpec nameToIndex(TableSpec table) { + return Helper.nameToIndex(table, node, indexRef); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/RelNodeAdapterNamed.java b/sql/src/main/java/io/deephaven/sql/RelNodeAdapterNamed.java new file mode 100644 index 00000000000..62fea7683a3 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/RelNodeAdapterNamed.java @@ -0,0 +1,76 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.qst.table.TableSpec; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.core.TableScan; +import org.apache.calcite.rel.logical.LogicalAggregate; +import org.apache.calcite.rel.logical.LogicalFilter; +import org.apache.calcite.rel.logical.LogicalJoin; +import org.apache.calcite.rel.logical.LogicalProject; +import org.apache.calcite.rel.logical.LogicalSort; +import org.apache.calcite.rel.logical.LogicalUnion; +import org.apache.calcite.rel.logical.LogicalValues; + +import java.util.Objects; + +final class RelNodeAdapterNamed implements RelNodeVisitor { + + public static TableSpec of(SqlRootContext rootContext, RelNode node) { + return RelNodeVisitor.accept(node, new RelNodeAdapterNamed(rootContext, node)); + } + + private final SqlRootContext rootContext; + private final RelNode node; + + RelNodeAdapterNamed(SqlRootContext rootContext, RelNode node) { + this.rootContext = Objects.requireNonNull(rootContext); + this.node = Objects.requireNonNull(node); + } + + @Override + public TableSpec visit(LogicalProject project) { + return LogicalProjectAdapter.namedTable(rootContext, project); + } + + @Override + public TableSpec visit(LogicalUnion union) { + return LogicalUnionAdapter.of(union, rootContext.namedAdapter()); + } + + @Override + public TableSpec visit(LogicalSort sort) { + return LogicalSortAdapter.namedTable(sort, rootContext.namedAdapter()); + } + + @Override + public TableSpec visit(TableScan scan) { + throw new IllegalStateException(); + } + + @Override + public TableSpec visit(LogicalFilter filter) { + throw new IllegalStateException(); + } + + @Override + public TableSpec visit(LogicalJoin join) { + throw new IllegalStateException(); + } + + @Override + public TableSpec visit(LogicalAggregate aggregate) { + return LogicalAggregateAdapter.namedTable(rootContext, aggregate); + } + + @Override + public TableSpec visit(LogicalValues values) { + return LogicalValuesAdapter.namedTable(values); + } + + private TableSpec indexToName(TableSpec table, IndexRef indexRef) { + return Helper.indexToName(table, node, indexRef); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/RelNodeVisitor.java b/sql/src/main/java/io/deephaven/sql/RelNodeVisitor.java new file mode 100644 index 00000000000..ebbf62c4e3c --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/RelNodeVisitor.java @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.RelShuttle; +import org.apache.calcite.rel.core.TableScan; +import org.apache.calcite.rel.logical.LogicalAggregate; +import org.apache.calcite.rel.logical.LogicalFilter; +import org.apache.calcite.rel.logical.LogicalJoin; +import org.apache.calcite.rel.logical.LogicalProject; +import org.apache.calcite.rel.logical.LogicalSort; +import org.apache.calcite.rel.logical.LogicalUnion; +import org.apache.calcite.rel.logical.LogicalValues; + +/** + * This is an improvement on {@link RelShuttle} that visitors to return any type. + * + * @param the type + */ +interface RelNodeVisitor { + + static T accept(RelNode node, RelNodeVisitor visitor) { + final RelNodeVisitorAdapter adapter = new RelNodeVisitorAdapter<>(visitor); + node.accept(adapter); + return adapter.out(); + } + + T visit(LogicalProject project); + + T visit(LogicalUnion union); + + T visit(LogicalSort sort); + + T visit(TableScan scan); + + T visit(LogicalFilter filter); + + T visit(LogicalJoin join); + + T visit(LogicalAggregate aggregate); + + T visit(LogicalValues values); +} diff --git a/sql/src/main/java/io/deephaven/sql/RelNodeVisitorAdapter.java b/sql/src/main/java/io/deephaven/sql/RelNodeVisitorAdapter.java new file mode 100644 index 00000000000..e05202fc6c4 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/RelNodeVisitorAdapter.java @@ -0,0 +1,147 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.RelShuttle; +import org.apache.calcite.rel.core.TableFunctionScan; +import org.apache.calcite.rel.core.TableScan; +import org.apache.calcite.rel.logical.LogicalAggregate; +import org.apache.calcite.rel.logical.LogicalCalc; +import org.apache.calcite.rel.logical.LogicalCorrelate; +import org.apache.calcite.rel.logical.LogicalExchange; +import org.apache.calcite.rel.logical.LogicalFilter; +import org.apache.calcite.rel.logical.LogicalIntersect; +import org.apache.calcite.rel.logical.LogicalJoin; +import org.apache.calcite.rel.logical.LogicalMatch; +import org.apache.calcite.rel.logical.LogicalMinus; +import org.apache.calcite.rel.logical.LogicalProject; +import org.apache.calcite.rel.logical.LogicalSort; +import org.apache.calcite.rel.logical.LogicalTableModify; +import org.apache.calcite.rel.logical.LogicalUnion; +import org.apache.calcite.rel.logical.LogicalValues; + +import java.util.Objects; + +final class RelNodeVisitorAdapter implements RelShuttle { + + private final RelNodeVisitor visitor; + private T out; + + public RelNodeVisitorAdapter(RelNodeVisitor visitor) { + this.visitor = Objects.requireNonNull(visitor); + } + + public T out() { + return Objects.requireNonNull(out); + } + + @Override + public RelNode visit(TableScan scan) { + out = visitor.visit(scan); + return scan; + } + + @Override + public RelNode visit(TableFunctionScan scan) { + // SQLTODO(custom-sources) + // + // It would be good to be able to source tables from other places, besides just ones in the global scope. For + // example: + // SELECT * FROM parquet('/data/my-dataset.parquet') + // SELECT * FROM csv('/my/test.csv') + // SELECT * FROM uri('dh://server/scope/table_name') + // SELECT * FROM uri('csv:///path/to/the.csv') + // SELECT * FROM time_table("00:00:01") + // + // Potentially related to design decisions around SQLTODO(catalog-reader-implementation) + throw new UnsupportedOperationException("SQLTODO(custom-sources)"); + } + + @Override + public RelNode visit(LogicalValues values) { + out = visitor.visit(values); + return values; + } + + @Override + public RelNode visit(LogicalFilter filter) { + out = visitor.visit(filter); + return filter; + } + + @Override + public RelNode visit(LogicalCalc calc) { + throw new UnsupportedOperationException(); + } + + @Override + public RelNode visit(LogicalProject project) { + out = visitor.visit(project); + return project; + } + + @Override + public RelNode visit(LogicalJoin join) { + out = visitor.visit(join); + return join; + } + + @Override + public RelNode visit(LogicalCorrelate correlate) { + throw new UnsupportedOperationException(); + } + + @Override + public RelNode visit(LogicalUnion union) { + out = visitor.visit(union); + return union; + } + + @Override + public RelNode visit(LogicalIntersect intersect) { + // SQLTODO(logical-intersect) + // table.whereIn + throw new UnsupportedOperationException("SQLTODO(logical-intersect)"); + } + + @Override + public RelNode visit(LogicalMinus minus) { + // SQLTODO(logical-minus) + // table.whereNotIn + throw new UnsupportedOperationException("SQLTODO(logical-minus)"); + } + + @Override + public RelNode visit(LogicalAggregate aggregate) { + out = visitor.visit(aggregate); + return aggregate; + } + + @Override + public RelNode visit(LogicalMatch match) { + throw new UnsupportedOperationException(); + } + + @Override + public RelNode visit(LogicalSort sort) { + out = visitor.visit(sort); + return sort; + } + + @Override + public RelNode visit(LogicalExchange exchange) { + throw new UnsupportedOperationException(); + } + + @Override + public RelNode visit(LogicalTableModify modify) { + throw new UnsupportedOperationException(); + } + + @Override + public RelNode visit(RelNode other) { + throw new UnsupportedOperationException(); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/RexNodeExpressionAdapter.java b/sql/src/main/java/io/deephaven/sql/RexNodeExpressionAdapter.java new file mode 100644 index 00000000000..8bd2ae29790 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/RexNodeExpressionAdapter.java @@ -0,0 +1,12 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.expression.Expression; +import org.apache.calcite.rex.RexNode; + +interface RexNodeExpressionAdapter { + + Expression expression(RexNode node); +} diff --git a/sql/src/main/java/io/deephaven/sql/RexNodeExpressionAdapterImpl.java b/sql/src/main/java/io/deephaven/sql/RexNodeExpressionAdapterImpl.java new file mode 100644 index 00000000000..c0063ae48d1 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/RexNodeExpressionAdapterImpl.java @@ -0,0 +1,246 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.RawString; +import io.deephaven.api.expression.Expression; +import io.deephaven.api.expression.Function; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rex.RexCall; +import org.apache.calcite.rex.RexInputRef; +import org.apache.calcite.rex.RexLiteral; +import org.apache.calcite.rex.RexNode; +import org.apache.calcite.sql.SqlOperator; +import org.apache.calcite.sql.fun.SqlStdOperatorTable; + +import java.util.Map; +import java.util.Objects; +import java.util.function.BiFunction; + +final class RexNodeExpressionAdapterImpl extends RexVisitorBase implements RexNodeExpressionAdapter { + private static final Map> ops = + Map.ofEntries( + Map.entry(SqlStdOperatorTable.PI, RexNodeExpressionAdapterImpl::pi), + Map.entry(SqlStdOperatorTable.RAND, RexNodeExpressionAdapterImpl::rand), + Map.entry(SqlStdOperatorTable.CURRENT_TIMESTAMP, RexNodeExpressionAdapterImpl::currentTimestamp), + Map.entry(SqlStdOperatorTable.UNARY_MINUS, RexNodeExpressionAdapterImpl::unaryMinus), + Map.entry(SqlStdOperatorTable.SQRT, RexNodeExpressionAdapterImpl::sqrt), + Map.entry(SqlStdOperatorTable.LN, RexNodeExpressionAdapterImpl::ln), + Map.entry(SqlStdOperatorTable.ABS, RexNodeExpressionAdapterImpl::abs), + Map.entry(SqlStdOperatorTable.SIN, RexNodeExpressionAdapterImpl::sin), + Map.entry(SqlStdOperatorTable.COS, RexNodeExpressionAdapterImpl::cos), + Map.entry(SqlStdOperatorTable.TAN, RexNodeExpressionAdapterImpl::tan), + Map.entry(SqlStdOperatorTable.ASIN, RexNodeExpressionAdapterImpl::asin), + Map.entry(SqlStdOperatorTable.ACOS, RexNodeExpressionAdapterImpl::acos), + Map.entry(SqlStdOperatorTable.ATAN, RexNodeExpressionAdapterImpl::atan), + Map.entry(SqlStdOperatorTable.SIGN, RexNodeExpressionAdapterImpl::sign), + Map.entry(SqlStdOperatorTable.ROUND, RexNodeExpressionAdapterImpl::round), + Map.entry(SqlStdOperatorTable.CEIL, RexNodeExpressionAdapterImpl::ceil), + Map.entry(SqlStdOperatorTable.FLOOR, RexNodeExpressionAdapterImpl::floor), + Map.entry(SqlStdOperatorTable.EXP, RexNodeExpressionAdapterImpl::exp), + Map.entry(SqlStdOperatorTable.PLUS, RexNodeExpressionAdapterImpl::plus), + Map.entry(SqlStdOperatorTable.MINUS, RexNodeExpressionAdapterImpl::minus), + Map.entry(SqlStdOperatorTable.MULTIPLY, RexNodeExpressionAdapterImpl::multiply), + Map.entry(SqlStdOperatorTable.DIVIDE, RexNodeExpressionAdapterImpl::divide), + Map.entry(SqlStdOperatorTable.PERCENT_REMAINDER, RexNodeExpressionAdapterImpl::percentRemainder), + Map.entry(SqlStdOperatorTable.POWER, RexNodeExpressionAdapterImpl::power), + // Unsupported + Map.entry(SqlStdOperatorTable.LOG10, RexNodeExpressionAdapterImpl::log10), + Map.entry(SqlStdOperatorTable.ATAN2, RexNodeExpressionAdapterImpl::atan2), + Map.entry(SqlStdOperatorTable.CBRT, RexNodeExpressionAdapterImpl::cbrt), + Map.entry(SqlStdOperatorTable.DEGREES, RexNodeExpressionAdapterImpl::degrees), + Map.entry(SqlStdOperatorTable.RADIANS, RexNodeExpressionAdapterImpl::radians)); + + private final RelNode node; + private final FieldAdapter fieldAdapter; + + RexNodeExpressionAdapterImpl(RelNode node, FieldAdapter fieldAdapter) { + this.node = Objects.requireNonNull(node); + this.fieldAdapter = Objects.requireNonNull(fieldAdapter); + } + + @Override + public Expression expression(RexNode node) { + // SQLTODO(custom-expression) + // At a minimum, we'll probably want a way to express creating an expression referencing query scope params: + // + // SELECT MyIntColumn + query_scope("MyQueryScopeVar") FROM ... + // + // We'll likely want to be more general in support of this, and have a way to express generic + // + // SELECT custom_function("com.example.Example.myFunction", MyIntColumn) FROM ... + return node.accept(this); + } + + @Override + public Expression visitInputRef(RexInputRef inputRef) { + return fieldAdapter.input(inputRef, Helper.inputField(node, inputRef.getIndex())); + } + + @Override + public Expression visitLiteral(RexLiteral literal) { + return LiteralAdapter.of(literal); + } + + @Override + public Expression visitCall(RexCall call) { + if (RexNodeFilterAdapterImpl.isFilter(call)) { + return fieldAdapter.filter(node, call); + } + final BiFunction bf = ops.get(call.op); + if (bf != null) { + return bf.apply(this, call); + } + throw new UnsupportedOperationException("Unsupported operator " + call.op.getName()); + } + + private Expression pi(RexCall call) { + if (!call.operands.isEmpty()) { + throw new IllegalArgumentException("Expected 0 argument operator"); + } + return RawString.of("java.lang.Math.PI"); + } + + private Expression rand(RexCall call) { + if (!call.operands.isEmpty()) { + throw new UnsupportedOperationException("Unsupported RAND with seed"); + } + return RawString.of("java.lang.Math.random()"); + } + + private Expression currentTimestamp(RexCall call) { + if (!call.operands.isEmpty()) { + throw new IllegalArgumentException("Expected 0 argument operator"); + } + return RawString.of("java.time.Instant.now()"); + } + + private Function unaryMinus(RexCall call) { + if (call.operands.size() != 1) { + throw new IllegalArgumentException("Expected 1 argument operator"); + } + return Function.builder().name("-").addArguments(expression(call.operands.get(0))).build(); + } + + private Expression sqrt(RexCall call) { + return apply1("sqrt", call); + } + + private Expression ln(RexCall call) { + return apply1("log", call); + } + + private Expression abs(RexCall call) { + return apply1("abs", call); + } + + private Expression sin(RexCall call) { + return apply1("sin", call); + } + + private Expression cos(RexCall call) { + return apply1("cos", call); + } + + private Expression tan(RexCall call) { + return apply1("tan", call); + } + + private Expression asin(RexCall call) { + return apply1("asin", call); + } + + private Expression acos(RexCall call) { + return apply1("acos", call); + } + + private Expression atan(RexCall call) { + return apply1("atan", call); + } + + private Expression sign(RexCall call) { + return apply1("signum", call); + } + + private Expression round(RexCall call) { + return apply1("round", call); + } + + private Expression ceil(RexCall call) { + return apply1("ceil", call); + } + + private Expression floor(RexCall call) { + return apply1("floor", call); + } + + private Expression exp(RexCall call) { + return apply1("exp", call); + } + + private Expression plus(RexCall call) { + return apply2("plus", call); + } + + private Expression minus(RexCall call) { + return apply2("minus", call); + } + + private Expression multiply(RexCall call) { + return apply2("multiply", call); + } + + private Expression divide(RexCall call) { + return apply2("divide", call); + } + + private Expression percentRemainder(RexCall call) { + return apply2("remainder", call); + } + + private Expression power(RexCall call) { + return apply2("pow", call); + } + + private Expression log10(RexCall call) { + throw new UnsupportedOperationException( + "No support for log10, see https://github.com/deephaven/deephaven-core/issues/3516"); + } + + private Expression atan2(RexCall call) { + throw new UnsupportedOperationException( + "No support for atan2, see https://github.com/deephaven/deephaven-core/issues/3517"); + } + + private Expression cbrt(RexCall call) { + throw new UnsupportedOperationException( + "No support for cube root, see https://github.com/deephaven/deephaven-core/issues/3518"); + } + + private Expression degrees(RexCall call) { + throw new UnsupportedOperationException( + "No support for degrees, see https://github.com/deephaven/deephaven-core/issues/3519"); + } + + private Expression radians(RexCall call) { + throw new UnsupportedOperationException( + "No support for radians, see https://github.com/deephaven/deephaven-core/issues/3520"); + } + + private Function apply1(String name, RexCall call) { + if (call.operands.size() != 1) { + throw new IllegalArgumentException("Expected 1 argument operator"); + } + return Function.builder().name(name).addArguments(expression(call.operands.get(0))).build(); + } + + private Function apply2(String name, RexCall call) { + if (call.operands.size() != 2) { + throw new IllegalArgumentException("Expected 2 argument operator"); + } + final Expression lhs = expression(call.operands.get(0)); + final Expression rhs = expression(call.operands.get(1)); + return Function.builder().name(name).addArguments(lhs, rhs).build(); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/RexNodeFilterAdapter.java b/sql/src/main/java/io/deephaven/sql/RexNodeFilterAdapter.java new file mode 100644 index 00000000000..99cb06fc316 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/RexNodeFilterAdapter.java @@ -0,0 +1,12 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.filter.Filter; +import org.apache.calcite.rex.RexNode; + +interface RexNodeFilterAdapter { + + Filter filter(RexNode node); +} diff --git a/sql/src/main/java/io/deephaven/sql/RexNodeFilterAdapterImpl.java b/sql/src/main/java/io/deephaven/sql/RexNodeFilterAdapterImpl.java new file mode 100644 index 00000000000..24d1ce8354c --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/RexNodeFilterAdapterImpl.java @@ -0,0 +1,202 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.api.expression.Expression; +import io.deephaven.api.filter.Filter; +import io.deephaven.api.filter.FilterComparison; +import io.deephaven.api.literal.Literal; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rex.RexCall; +import org.apache.calcite.rex.RexInputRef; +import org.apache.calcite.rex.RexLiteral; +import org.apache.calcite.rex.RexNode; +import org.apache.calcite.sql.SqlOperator; +import org.apache.calcite.sql.fun.SqlStdOperatorTable; +import org.apache.calcite.sql.type.ReturnTypes; +import org.apache.calcite.sql.type.SqlReturnTypeInference; +import org.apache.calcite.sql.type.SqlTypeName; + +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.function.BiFunction; +import java.util.stream.Collectors; + +final class RexNodeFilterAdapterImpl extends RexVisitorBase implements RexNodeFilterAdapter { + + private static final Map> operators = + Map.ofEntries( + Map.entry(SqlStdOperatorTable.EQUALS, RexNodeFilterAdapterImpl::eq), + Map.entry(SqlStdOperatorTable.GREATER_THAN, RexNodeFilterAdapterImpl::gt), + Map.entry(SqlStdOperatorTable.GREATER_THAN_OR_EQUAL, RexNodeFilterAdapterImpl::gte), + Map.entry(SqlStdOperatorTable.LESS_THAN, RexNodeFilterAdapterImpl::lt), + Map.entry(SqlStdOperatorTable.LESS_THAN_OR_EQUAL, RexNodeFilterAdapterImpl::lte), + Map.entry(SqlStdOperatorTable.NOT_EQUALS, RexNodeFilterAdapterImpl::neq), + Map.entry(SqlStdOperatorTable.IS_DISTINCT_FROM, RexNodeFilterAdapterImpl::isDistinctFrom), + Map.entry(SqlStdOperatorTable.IS_NOT_DISTINCT_FROM, RexNodeFilterAdapterImpl::isNotDistinctFrom), + Map.entry(SqlStdOperatorTable.NOT, RexNodeFilterAdapterImpl::not), + Map.entry(SqlStdOperatorTable.OR, RexNodeFilterAdapterImpl::or), + Map.entry(SqlStdOperatorTable.AND, RexNodeFilterAdapterImpl::and), + Map.entry(SqlStdOperatorTable.IS_NOT_NULL, RexNodeFilterAdapterImpl::isNotNull), + Map.entry(SqlStdOperatorTable.IS_NULL, RexNodeFilterAdapterImpl::isNull)); + + private static final Set conditionReturnTypes = Set.of( + ReturnTypes.BOOLEAN, + ReturnTypes.BOOLEAN_NULLABLE, + ReturnTypes.BOOLEAN_NOT_NULL, + ReturnTypes.BOOLEAN_FORCE_NULLABLE, + ReturnTypes.BOOLEAN_NULLABLE_OPTIMIZED); + + public static boolean isFilter(RexCall call) { + return (call.op.getReturnTypeInference() != null + && conditionReturnTypes.contains(call.op.getReturnTypeInference())) || operators.containsKey(call.op); + } + + private final RelNode parent; + private final FieldAdapter fieldAdapter; + + public RexNodeFilterAdapterImpl(RelNode parent, FieldAdapter fieldAdapter) { + this.parent = Objects.requireNonNull(parent); + this.fieldAdapter = Objects.requireNonNull(fieldAdapter); + } + + private RexNodeExpressionAdapter expressionAdapter() { + return new RexNodeExpressionAdapterImpl(parent, fieldAdapter); + } + + @Override + public Filter filter(RexNode node) { + return node.accept(this); + } + + @Override + public Filter visitInputRef(RexInputRef inputRef) { + return Filter.isTrue(expressionAdapter().expression(inputRef)); + } + + @Override + public Filter visitLiteral(RexLiteral literal) { + if (!literal.getTypeName().equals(SqlTypeName.BOOLEAN)) { + throw new UnsupportedOperationException("filters only support boolean literals"); + } + return RexLiteral.booleanValue(literal) ? Literal.of(true) : Literal.of(false); + } + + @Override + public Filter visitCall(RexCall call) { + final BiFunction function = operators.get(call.op); + if (function == null) { + throw new UnsupportedOperationException(String.format("Operator '%s' not implemented", call.op)); + } + return function.apply(this, call); + } + + // SQLTODO(null-semantics-ternary-logic) + // We may need to be explicit in how we want the engine to handle semantics around comparison operators against + // null values. TBD whether DH engine semantics match the guarantees that SQL standard may provide (or it may be the + // case that SQL engines to implement their own semantics in this regard, TBD). + + private Filter eq(RexCall call) { + // SQLTODO(null-eq-semantics) + // This is incorrect, we should create a sql_eq function that respects null sql semantics + // return Filter.isTrue(ExpressionFunction.builder().name("sql_eq")...build()); + return apply2(FilterComparison::eq, call); + } + + private FilterComparison neq(RexCall call) { + // SQLTODO(null-eq-semantics) + // This is incorrect, we should create a sql_neq function that respects null sql semantics + // return Filter.isTrue(ExpressionFunction.builder().name("sql_neq")...build()); + return apply2(FilterComparison::neq, call); + } + + private FilterComparison lt(RexCall call) { + return apply2(FilterComparison::lt, call); + } + + private FilterComparison lte(RexCall call) { + return apply2(FilterComparison::leq, call); + } + + private FilterComparison gt(RexCall call) { + return apply2(FilterComparison::gt, call); + } + + private FilterComparison gte(RexCall call) { + return apply2(FilterComparison::geq, call); + } + + private FilterComparison isDistinctFrom(RexCall call) { + return apply2(FilterComparison::neq, call); + } + + private FilterComparison isNotDistinctFrom(RexCall call) { + return apply2(FilterComparison::eq, call); + } + + private Filter not(RexCall call) { + return apply1Filter(Filter::invert, call); + } + + private Filter isNull(RexCall call) { + return apply1Expression(Filter::isNull, call); + } + + private Filter isNotNull(RexCall call) { + return apply1Expression(Filter::isNotNull, call); + } + + private Filter or(RexCall call) { + return applyN(Filter::or, call); + } + + private Filter and(RexCall call) { + return applyN(Filter::and, call); + } + + private Filter apply1Filter(java.util.function.Function f, RexCall call) { + if (call.operands.size() != 1) { + throw new IllegalArgumentException("Expected 1 argument operator"); + } + final Filter unary = filter(call.operands.get(0)); + return f.apply(unary); + } + + private Filter apply1Expression(java.util.function.Function f, RexCall call) { + if (call.operands.size() != 1) { + throw new IllegalArgumentException("Expected 1 argument operator"); + } + final Expression unary = expressionAdapter().expression(call.operands.get(0)); + return f.apply(unary); + } + + private FilterComparison apply2(BiFunction f, RexCall call) { + if (call.operands.size() != 2) { + throw new IllegalArgumentException("Expected 2 argument operator"); + } + final Expression lhs = expressionAdapter().expression(call.operands.get(0)); + final Expression rhs = expressionAdapter().expression(call.operands.get(1)); + final FilterComparison comparison = f.apply(lhs, rhs); + return inputRefMatchHack(call, comparison); + } + + private Filter applyN(java.util.function.Function, Filter> f, RexCall call) { + final List inputs = call.operands.stream().map(this::filter).collect(Collectors.toList()); + return f.apply(inputs); + } + + private static FilterComparison inputRefMatchHack(RexCall call, FilterComparison comparison) { + // SQLTODO(input-ref-match-hack) + // This is a HACK to ensure that if we get a match filter, we always put the input ref from the left + // table before the input ref from the right table. + if (call.operands.get(0) instanceof RexInputRef && call.operands.get(1) instanceof RexInputRef) { + if (((RexInputRef) call.operands.get(0)).getIndex() > ((RexInputRef) call.operands.get(1)).getIndex()) { + return comparison.transpose(); + } + } + return comparison; + } +} diff --git a/sql/src/main/java/io/deephaven/sql/RexVisitorBase.java b/sql/src/main/java/io/deephaven/sql/RexVisitorBase.java new file mode 100644 index 00000000000..1e619270e9f --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/RexVisitorBase.java @@ -0,0 +1,85 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import org.apache.calcite.rex.RexCall; +import org.apache.calcite.rex.RexCorrelVariable; +import org.apache.calcite.rex.RexDynamicParam; +import org.apache.calcite.rex.RexFieldAccess; +import org.apache.calcite.rex.RexInputRef; +import org.apache.calcite.rex.RexLiteral; +import org.apache.calcite.rex.RexLocalRef; +import org.apache.calcite.rex.RexNode; +import org.apache.calcite.rex.RexOver; +import org.apache.calcite.rex.RexPatternFieldRef; +import org.apache.calcite.rex.RexRangeRef; +import org.apache.calcite.rex.RexSubQuery; +import org.apache.calcite.rex.RexTableInputRef; +import org.apache.calcite.rex.RexVisitor; + +class RexVisitorBase implements RexVisitor { + @Override + public T visitInputRef(RexInputRef inputRef) { + throw unsupported(inputRef); + } + + @Override + public T visitLocalRef(RexLocalRef localRef) { + throw unsupported(localRef); + } + + @Override + public T visitLiteral(RexLiteral literal) { + throw unsupported(literal); + } + + @Override + public T visitCall(RexCall call) { + throw unsupported(call); + } + + @Override + public T visitOver(RexOver over) { + throw unsupported(over); + } + + @Override + public T visitCorrelVariable(RexCorrelVariable correlVariable) { + throw unsupported(correlVariable); + } + + @Override + public T visitDynamicParam(RexDynamicParam dynamicParam) { + throw unsupported(dynamicParam); + } + + @Override + public T visitRangeRef(RexRangeRef rangeRef) { + throw unsupported(rangeRef); + } + + @Override + public T visitFieldAccess(RexFieldAccess fieldAccess) { + throw unsupported(fieldAccess); + } + + @Override + public T visitSubQuery(RexSubQuery subQuery) { + throw unsupported(subQuery); + } + + @Override + public T visitTableInputRef(RexTableInputRef fieldRef) { + throw unsupported(fieldRef); + } + + @Override + public T visitPatternFieldRef(RexPatternFieldRef fieldRef) { + throw unsupported(fieldRef); + } + + private UnsupportedOperationException unsupported(RexNode node) { + return new UnsupportedOperationException(String.format("%s: %s", getClass().getName(), node.toString())); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/Scope.java b/sql/src/main/java/io/deephaven/sql/Scope.java new file mode 100644 index 00000000000..6443980f92e --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/Scope.java @@ -0,0 +1,9 @@ +package io.deephaven.sql; + +import java.util.List; +import java.util.Optional; + +public interface Scope { + + Optional table(List qualifiedName); +} diff --git a/sql/src/main/java/io/deephaven/sql/ScopeStaticImpl.java b/sql/src/main/java/io/deephaven/sql/ScopeStaticImpl.java new file mode 100644 index 00000000000..afd2bbfa963 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/ScopeStaticImpl.java @@ -0,0 +1,48 @@ +package io.deephaven.sql; + +import io.deephaven.annotations.BuildableStyle; +import org.immutables.value.Value.Check; +import org.immutables.value.Value.Immutable; + +import java.util.List; +import java.util.Optional; + +@Immutable +@BuildableStyle +public abstract class ScopeStaticImpl implements Scope { + + public static Builder builder() { + return ImmutableScopeStaticImpl.builder(); + } + + public static ScopeStaticImpl empty() { + return builder().build(); + } + + public abstract List tables(); + + @Override + public final Optional table(List qualifiedName) { + // We could save this in a map, but O(n) shouldn't really hurt us here. + return tables().stream().filter(t -> qualifiedName.equals(t.qualifiedName())).findAny(); + } + + @Check + final void checkUniqueQualifiedNames() { + final long distinctCount = tables().stream().map(TableInformation::qualifiedName).distinct().count(); + if (tables().size() != distinctCount) { + throw new IllegalArgumentException(); + } + } + + public interface Builder { + + Builder addTables(TableInformation element); + + Builder addTables(TableInformation... elements); + + Builder addAllTables(Iterable elements); + + ScopeStaticImpl build(); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/SqlAdapter.java b/sql/src/main/java/io/deephaven/sql/SqlAdapter.java new file mode 100644 index 00000000000..2e6e6abbf18 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/SqlAdapter.java @@ -0,0 +1,190 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.qst.table.TableSpec; +import org.apache.calcite.config.CalciteConnectionConfigImpl; +import org.apache.calcite.config.NullCollation; +import org.apache.calcite.jdbc.CalciteSchema; +import org.apache.calcite.jdbc.JavaTypeFactoryImpl; +import org.apache.calcite.plan.ConventionTraitDef; +import org.apache.calcite.plan.RelOptCluster; +import org.apache.calcite.plan.RelOptPlanner; +import org.apache.calcite.plan.RelOptUtil; +import org.apache.calcite.plan.ViewExpanders; +import org.apache.calcite.plan.volcano.VolcanoPlanner; +import org.apache.calcite.prepare.CalciteCatalogReader; +import org.apache.calcite.prepare.Prepare.CatalogReader; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.type.RelDataTypeFactory; +import org.apache.calcite.rex.RexBuilder; +import org.apache.calcite.sql.SqlExplainFormat; +import org.apache.calcite.sql.SqlExplainLevel; +import org.apache.calcite.sql.SqlNode; +import org.apache.calcite.sql.fun.SqlStdOperatorTable; +import org.apache.calcite.sql.parser.SqlParser; +import org.apache.calcite.sql.validate.SqlValidator; +import org.apache.calcite.sql.validate.SqlValidatorUtil; +import org.apache.calcite.sql2rel.SqlToRelConverter; +import org.apache.calcite.sql2rel.StandardConvertletTable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.Properties; + +/** + * This is the main public entrypoint for converting a SQL query into {@link TableSpec}. + */ +public final class SqlAdapter { + + private static final Logger log = LoggerFactory.getLogger(SqlAdapter.class); + + /** + * Parses the {@code sql} query into a {@link TableSpec}. + * + *

    + * Note: only {@link ScopeStaticImpl} is supported right now. + * + * @param sql the sql + * @param scope the scope + * @return the table spec + */ + public static TableSpec parseSql( + String sql, + Scope scope) { + // 0: Configuration + // SQLTODO(parse-sql-configuration) + // + // Allow for customization of calcite parsing details. Would this mean that calcite should / would become part + // of the public API, or would it be kept as an implementation detail? + // + // For example, should we allow the user to configure lexing configuration? #parserConfig() / + // #calciteConnectionConfig() + + // 1: Parse into AST + final SqlNode node = parse(sql); + + // 2: Validate AST + final RelDataTypeFactory typeFactory = new JavaTypeFactoryImpl(); + final CatalogReader catalogReader = reader(typeFactory, scope); + final SqlValidator validator = validator(typeFactory, catalogReader); + final SqlNode validNode = validator.validate(node); + + // 3: Convert into relational node + final RelNode relNode = convert(typeFactory, catalogReader, validator, validNode); + if (log.isDebugEnabled()) { + log.debug(RelOptUtil.dumpPlan( + "[Logical plan]", + relNode, + SqlExplainFormat.TEXT, + SqlExplainLevel.ALL_ATTRIBUTES)); + } + + // 4: Relational optimization + // SQLTODO(rel-node-optimization) + // + // Use calcite for optimization. Simple optimizations are filter / predicate pushdowns (for example, any filters + // exclusively on the LHS or RHS of a join). More advanced optimizations may be possible by attaching statistics + // or hints about the underlying structure of the source data. + + // 5. Convert into QST + // SQLTODO(qst-convert-optimization) + // + // The conversion process from RelNode to QST can be optimized if additional hints are added to the source data, + // or additional relational details about the data are known. + // + // For example, if we know that all Ids in a column are unique, either because the user has hinted as much, or + // we know the Ids are unique because they are a "last_by" construction, we may be able to use a natural_join + // instead of a join for an INNER JOIN conversion. + + // SQLTODO(table-headers-out) + // In addition to parsing and creating the execution plan TableSpec, it would be reasonable to create and + // return the expected TableHeader, or even Map for the full dag. This might aid in + // executing TableSpec; or at least, provides a way to check if the engine output matches what SQL expects the + // output type to be. + return RelNodeAdapterNamed.of(SqlRootContext.of(relNode, scope), relNode); + + // 6. QST optimization + // SQLTODO(qst-optimization) + // There are QST optimizations that are orthogonal to SQL, but none-the-less may be useful and can be guided + // based on the types of unoptimized structures that this implementation may make. + // + // Most immediately, this may be optimize away some of the "excessive" implementation layers that the SQL + // adapting layer is adding. (Note: these "excessive" layers are implementation details that aid in ease of + // implementing and maintaining said adapting.) + } + + private static SqlNode parse(String sql) { + final SqlParser parser = SqlParser.create(sql, LexConfig.withLexConfig(SqlParser.config())); + final SqlNode sqlNode; + try { + sqlNode = parser.parseQuery(); + } catch (org.apache.calcite.sql.parser.SqlParseException e) { + throw new SqlParseException(e); + } + return sqlNode; + } + + private static CatalogReader reader( + RelDataTypeFactory typeFactory, + Scope scope) { + // SQLTODO(catalog-reader-implementation) + // + // The current implementation assumes that the user will pass in all the headers they care about. When executing + // a SQL query, this means that either a) the user is explicit about the context they care about or b) all + // possible headers are collected. a) is not very user friendly and b) is inefficient. + // + // A potentially better model would be an interface where the caller could produce the TableHeaders on demand + // instead of requiring them all up-front. This would require implementing / wrapping + // org.apache.calcite.prepare.Prepare.CatalogReader which is possible, but non-trivial. There may also be + // boundary-crossing concerns wrt python. + if (!(scope instanceof ScopeStaticImpl)) { + throw new IllegalArgumentException( + "SQLTODO(catalog-reader-implementation): only ScopeStaticImpl is supported"); + } + final CalciteSchema schema = CalciteSchema.createRootSchema(true); + for (TableInformation info : ((ScopeStaticImpl) scope).tables()) { + if (info.qualifiedName().size() != 1) { + throw new UnsupportedOperationException("Only expecting qualified names with one part"); + } + schema.add(info.qualifiedName().get(0), new DeephavenTable(TypeAdapter.of(info.header(), typeFactory))); + } + final Properties props = new Properties(); + LexConfig.setLexProperties(props); + return new CalciteCatalogReader(schema, List.of(), typeFactory, new CalciteConnectionConfigImpl(props)); + } + + private static SqlValidator validator( + RelDataTypeFactory typeFactory, + CatalogReader catalogReader) { + // DH sorts nulls first when ascending and nulls last when descending; when the user / SQL string doesn't + // specify NULLS FIRST nor NULLS LAST, we should assume the DH-safe defaults. This aligns with + // NullCollation.LOW configuration. + final SqlValidator.Config config = SqlValidator.Config.DEFAULT.withDefaultNullCollation(NullCollation.LOW); + return SqlValidatorUtil.newValidator(SqlStdOperatorTable.instance(), catalogReader, typeFactory, config); + } + + private static RelNode convert( + RelDataTypeFactory typeFactory, + CatalogReader catalogReader, + SqlValidator validator, + SqlNode validNode) { + final RelOptCluster cluster = newCluster(typeFactory); + final SqlToRelConverter converter = new SqlToRelConverter( + ViewExpanders.simpleContext(cluster), + validator, + catalogReader, + cluster, + StandardConvertletTable.INSTANCE, + SqlToRelConverter.config()); + return converter.convertQuery(validNode, false, true).rel; + } + + private static RelOptCluster newCluster(RelDataTypeFactory factory) { + RelOptPlanner planner = new VolcanoPlanner(); + planner.addRelTraitDef(ConventionTraitDef.INSTANCE); + return RelOptCluster.create(planner, new RexBuilder(factory)); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/SqlParseException.java b/sql/src/main/java/io/deephaven/sql/SqlParseException.java new file mode 100644 index 00000000000..612be0a815c --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/SqlParseException.java @@ -0,0 +1,11 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +public final class SqlParseException extends RuntimeException { + + SqlParseException(org.apache.calcite.sql.parser.SqlParseException cause) { + super(cause); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/SqlRootContext.java b/sql/src/main/java/io/deephaven/sql/SqlRootContext.java new file mode 100644 index 00000000000..ea54f1cf38a --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/SqlRootContext.java @@ -0,0 +1,73 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import org.apache.calcite.rel.RelNode; + +import java.util.ArrayDeque; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Queue; + +final class SqlRootContext { + + public static SqlRootContext of(RelNode root, Scope scope) { + return new SqlRootContext(root, encounterOrder(root), scope); + } + + private final RelNode root; + private final Map repeatableId; + private final Scope scope; + + private SqlRootContext(RelNode root, Map repeatableId, Scope scope) { + this.root = Objects.requireNonNull(root); + this.repeatableId = Objects.requireNonNull(repeatableId); + this.scope = Objects.requireNonNull(scope); + } + + public RelNode root() { + return root; + } + + public Scope scope() { + return scope; + } + + public NamedAdapter namedAdapter() { + return new NamedAdapter(this); + } + + public IndexRef createIndexRef(Prefix context, RelNode node) { + // Calcite RelNode#getId is distinct for every relational expression that is created, even if the same SQL query + // string is parsed again. From a unit testing perspective, and a server cacheability perspective, we would + // prefer to assign consistent (internal) column names for the same SQL query string. + final String columnPrefix = context.prefix() + repeatableId(node) + "_"; + return new IndexRef(this, columnPrefix, 0); + } + + private int repeatableId(RelNode node) { + final Integer id = repeatableId.get(node); + if (id == null) { + throw new IllegalStateException( + "Unexpected error. Trying to get repeatable id from RelNode, but RelNode was not seen in #encounterOrder. Either the logic in #encounterOrder is not exhaustive, or this SqlRootContext is being used in an incorrect context."); + } + return id; + } + + private static Map encounterOrder(RelNode root) { + // Note: the specific traversal pattern is not important, it's just important that there is some repeatable + // pattern where we can assign a consistent id based on the rel node structures. + int encounterOrder = 0; + final Map order = new HashMap<>(); + final Queue toVisit = new ArrayDeque<>(); + toVisit.add(root); + RelNode current; + while ((current = toVisit.poll()) != null) { + order.put(current, encounterOrder++); + toVisit.addAll(current.getInputs()); + } + return order; + } +} diff --git a/sql/src/main/java/io/deephaven/sql/TableInformation.java b/sql/src/main/java/io/deephaven/sql/TableInformation.java new file mode 100644 index 00000000000..6eac6059b91 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/TableInformation.java @@ -0,0 +1,27 @@ +package io.deephaven.sql; + +import io.deephaven.annotations.SimpleStyle; +import io.deephaven.qst.table.TableHeader; +import io.deephaven.qst.table.TableSpec; +import org.immutables.value.Value.Immutable; +import org.immutables.value.Value.Parameter; + +import java.util.List; + +@Immutable +@SimpleStyle +public abstract class TableInformation { + + public static TableInformation of(List qualifiedName, TableHeader header, TableSpec spec) { + return ImmutableTableInformation.of(qualifiedName, header, spec); + } + + @Parameter + public abstract List qualifiedName(); + + @Parameter + public abstract TableHeader header(); + + @Parameter + public abstract TableSpec spec(); +} diff --git a/sql/src/main/java/io/deephaven/sql/TypeAdapter.java b/sql/src/main/java/io/deephaven/sql/TypeAdapter.java new file mode 100644 index 00000000000..101065a0a58 --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/TypeAdapter.java @@ -0,0 +1,132 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.sql; + +import io.deephaven.qst.column.header.ColumnHeader; +import io.deephaven.qst.table.TableHeader; +import io.deephaven.qst.type.ArrayType; +import io.deephaven.qst.type.BooleanType; +import io.deephaven.qst.type.ByteType; +import io.deephaven.qst.type.CharType; +import io.deephaven.qst.type.CustomType; +import io.deephaven.qst.type.DoubleType; +import io.deephaven.qst.type.FloatType; +import io.deephaven.qst.type.GenericType; +import io.deephaven.qst.type.InstantType; +import io.deephaven.qst.type.IntType; +import io.deephaven.qst.type.LongType; +import io.deephaven.qst.type.PrimitiveType; +import io.deephaven.qst.type.ShortType; +import io.deephaven.qst.type.StringType; +import io.deephaven.qst.type.Type; +import org.apache.calcite.rel.type.RelDataType; +import org.apache.calcite.rel.type.RelDataTypeFactory; +import org.apache.calcite.rel.type.RelDataTypeFactory.Builder; +import org.apache.calcite.sql.type.SqlTypeName; + +import java.util.Objects; + +final class TypeAdapter implements Type.Visitor, GenericType.Visitor, PrimitiveType.Visitor { + + public static RelDataType of(Type type, RelDataTypeFactory typeFactory) { + final TypeAdapter adapter = new TypeAdapter(typeFactory); + type.walk(adapter); + return Objects.requireNonNull(adapter.out); + } + + public static RelDataType of(TableHeader tableHeader, RelDataTypeFactory typeFactory) { + final Builder builder = new Builder(typeFactory); + for (ColumnHeader columnHeader : tableHeader) { + builder.add(columnHeader.name(), of(columnHeader.componentType(), typeFactory)); + } + return builder.build(); + } + + private final RelDataTypeFactory typeFactory; + private RelDataType out; + + private TypeAdapter(RelDataTypeFactory typeFactory) { + this.typeFactory = Objects.requireNonNull(typeFactory); + } + + @Override + public void visit(PrimitiveType primitiveType) { + primitiveType.walk((PrimitiveType.Visitor) this); + } + + @Override + public void visit(BooleanType booleanType) { + out = create(SqlTypeName.BOOLEAN); + } + + @Override + public void visit(ByteType byteType) { + out = create(SqlTypeName.TINYINT); + } + + @Override + public void visit(CharType charType) { + out = create(SqlTypeName.CHAR); + } + + @Override + public void visit(ShortType shortType) { + out = create(SqlTypeName.SMALLINT); + } + + @Override + public void visit(IntType intType) { + out = create(SqlTypeName.INTEGER); + } + + @Override + public void visit(LongType longType) { + out = create(SqlTypeName.BIGINT); + } + + @Override + public void visit(FloatType floatType) { + out = create(SqlTypeName.REAL); + } + + @Override + public void visit(DoubleType doubleType) { + out = create(SqlTypeName.DOUBLE); + } + + @Override + public void visit(GenericType genericType) { + genericType.walk((GenericType.Visitor) this); + } + + @Override + public void visit(StringType stringType) { + out = create(SqlTypeName.VARCHAR); + } + + @Override + public void visit(InstantType instantType) { + out = create(SqlTypeName.TIMESTAMP); + } + + @Override + public void visit(ArrayType arrayType) { + // SQLTODO(array-type) + throw new UnsupportedOperationException("SQLTODO(array-type)"); + } + + @Override + public void visit(CustomType customType) { + // SQLTODO(custom-type) + throw new UnsupportedOperationException("SQLTODO(custom-type)"); + } + + private RelDataType create(SqlTypeName typeName) { + return nullable(typeFactory.createSqlType(typeName)); + } + + private RelDataType nullable(RelDataType relDataType) { + return typeFactory.createTypeWithNullability(relDataType, true); + } +} diff --git a/sql/src/main/java/io/deephaven/sql/package-info.java b/sql/src/main/java/io/deephaven/sql/package-info.java new file mode 100644 index 00000000000..c2df344d77c --- /dev/null +++ b/sql/src/main/java/io/deephaven/sql/package-info.java @@ -0,0 +1,13 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +/** + * The {@link io.deephaven.sql} package allows a user to convert a SQL query into a + * {@link io.deephaven.qst.table.TableSpec}. + * + *

    + * Everything under this package should be considered experimental and subject to change. + * + * @see io.deephaven.sql.SqlAdapter + */ +package io.deephaven.sql; diff --git a/sql/src/test/java/io/deephaven/sql/SqlAdapterTest.java b/sql/src/test/java/io/deephaven/sql/SqlAdapterTest.java new file mode 100644 index 00000000000..b8a91f2de3a --- /dev/null +++ b/sql/src/test/java/io/deephaven/sql/SqlAdapterTest.java @@ -0,0 +1,329 @@ +package io.deephaven.sql; + +import io.deephaven.qst.column.header.ColumnHeader; +import io.deephaven.qst.table.Graphviz; +import io.deephaven.qst.table.TableHeader; +import io.deephaven.qst.table.TableSpec; +import io.deephaven.qst.table.TicketTable; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class SqlAdapterTest { + + private static final TableHeader AUTHORS = TableHeader.of( + ColumnHeader.ofInt("Id"), + ColumnHeader.ofString("Name")); + + private static final TableHeader BOOKS = TableHeader.of( + ColumnHeader.ofInt("Id"), + ColumnHeader.ofString("Title"), + ColumnHeader.ofInt("AuthorId")); + + private static final TableHeader LONG_I = TableHeader.of(ColumnHeader.ofLong("I")); + + private static final TableHeader TIB = TableHeader.of( + ColumnHeader.ofInstant("Timestamp"), + ColumnHeader.ofLong("I"), + ColumnHeader.ofBoolean("B")); + + private static final TableHeader TIR = TableHeader.of( + ColumnHeader.ofInstant("Timestamp"), + ColumnHeader.ofLong("I"), + ColumnHeader.ofDouble("R")); + + private static final TableHeader TIME1 = TableHeader.of(ColumnHeader.ofInstant("Time1")); + + private static final TableHeader TIME2 = TableHeader.of(ColumnHeader.ofInstant("Time2")); + + @Test + void sql1() throws IOException, URISyntaxException { + final Scope scope = scope( + "authors", AUTHORS, + "books", BOOKS); + check(scope, 1); + } + + @Test + void sql2() throws IOException, URISyntaxException { + final Scope scope = scope( + "authors", AUTHORS, + "books", BOOKS); + check(scope, 2); + } + + @Test + void sql3() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 3); + } + + @Test + void sql4() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 4); + } + + @Test + void sql5() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 5); + } + + @Test + void sql6() throws IOException, URISyntaxException { + final Scope scope = scope("longi", LONG_I); + check(scope, 6); + } + + @Test + void sql7() throws IOException, URISyntaxException { + final Scope scope = scope("longi", LONG_I); + check(scope, 7); + } + + @Test + void sql8() throws IOException, URISyntaxException { + final Scope scope = scope( + "authors", AUTHORS, + "books", BOOKS); + check(scope, 8); + } + + @Test + void sql9() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 9); + } + + @Test + void sql10() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 10); + } + + @Test + void sql11() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 11); + } + + @Test + void sql12() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 12); + } + + @Test + void sql13() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 13); + } + + @Test + void sql14() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 14); + } + + @Test + void sql15() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 15); + } + + @Test + void sql16() throws IOException, URISyntaxException { + final Scope scope = scope("my_time", TIB); + check(scope, 16); + } + + @Test + void sql17() throws IOException, URISyntaxException { + final Scope scope = scope( + "time_1", TIR, + "time_2", TIR, + "time_3", TIR); + check(scope, 17); + } + + @Test + void sql18() throws IOException, URISyntaxException { + final Scope scope = scope("my_time", TIB); + check(scope, 18); + } + + @Test + void sql19() throws IOException, URISyntaxException { + final Scope scope = scope( + "my_time_1", TIME1, + "my_time_2", TIME2); + check(scope, 19); + } + + @Test + void sql20() throws IOException, URISyntaxException { + final Scope scope = scope( + "my_time_1", TIME1, + "my_time_2", TIME2); + check(scope, 20); + } + + @Test + void sql21() throws IOException, URISyntaxException { + check(scope(), 21); + } + + @Test + void sql22() throws IOException, URISyntaxException { + check(scope(), 22); + } + + @Test + void sql23() throws IOException, URISyntaxException { + check(scope(), 23); + } + + @Test + void sql24() throws IOException, URISyntaxException { + check(scope(), 24); + } + + @Test + void sql25() throws IOException, URISyntaxException { + final Scope scope = scope("my_time", TIB); + check(scope, 25); + } + + @Test + void sql26() throws IOException, URISyntaxException { + final Scope scope = scope("my_time", TIB); + check(scope, 26); + } + + @Test + void sql27() throws IOException, URISyntaxException { + final Scope scope = scope("my_time", TIB); + check(scope, 27); + } + + @Test + void sql28() throws IOException, URISyntaxException { + final Scope scope = scope( + "authors", AUTHORS, + "books", BOOKS); + check(scope, 28); + } + + @Test + void sql29() throws IOException, URISyntaxException { + final Scope scope = scope( + "authors", AUTHORS, + "books", BOOKS); + check(scope, 29); + } + + @Test + void sql30() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 30); + } + + @Test + void sql31() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 31); + } + + @Test + void sql32() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 32); + } + + @Test + void sql33() throws IOException, URISyntaxException { + final Scope scope = scope("books", BOOKS); + check(scope, 33); + } + + @Test + void sql34() throws IOException, URISyntaxException { + final Scope scope = scope( + "authors", AUTHORS, + "books", BOOKS); + check(scope, 34); + } + + @Test + void sql35() throws IOException, URISyntaxException { + final Scope scope = scope(); + check(scope, 35); + } + + private static void check(Scope scope, int index) throws IOException, URISyntaxException { + check(scope, String.format("query-%d.sql", index), String.format("qst-%d.dot", index)); + } + + private static void check(Scope scope, String queryResource, String expectedResource) + throws IOException, URISyntaxException { + checkSql(expectedResource, read(queryResource), scope); + } + + private static void checkSql(String expectedResource, String sql, Scope scope) + throws IOException, URISyntaxException { + final TableSpec results = SqlAdapter.parseSql(sql, scope); + assertThat(Graphviz.toDot(results)).isEqualTo(read(expectedResource)); + // Note: we are *abusing* toDot() / postOrderWalk(), as we are assuming a stable order but the docs specifically + // say not to do that. Since we control the implementation, we can change the implementation to leverage the + // "stability" until we have a proper ser/deser format (json?) that we can use for TableSpec. The alternative is + // to manually create the TableSpecs in-code - which is possible, but would be tedious and verbose. + // + // Additionally, the dot format is somewhat human readable, and provides a good avenue for visualization + // purposes during the development and testing of SqlAdapter. + // + // assertThat(results).isEqualTo(readJsonToTableSpec(expectedResource)); + } + + private static String read(String resourceName) throws IOException, URISyntaxException { + return Files.readString(Path.of(SqlAdapterTest.class.getResource(resourceName).toURI())); + } + + private static Scope scope() { + return ScopeStaticImpl.empty(); + } + + private static Scope scope(String name, TableHeader header) { + return ScopeStaticImpl.builder() + .addTables(TableInformation.of(List.of(name), header, TicketTable.of("scan/" + name))) + .build(); + } + + private static Scope scope( + String name1, TableHeader header1, + String name2, TableHeader header2) { + return ScopeStaticImpl.builder() + .addTables( + TableInformation.of(List.of(name1), header1, TicketTable.of("scan/" + name1)), + TableInformation.of(List.of(name2), header2, TicketTable.of("scan/" + name2))) + .build(); + } + + private static Scope scope( + String name1, TableHeader header1, + String name2, TableHeader header2, + String name3, TableHeader header3) { + return ScopeStaticImpl.builder() + .addTables( + TableInformation.of(List.of(name1), header1, TicketTable.of("scan/" + name1)), + TableInformation.of(List.of(name2), header2, TicketTable.of("scan/" + name2)), + TableInformation.of(List.of(name3), header3, TicketTable.of("scan/" + name3))) + .build(); + } +} diff --git a/sql/src/test/resources/io/deephaven/sql/qst-1.dot b/sql/src/test/resources/io/deephaven/sql/qst-1.dot new file mode 100644 index 00000000000..05aa57a59f3 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-1.dot @@ -0,0 +1,13 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="ticketTable(scan/authors)"] +"op_2" ["label"="view(__p_0_0=Id,__p_0_1=Title,__p_0_2=AuthorId)"] +"op_3" ["label"="view(__p_0_3=Id,__p_0_4=Name)"] +"op_4" ["label"="join([__p_0_2==__p_0_3],[])"] +"op_5" ["label"="view(Id=__p_0_0,Title=__p_0_1,AuthorId=__p_0_2,Id0=__p_0_3,Name=__p_0_4)"] +"op_2" -> "op_0" +"op_3" -> "op_1" +"op_4" -> "op_2" ["label"="left"] +"op_4" -> "op_3" ["label"="right"] +"op_5" -> "op_4" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-10.dot b/sql/src/test/resources/io/deephaven/sql/qst-10.dot new file mode 100644 index 00000000000..cf3e762960d --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-10.dot @@ -0,0 +1,7 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_0_0=Id,__p_0_1=Title,__p_0_2=AuthorId)"] +"op_2" ["label"="view(AuthorId=__p_0_2,Title=__p_0_1,Id=__p_0_0)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-11.dot b/sql/src/test/resources/io/deephaven/sql/qst-11.dot new file mode 100644 index 00000000000..33087a7e58d --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-11.dot @@ -0,0 +1,9 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_1_0=Id,__p_1_1=Title,__p_1_2=AuthorId)"] +"op_2" ["label"="view(__a_0_0=__p_1_2)"] +"op_3" ["label"="aggBy([],[my_count = count, max_author_id = __a_0_0 aggregated with max])"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-12.dot b/sql/src/test/resources/io/deephaven/sql/qst-12.dot new file mode 100644 index 00000000000..5bd75bf846e --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-12.dot @@ -0,0 +1,11 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_2_0=Id,__p_2_1=Title,__p_2_2=AuthorId)"] +"op_2" ["label"="view(__a_1_0=__p_2_2,__a_1_1=__p_2_0)"] +"op_3" ["label"="aggBy([],[__p_0_0 = count, __p_0_1 = __a_1_0 aggregated with max, __p_0_2 = __a_1_1 aggregated with min, __p_0_3 = __a_1_1 aggregated with first, __p_0_4 = __a_1_1 aggregated with last, __p_0_5 = __a_1_1 aggregated with average])"] +"op_4" ["label"="view(my_count=__p_0_0,max_author_id=__p_0_1,min_id=__p_0_2,first_id=__p_0_3,last_id=__p_0_4,avg_id=__p_0_5,avg_id0=__p_0_5)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +"op_4" -> "op_3" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-13.dot b/sql/src/test/resources/io/deephaven/sql/qst-13.dot new file mode 100644 index 00000000000..3513e42ed55 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-13.dot @@ -0,0 +1,9 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_1_0=Id,__p_1_1=Title,__p_1_2=AuthorId)"] +"op_2" ["label"="view(__a_0_0=__p_1_2)"] +"op_3" ["label"="aggBy([],[my_count = __a_0_0 aggregated with count distinct (counting nulls)])"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-14.dot b/sql/src/test/resources/io/deephaven/sql/qst-14.dot new file mode 100644 index 00000000000..0029430cbc3 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-14.dot @@ -0,0 +1,13 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_2_0=Id,__p_2_1=Title,__p_2_2=AuthorId)"] +"op_2" ["label"="view(__a_1_0=__p_2_2,__a_1_1=__p_2_0)"] +"op_3" ["label"="aggBy([__a_1_0,__a_1_1],[__p_0_2 = count, __p_0_3 = __a_1_1 aggregated with sum])"] +"op_4" ["label"="view(__p_0_0=__a_1_0,__p_0_1=__a_1_1,__p_0_2,__p_0_3)"] +"op_5" ["label"="view(AuthorId=__p_0_0,mycount=__p_0_2,sum_id=__p_0_3)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +"op_4" -> "op_3" +"op_5" -> "op_4" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-15.dot b/sql/src/test/resources/io/deephaven/sql/qst-15.dot new file mode 100644 index 00000000000..fa01fd5922b --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-15.dot @@ -0,0 +1,9 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_1_0=Id,__p_1_1=Title,__p_1_2=AuthorId)"] +"op_2" ["label"="view(__a_0_0=__p_1_2,__a_0_1=__p_1_0)"] +"op_3" ["label"="aggBy([],[author_count = __a_0_0 aggregated with count distinct (counting nulls), id_count = __a_0_1 aggregated with count distinct (counting nulls)])"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-16.dot b/sql/src/test/resources/io/deephaven/sql/qst-16.dot new file mode 100644 index 00000000000..87bf08fa9cc --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-16.dot @@ -0,0 +1,7 @@ +digraph { +"op_0" ["label"="ticketTable(scan/my_time)"] +"op_1" ["label"="view(__p_0_0=Timestamp,__p_0_1=I,__p_0_2=B)"] +"op_2" ["label"="view(Timestamp=__p_0_0,I=__p_0_1,B=__p_0_2,math_i=minus(plus(__p_0_1, multiply((int)2, __p_0_1)), divide(__p_0_1, (int)2)),pi=java.lang.Math.PI,rand=java.lang.Math.random(),the_timestamp=java.time.Instant.now(),not_b=__p_0_2 != true,literal_true=true,literal_false=false,literal_long=1L,literal_int=(int)1,neg_i=-(__p_0_1),i_is_null=isNull(__p_0_1),i_is_not_null=!isNull(__p_0_1),b_is_null=isNull(__p_0_2),b_is_not_null=!isNull(__p_0_2),ln_i=log(__p_0_1),abs_i=abs(__p_0_1),sin_i=sin(__p_0_1),cos_i=cos(__p_0_1),tan_i=tan(__p_0_1),asin_i=asin(__p_0_1),acos_i=acos(__p_0_1),atan_i=atan(__p_0_1),sign_i=signum(__p_0_1),round_i=round(__p_0_1),ceil_i=ceil(__p_0_1),floor_i=floor(__p_0_1),exp_i=exp(__p_0_1))"] +"op_1" -> "op_0" +"op_2" -> "op_1" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-17.dot b/sql/src/test/resources/io/deephaven/sql/qst-17.dot new file mode 100644 index 00000000000..1d2412dc550 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-17.dot @@ -0,0 +1,21 @@ +digraph { +"op_0" ["label"="ticketTable(scan/time_3)"] +"op_1" ["label"="ticketTable(scan/time_1)"] +"op_2" ["label"="ticketTable(scan/time_2)"] +"op_3" ["label"="view(__p_0_6=Timestamp,__p_0_7=I,__p_0_8=R)"] +"op_4" ["label"="view(__p_0_0=Timestamp,__p_0_1=I,__p_0_2=R)"] +"op_5" ["label"="view(__p_0_3=Timestamp,__p_0_4=I,__p_0_5=R)"] +"op_6" ["label"="join([],[])"] +"op_7" ["label"="join([],[])"] +"op_8" ["label"="where((__p_0_1 == __p_0_4) && (__p_0_4 == __p_0_7) && (__p_0_2 <= __p_0_5) && (__p_0_5 <= __p_0_8))"] +"op_9" ["label"="view(Timestamp=__p_0_0,I=__p_0_1,R=__p_0_2,Timestamp0=__p_0_3,I0=__p_0_4,R0=__p_0_5,Timestamp1=__p_0_6,I1=__p_0_7,R1=__p_0_8)"] +"op_3" -> "op_0" +"op_4" -> "op_1" +"op_5" -> "op_2" +"op_6" -> "op_4" ["label"="left"] +"op_6" -> "op_5" ["label"="right"] +"op_7" -> "op_6" ["label"="left"] +"op_7" -> "op_3" ["label"="right"] +"op_8" -> "op_7" +"op_9" -> "op_8" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-18.dot b/sql/src/test/resources/io/deephaven/sql/qst-18.dot new file mode 100644 index 00000000000..3f1e3bff86d --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-18.dot @@ -0,0 +1,11 @@ +digraph { +"op_0" ["label"="ticketTable(scan/my_time)"] +"op_1" ["label"="view(__p_1_0=Timestamp,__p_1_1=I,__p_1_2=B)"] +"op_2" ["label"="view(B=__p_1_2,Timestamp=__p_1_0,I=__p_1_1)"] +"op_3" ["label"="sort([ASCENDING(B),DESCENDING(Timestamp)])"] +"op_4" ["label"="head(5)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +"op_4" -> "op_3" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-19.dot b/sql/src/test/resources/io/deephaven/sql/qst-19.dot new file mode 100644 index 00000000000..e185896122a --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-19.dot @@ -0,0 +1,19 @@ +digraph { +"op_0" ["label"="ticketTable(scan/my_time_1)"] +"op_1" ["label"="ticketTable(scan/my_time_2)"] +"op_2" ["label"="view(__p_3_0=Time1)"] +"op_3" ["label"="view(__p_4_0=Time2)"] +"op_4" ["label"="view(__p_1_0=__p_3_0,__p_1_1=(int)1)"] +"op_5" ["label"="view(__p_1_0=__p_4_0,__p_1_1=(int)2)"] +"op_6" ["label"="merge()"] +"op_7" ["label"="view(PARENT=__p_1_1,Timestamp=__p_1_0)"] +"op_8" ["label"="sort([ASCENDING(Timestamp)])"] +"op_2" -> "op_0" +"op_3" -> "op_1" +"op_4" -> "op_2" +"op_5" -> "op_3" +"op_6" -> "op_4" ["label"="0"] +"op_6" -> "op_5" ["label"="1"] +"op_7" -> "op_6" +"op_8" -> "op_7" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-2.dot b/sql/src/test/resources/io/deephaven/sql/qst-2.dot new file mode 100644 index 00000000000..6634e1a8983 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-2.dot @@ -0,0 +1,15 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="ticketTable(scan/authors)"] +"op_2" ["label"="view(__p_0_0=Id,__p_0_1=Title,__p_0_2=AuthorId)"] +"op_3" ["label"="view(__p_0_3=Id,__p_0_4=Name)"] +"op_4" ["label"="join([],[])"] +"op_5" ["label"="where(__p_0_2 == __p_0_3)"] +"op_6" ["label"="view(Id=__p_0_0,Title=__p_0_1,AuthorId=__p_0_2,Id0=__p_0_3,Name=__p_0_4)"] +"op_2" -> "op_0" +"op_3" -> "op_1" +"op_4" -> "op_2" ["label"="left"] +"op_4" -> "op_3" ["label"="right"] +"op_5" -> "op_4" +"op_6" -> "op_5" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-20.dot b/sql/src/test/resources/io/deephaven/sql/qst-20.dot new file mode 100644 index 00000000000..1cc12090279 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-20.dot @@ -0,0 +1,19 @@ +digraph { +"op_0" ["label"="ticketTable(scan/my_time_1)"] +"op_1" ["label"="ticketTable(scan/my_time_2)"] +"op_2" ["label"="view(__p_3_0=Time1)"] +"op_3" ["label"="view(__p_4_0=Time2)"] +"op_4" ["label"="view(__p_1_0=__p_3_0,__p_1_1=(int)1)"] +"op_5" ["label"="view(__p_1_0=__p_4_0,__p_1_1=(int)2)"] +"op_6" ["label"="merge()"] +"op_7" ["label"="view(Timestamp=__p_1_0,PARENT=__p_1_1)"] +"op_8" ["label"="sort([ASCENDING(Timestamp)])"] +"op_2" -> "op_0" +"op_3" -> "op_1" +"op_4" -> "op_2" +"op_5" -> "op_3" +"op_6" -> "op_4" ["label"="0"] +"op_6" -> "op_5" ["label"="1"] +"op_7" -> "op_6" +"op_8" -> "op_7" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-21.dot b/sql/src/test/resources/io/deephaven/sql/qst-21.dot new file mode 100644 index 00000000000..7e1297bbfff --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-21.dot @@ -0,0 +1,9 @@ +digraph { +"op_0" ["label"="newTable(3, TableHeader{headers={CoderId=io.deephaven.qst.type.IntType, FirstName=io.deephaven.qst.type.StringType, LastName=io.deephaven.qst.type.StringType}})"] +"op_1" ["label"="view(__p_0_0=CoderId,__p_0_1=FirstName,__p_0_2=LastName)"] +"op_2" ["label"="where(__p_0_0 == (int)2)"] +"op_3" ["label"="view(FirstName=__p_0_1,LastName=__p_0_2)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-22.dot b/sql/src/test/resources/io/deephaven/sql/qst-22.dot new file mode 100644 index 00000000000..3f8591b7f59 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-22.dot @@ -0,0 +1,3 @@ +digraph { +"op_0" ["label"="newTable(3, TableHeader{headers={EXPR$0=io.deephaven.qst.type.IntType, EXPR$1=io.deephaven.qst.type.StringType, EXPR$2=io.deephaven.qst.type.StringType}})"] +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-23.dot b/sql/src/test/resources/io/deephaven/sql/qst-23.dot new file mode 100644 index 00000000000..a7efbce6649 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-23.dot @@ -0,0 +1,13 @@ +digraph { +"op_0" ["label"="newTable(5, TableHeader{headers={olympiad=io.deephaven.qst.type.IntType, host_city=io.deephaven.qst.type.StringType}})"] +"op_1" ["label"="newTable(3, TableHeader{headers={host_city=io.deephaven.qst.type.StringType, country_name=io.deephaven.qst.type.StringType}})"] +"op_2" ["label"="view(__p_0_0=olympiad,__p_0_1=host_city)"] +"op_3" ["label"="view(__p_0_2=host_city,__p_0_3=country_name)"] +"op_4" ["label"="join([__p_0_1==__p_0_2],[])"] +"op_5" ["label"="view(olympiad=__p_0_0,host_city=__p_0_1,country_name=__p_0_3)"] +"op_2" -> "op_0" +"op_3" -> "op_1" +"op_4" -> "op_2" ["label"="left"] +"op_4" -> "op_3" ["label"="right"] +"op_5" -> "op_4" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-24.dot b/sql/src/test/resources/io/deephaven/sql/qst-24.dot new file mode 100644 index 00000000000..7ec2515991d --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-24.dot @@ -0,0 +1,7 @@ +digraph { +"op_0" ["label"="newTable(3, TableHeader{headers={a=io.deephaven.qst.type.IntType, b=io.deephaven.qst.type.StringType}})"] +"op_1" ["label"="view(__p_0_0=a,__p_0_1=b)"] +"op_2" ["label"="view(b=__p_0_1,a=__p_0_0)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-25.dot b/sql/src/test/resources/io/deephaven/sql/qst-25.dot new file mode 100644 index 00000000000..bebc849f684 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-25.dot @@ -0,0 +1,9 @@ +digraph { +"op_0" ["label"="ticketTable(scan/my_time)"] +"op_1" ["label"="view(__p_0_0=Timestamp,__p_0_1=I,__p_0_2=B)"] +"op_2" ["label"="where((__p_0_1 > (int)5) && (__p_0_1 < (int)10))"] +"op_3" ["label"="view(Timestamp=__p_0_0,I=__p_0_1,B=__p_0_2)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-26.dot b/sql/src/test/resources/io/deephaven/sql/qst-26.dot new file mode 100644 index 00000000000..77bb18d2d36 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-26.dot @@ -0,0 +1,9 @@ +digraph { +"op_0" ["label"="ticketTable(scan/my_time)"] +"op_1" ["label"="view(__p_0_0=Timestamp,__p_0_1=I,__p_0_2=B)"] +"op_2" ["label"="where(((plus(__p_0_1, (int)1) <= plus((int)5, (int)1)) || (__p_0_1 >= (int)10)) && !isNull(__p_0_1) && !isNull(__p_0_2))"] +"op_3" ["label"="view(Timestamp=__p_0_0,I=__p_0_1,B=__p_0_2)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-27.dot b/sql/src/test/resources/io/deephaven/sql/qst-27.dot new file mode 100644 index 00000000000..40c9922bffe --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-27.dot @@ -0,0 +1,9 @@ +digraph { +"op_0" ["label"="ticketTable(scan/my_time)"] +"op_1" ["label"="view(__p_0_0=Timestamp,__p_0_1=I,__p_0_2=B)"] +"op_2" ["label"="where((plus(__p_0_1, (int)1) <= (int)5) || (__p_0_1 >= (int)10))"] +"op_3" ["label"="view(Timestamp=__p_0_0,I=__p_0_1,B=__p_0_2)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-28.dot b/sql/src/test/resources/io/deephaven/sql/qst-28.dot new file mode 100644 index 00000000000..1cd88a6966d --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-28.dot @@ -0,0 +1,17 @@ +digraph { +"op_0" ["label"="ticketTable(scan/authors)"] +"op_1" ["label"="ticketTable(scan/books)"] +"op_2" ["label"="view(__p_0_4=Id,__p_0_5=Name)"] +"op_3" ["label"="view(__p_2_0=Id,__p_2_1=Title,__p_2_2=AuthorId)"] +"op_4" ["label"="view(__p_0_0=__p_2_0,__p_0_1=__p_2_1,__p_0_2=__p_2_2,__p_0_3=plus(__p_2_2, (int)1))"] +"op_5" ["label"="join([__p_0_3==__p_0_4],[])"] +"op_6" ["label"="where((__p_0_0 != __p_0_4) && (__p_0_0 == (int)1))"] +"op_7" ["label"="view(Id=__p_0_0,Title=__p_0_1,AuthorId=__p_0_2,Id0=__p_0_4,Name=__p_0_5)"] +"op_2" -> "op_0" +"op_3" -> "op_1" +"op_4" -> "op_3" +"op_5" -> "op_4" ["label"="left"] +"op_5" -> "op_2" ["label"="right"] +"op_6" -> "op_5" +"op_7" -> "op_6" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-29.dot b/sql/src/test/resources/io/deephaven/sql/qst-29.dot new file mode 100644 index 00000000000..05aa57a59f3 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-29.dot @@ -0,0 +1,13 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="ticketTable(scan/authors)"] +"op_2" ["label"="view(__p_0_0=Id,__p_0_1=Title,__p_0_2=AuthorId)"] +"op_3" ["label"="view(__p_0_3=Id,__p_0_4=Name)"] +"op_4" ["label"="join([__p_0_2==__p_0_3],[])"] +"op_5" ["label"="view(Id=__p_0_0,Title=__p_0_1,AuthorId=__p_0_2,Id0=__p_0_3,Name=__p_0_4)"] +"op_2" -> "op_0" +"op_3" -> "op_1" +"op_4" -> "op_2" ["label"="left"] +"op_4" -> "op_3" ["label"="right"] +"op_5" -> "op_4" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-3.dot b/sql/src/test/resources/io/deephaven/sql/qst-3.dot new file mode 100644 index 00000000000..12166ae9b5c --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-3.dot @@ -0,0 +1,7 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_0_0=Id,__p_0_1=Title,__p_0_2=AuthorId)"] +"op_2" ["label"="view(Id=__p_0_0,Title=__p_0_1,AuthorId=__p_0_2)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-30.dot b/sql/src/test/resources/io/deephaven/sql/qst-30.dot new file mode 100644 index 00000000000..53416e8d550 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-30.dot @@ -0,0 +1,11 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_1_0=Id,__p_1_1=Title,__p_1_2=AuthorId)"] +"op_2" ["label"="view(__a_0_0=__p_1_0,__a_0_1=__p_1_1,__a_0_2=__p_1_2)"] +"op_3" ["label"="selectDistinct(__a_0_0,__a_0_1,__a_0_2)"] +"op_4" ["label"="view(Id=__a_0_0,Title=__a_0_1,AuthorId=__a_0_2)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +"op_4" -> "op_3" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-31.dot b/sql/src/test/resources/io/deephaven/sql/qst-31.dot new file mode 100644 index 00000000000..b77fb2d8f6d --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-31.dot @@ -0,0 +1,11 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_1_0=Id,__p_1_1=Title,__p_1_2=AuthorId)"] +"op_2" ["label"="view(__a_0_0=__p_1_0)"] +"op_3" ["label"="selectDistinct(__a_0_0)"] +"op_4" ["label"="view(Id=__a_0_0)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +"op_4" -> "op_3" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-32.dot b/sql/src/test/resources/io/deephaven/sql/qst-32.dot new file mode 100644 index 00000000000..cdf97ef06d9 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-32.dot @@ -0,0 +1,11 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_1_0=Id,__p_1_1=Title,__p_1_2=AuthorId)"] +"op_2" ["label"="view(__a_0_0=plus(__p_1_0, (int)1),__a_0_1=__p_1_1)"] +"op_3" ["label"="selectDistinct(__a_0_0,__a_0_1)"] +"op_4" ["label"="view(EXPR$0=__a_0_0,Title=__a_0_1)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +"op_4" -> "op_3" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-33.dot b/sql/src/test/resources/io/deephaven/sql/qst-33.dot new file mode 100644 index 00000000000..6cd932e4cc3 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-33.dot @@ -0,0 +1,9 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_1_0=Id,__p_1_1=Title,__p_1_2=AuthorId)"] +"op_2" ["label"="view(Id=__p_1_0,Title=__p_1_1,AuthorId=__p_1_2)"] +"op_3" ["label"="head(42)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-34.dot b/sql/src/test/resources/io/deephaven/sql/qst-34.dot new file mode 100644 index 00000000000..ec1f137ab55 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-34.dot @@ -0,0 +1,15 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="ticketTable(scan/authors)"] +"op_2" ["label"="view(__p_0_0=Id,__p_0_1=Title,__p_0_2=AuthorId)"] +"op_3" ["label"="view(__p_0_3=Id,__p_0_4=Name)"] +"op_4" ["label"="join([],[])"] +"op_5" ["label"="where(isNull(__p_0_2) && isNull(__p_0_3))"] +"op_6" ["label"="view(Id=__p_0_0,Title=__p_0_1,AuthorId=__p_0_2,Id0=__p_0_3,Name=__p_0_4)"] +"op_2" -> "op_0" +"op_3" -> "op_1" +"op_4" -> "op_2" ["label"="left"] +"op_4" -> "op_3" ["label"="right"] +"op_5" -> "op_4" +"op_6" -> "op_5" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-35.dot b/sql/src/test/resources/io/deephaven/sql/qst-35.dot new file mode 100644 index 00000000000..a9d803d29ca --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-35.dot @@ -0,0 +1,3 @@ +digraph { +"op_0" ["label"="newTable(1, TableHeader{headers={literal_bool=io.deephaven.qst.type.BooleanType, literal_char=io.deephaven.qst.type.CharType, literal_str=io.deephaven.qst.type.StringType, literal_byte=io.deephaven.qst.type.ByteType, literal_small=io.deephaven.qst.type.ShortType, literal_int=io.deephaven.qst.type.IntType, literal_long=io.deephaven.qst.type.LongType, literal_float=io.deephaven.qst.type.FloatType, literal_double=io.deephaven.qst.type.DoubleType}})"] +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-4.dot b/sql/src/test/resources/io/deephaven/sql/qst-4.dot new file mode 100644 index 00000000000..64b75450616 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-4.dot @@ -0,0 +1,7 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_0_0=Id,__p_0_1=Title,__p_0_2=AuthorId)"] +"op_2" ["label"="view(Title=__p_0_1)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-5.dot b/sql/src/test/resources/io/deephaven/sql/qst-5.dot new file mode 100644 index 00000000000..69a05f38f17 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-5.dot @@ -0,0 +1,7 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_0_0=Id,__p_0_1=Title,__p_0_2=AuthorId)"] +"op_2" ["label"="view(book_title=__p_0_1,book_id=__p_0_0)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-6.dot b/sql/src/test/resources/io/deephaven/sql/qst-6.dot new file mode 100644 index 00000000000..08e09f423e4 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-6.dot @@ -0,0 +1,7 @@ +digraph { +"op_0" ["label"="ticketTable(scan/longi)"] +"op_1" ["label"="view(__p_0_0=I)"] +"op_2" ["label"="view(I=__p_0_0)"] +"op_1" -> "op_0" +"op_2" -> "op_1" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-7.dot b/sql/src/test/resources/io/deephaven/sql/qst-7.dot new file mode 100644 index 00000000000..0633b771833 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-7.dot @@ -0,0 +1,7 @@ +digraph { +"op_0" ["label"="ticketTable(scan/longi)"] +"op_1" ["label"="view(__p_0_0=I)"] +"op_2" ["label"="view(sin_i=sin(__p_0_0))"] +"op_1" -> "op_0" +"op_2" -> "op_1" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-8.dot b/sql/src/test/resources/io/deephaven/sql/qst-8.dot new file mode 100644 index 00000000000..c4ef9d1b5d1 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-8.dot @@ -0,0 +1,17 @@ +digraph { +"op_0" ["label"="ticketTable(scan/authors)"] +"op_1" ["label"="ticketTable(scan/books)"] +"op_2" ["label"="view(__p_2_0=Id,__p_2_1=Name)"] +"op_3" ["label"="view(__p_3_0=Id,__p_3_1=Title,__p_3_2=AuthorId)"] +"op_4" ["label"="view(__p_0_0=__p_2_1,__p_0_1=(int)1)"] +"op_5" ["label"="view(__p_0_0=__p_3_1,__p_0_1=(int)2)"] +"op_6" ["label"="merge()"] +"op_7" ["label"="view(source=__p_0_1,name=__p_0_0)"] +"op_2" -> "op_0" +"op_3" -> "op_1" +"op_4" -> "op_2" +"op_5" -> "op_3" +"op_6" -> "op_4" ["label"="0"] +"op_6" -> "op_5" ["label"="1"] +"op_7" -> "op_6" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/qst-9.dot b/sql/src/test/resources/io/deephaven/sql/qst-9.dot new file mode 100644 index 00000000000..5055b7c6d7b --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/qst-9.dot @@ -0,0 +1,9 @@ +digraph { +"op_0" ["label"="ticketTable(scan/books)"] +"op_1" ["label"="view(__p_1_0=Id,__p_1_1=Title,__p_1_2=AuthorId)"] +"op_2" ["label"="view(Title=__p_1_1,Id=__p_1_0)"] +"op_3" ["label"="sort([ASCENDING(Id)])"] +"op_1" -> "op_0" +"op_2" -> "op_1" +"op_3" -> "op_2" +} \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/query-1.sql b/sql/src/test/resources/io/deephaven/sql/query-1.sql new file mode 100644 index 00000000000..a302b3209dd --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-1.sql @@ -0,0 +1,5 @@ +SELECT + * +FROM + books + INNER JOIN authors ON AuthorId = authors.Id diff --git a/sql/src/test/resources/io/deephaven/sql/query-10.sql b/sql/src/test/resources/io/deephaven/sql/query-10.sql new file mode 100644 index 00000000000..43ea2c0d0b7 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-10.sql @@ -0,0 +1,6 @@ +SELECT + AuthorId, + Title, + Id +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-11.sql b/sql/src/test/resources/io/deephaven/sql/query-11.sql new file mode 100644 index 00000000000..990de24ad92 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-11.sql @@ -0,0 +1,5 @@ +SELECT + count(*) as my_count, + max(AuthorId) as max_author_id +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-12.sql b/sql/src/test/resources/io/deephaven/sql/query-12.sql new file mode 100644 index 00000000000..eb78a0fec9d --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-12.sql @@ -0,0 +1,10 @@ +SELECT + count(*) as my_count, + max(AuthorId) as max_author_id, + min(Id) as min_id, + FIRST_VALUE(Id) as first_id, + LAST_VALUE(Id) as last_id, + avg(Id) as avg_id, + avg(Id) as avg_id +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-13.sql b/sql/src/test/resources/io/deephaven/sql/query-13.sql new file mode 100644 index 00000000000..d6422494940 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-13.sql @@ -0,0 +1,4 @@ +SELECT + APPROX_COUNT_DISTINCT(AuthorId) as my_count +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-14.sql b/sql/src/test/resources/io/deephaven/sql/query-14.sql new file mode 100644 index 00000000000..a1f51480ebc --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-14.sql @@ -0,0 +1,9 @@ +SELECT + AuthorId, + count(*) as mycount, + sum(Id) as sum_id +FROM + books +GROUP BY + AuthorId, + Id diff --git a/sql/src/test/resources/io/deephaven/sql/query-15.sql b/sql/src/test/resources/io/deephaven/sql/query-15.sql new file mode 100644 index 00000000000..490b37d67ac --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-15.sql @@ -0,0 +1,5 @@ +SELECT + count(DISTINCT AuthorId) as author_count, + count(DISTINCT Id) as id_count +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-16.sql b/sql/src/test/resources/io/deephaven/sql/query-16.sql new file mode 100644 index 00000000000..49be72d1e5d --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-16.sql @@ -0,0 +1,34 @@ +SELECT + *, + I + 2 * I - I / 2 as math_i, + PI as pi, + RAND() as rand, + CURRENT_TIMESTAMP as the_timestamp, + NOT(B) as not_b, + TRUE as literal_true, + FALSE as literal_false, + CAST(1 as BIGINT) as literal_long, + CAST(1 as INTEGER) as literal_int, + - I as neg_i, + I IS NULL as i_is_null, + I IS NOT NULL as i_is_not_null, + B IS NULL as b_is_null, + B IS NOT NULL as b_is_not_null, + LN(I) as ln_i, + // LOG10(I) as log_10_i, + ABS(I) as abs_i, + SIN(I) as sin_i, + COS(I) as cos_i, + TAN(I) as tan_i, + ASIN(I) as asin_i, + ACOS(I) as acos_i, + ATAN(I) as atan_i, + SIGN(I) as sign_i, + ROUND(I) as round_i, + CEIL(I) as ceil_i, + FLOOR(I) as floor_i, + EXP(I) as exp_i + // UNKNOWN as literal_unknown, + // SQRT(I) as sqrt_i, +FROM + my_time diff --git a/sql/src/test/resources/io/deephaven/sql/query-17.sql b/sql/src/test/resources/io/deephaven/sql/query-17.sql new file mode 100644 index 00000000000..504975c4a30 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-17.sql @@ -0,0 +1,11 @@ +SELECT + * +FROM + time_1, + time_2, + time_3 +WHERE + time_1.I = time_2.I + AND time_2.I = time_3.I + AND time_1."R" <= time_2."R" + AND time_2."R" <= time_3."R" diff --git a/sql/src/test/resources/io/deephaven/sql/query-18.sql b/sql/src/test/resources/io/deephaven/sql/query-18.sql new file mode 100644 index 00000000000..33bb9395afc --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-18.sql @@ -0,0 +1,6 @@ +SELECT + "B", "Timestamp", "I" +FROM + my_time +ORDER BY B, "Timestamp" DESC +LIMIT 5 diff --git a/sql/src/test/resources/io/deephaven/sql/query-19.sql b/sql/src/test/resources/io/deephaven/sql/query-19.sql new file mode 100644 index 00000000000..aba28b276f3 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-19.sql @@ -0,0 +1,11 @@ +SELECT "PARENT", "Timestamp" FROM ( +SELECT + Time1 as "Timestamp", 1 as "PARENT" +FROM + my_time_1 +UNION ALL +SELECT + Time2 as "Timestamp", 2 as "PARENT" +FROM + my_time_2) +ORDER BY "Timestamp" diff --git a/sql/src/test/resources/io/deephaven/sql/query-2.sql b/sql/src/test/resources/io/deephaven/sql/query-2.sql new file mode 100644 index 00000000000..7a9487b01f1 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-2.sql @@ -0,0 +1,7 @@ +SELECT + * +FROM + books, + authors +WHERE + books.AuthorId = authors.Id diff --git a/sql/src/test/resources/io/deephaven/sql/query-20.sql b/sql/src/test/resources/io/deephaven/sql/query-20.sql new file mode 100644 index 00000000000..84a0c4fc08c --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-20.sql @@ -0,0 +1,10 @@ +SELECT + Time1 as "Timestamp", 1 as "PARENT" +FROM + my_time_1 +UNION ALL +SELECT + Time2 as "Timestamp", 2 as "PARENT" +FROM + my_time_2 +ORDER BY "Timestamp" diff --git a/sql/src/test/resources/io/deephaven/sql/query-21.sql b/sql/src/test/resources/io/deephaven/sql/query-21.sql new file mode 100644 index 00000000000..f6b4e1c8f3f --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-21.sql @@ -0,0 +1,12 @@ +SELECT + FirstName, + LastName +FROM + ( + VALUES + (1, 'Devin', 'Smith'), + (2, 'Colin', 'Alworth'), + (3, 'Ryan', 'Caudy') + ) AS Coders(CoderId, FirstName, LastName) +WHERE + CoderId = 2 diff --git a/sql/src/test/resources/io/deephaven/sql/query-22.sql b/sql/src/test/resources/io/deephaven/sql/query-22.sql new file mode 100644 index 00000000000..ee1968b6cc6 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-22.sql @@ -0,0 +1,4 @@ +VALUES + (1, 'Devin', 'Smith'), + (2, NULL, 'Alworth'), + (3, 'Ryan', NULL) diff --git a/sql/src/test/resources/io/deephaven/sql/query-23.sql b/sql/src/test/resources/io/deephaven/sql/query-23.sql new file mode 100644 index 00000000000..49f0a0316bf --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-23.sql @@ -0,0 +1,19 @@ +SELECT + olympics.olympiad, + olympics.host_city, + host_country.country_name +FROM + ( + VALUES + (2012, 'London'), + (2016, 'Rio de Janeiro'), + (2020, 'Tokyo'), + (2024, 'Paris'), + (2028, 'Los Angeles') + ) as olympics(olympiad, host_city) + INNER JOIN ( + VALUES + ('London', 'England'), + ('Rio de Janeiro', 'Brazil'), + ('Tokyo', 'Japan') + ) as host_country(host_city, country_name) ON host_country.host_city = olympics.host_city diff --git a/sql/src/test/resources/io/deephaven/sql/query-24.sql b/sql/src/test/resources/io/deephaven/sql/query-24.sql new file mode 100644 index 00000000000..11c08a23d64 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-24.sql @@ -0,0 +1,10 @@ +SELECT + MyTable.b, + a +FROM + ( + VALUES + (1, 'one'), + (2, NULL), + (3, 'three') + ) AS MyTable(a, b) diff --git a/sql/src/test/resources/io/deephaven/sql/query-25.sql b/sql/src/test/resources/io/deephaven/sql/query-25.sql new file mode 100644 index 00000000000..fb9af45d26c --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-25.sql @@ -0,0 +1,9 @@ +SELECT + * +FROM + my_time +WHERE + ( + I > 5 + and I < 10 + ) diff --git a/sql/src/test/resources/io/deephaven/sql/query-26.sql b/sql/src/test/resources/io/deephaven/sql/query-26.sql new file mode 100644 index 00000000000..196ab76a172 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-26.sql @@ -0,0 +1,11 @@ +SELECT + * +FROM + my_time +WHERE + ( + I + 1 <= 5 + 1 + or I >= 10 + ) + and (I IS NOT NULL) + and (B IS NOT NULL) diff --git a/sql/src/test/resources/io/deephaven/sql/query-27.sql b/sql/src/test/resources/io/deephaven/sql/query-27.sql new file mode 100644 index 00000000000..6a3833b2d28 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-27.sql @@ -0,0 +1,9 @@ +SELECT + * +FROM + my_time +WHERE + ( + I + 1 <= 5 + or I >= 10 + ) diff --git a/sql/src/test/resources/io/deephaven/sql/query-28.sql b/sql/src/test/resources/io/deephaven/sql/query-28.sql new file mode 100644 index 00000000000..f16c5effc6f --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-28.sql @@ -0,0 +1,7 @@ +SELECT + * +FROM + books + INNER JOIN authors ON AuthorId + 1 = authors.Id + AND books.Id <> authors.Id + AND books.Id = 1 \ No newline at end of file diff --git a/sql/src/test/resources/io/deephaven/sql/query-29.sql b/sql/src/test/resources/io/deephaven/sql/query-29.sql new file mode 100644 index 00000000000..c7cbeda66fa --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-29.sql @@ -0,0 +1,5 @@ +SELECT + * +FROM + books + INNER JOIN authors ON AuthorId IS NOT DISTINCT FROM authors.Id diff --git a/sql/src/test/resources/io/deephaven/sql/query-3.sql b/sql/src/test/resources/io/deephaven/sql/query-3.sql new file mode 100644 index 00000000000..435ed834c92 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-3.sql @@ -0,0 +1,4 @@ +SELECT + * +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-30.sql b/sql/src/test/resources/io/deephaven/sql/query-30.sql new file mode 100644 index 00000000000..a92fccf78b8 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-30.sql @@ -0,0 +1,4 @@ +SELECT DISTINCT + * +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-31.sql b/sql/src/test/resources/io/deephaven/sql/query-31.sql new file mode 100644 index 00000000000..b3b3cda7e04 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-31.sql @@ -0,0 +1,4 @@ +SELECT DISTINCT + Id +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-32.sql b/sql/src/test/resources/io/deephaven/sql/query-32.sql new file mode 100644 index 00000000000..9de2f13cf97 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-32.sql @@ -0,0 +1,4 @@ +SELECT DISTINCT + Id + 1, Title +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-33.sql b/sql/src/test/resources/io/deephaven/sql/query-33.sql new file mode 100644 index 00000000000..338963d2e9f --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-33.sql @@ -0,0 +1 @@ +SELECT * FROM books LIMIT 42 diff --git a/sql/src/test/resources/io/deephaven/sql/query-34.sql b/sql/src/test/resources/io/deephaven/sql/query-34.sql new file mode 100644 index 00000000000..67abb057177 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-34.sql @@ -0,0 +1,5 @@ +SELECT + * +FROM + books + INNER JOIN authors ON AuthorId IS NULL AND authors.Id IS NULL diff --git a/sql/src/test/resources/io/deephaven/sql/query-35.sql b/sql/src/test/resources/io/deephaven/sql/query-35.sql new file mode 100644 index 00000000000..3b998c71299 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-35.sql @@ -0,0 +1,10 @@ +SELECT + true as literal_bool, + 'c' as literal_char, + 'foo' as literal_str, + CAST(1 as TINYINT) as literal_byte, + CAST(1 as SMALLINT) as literal_small, + CAST(1 as INTEGER) as literal_int, + CAST(1 as BIGINT) as literal_long, + CAST(1 as REAL) as literal_float, + CAST(1 as DOUBLE) as literal_double diff --git a/sql/src/test/resources/io/deephaven/sql/query-4.sql b/sql/src/test/resources/io/deephaven/sql/query-4.sql new file mode 100644 index 00000000000..b0cc359191e --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-4.sql @@ -0,0 +1,4 @@ +SELECT + Title +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-5.sql b/sql/src/test/resources/io/deephaven/sql/query-5.sql new file mode 100644 index 00000000000..ef2f708b4a6 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-5.sql @@ -0,0 +1,5 @@ +SELECT + Title AS book_title, + Id as book_id +FROM + books diff --git a/sql/src/test/resources/io/deephaven/sql/query-6.sql b/sql/src/test/resources/io/deephaven/sql/query-6.sql new file mode 100644 index 00000000000..04251e682fd --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-6.sql @@ -0,0 +1,4 @@ +SELECT + "I" +FROM + longi diff --git a/sql/src/test/resources/io/deephaven/sql/query-7.sql b/sql/src/test/resources/io/deephaven/sql/query-7.sql new file mode 100644 index 00000000000..9fa9d6fdde1 --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-7.sql @@ -0,0 +1,4 @@ +SELECT + sin("I") as sin_i +FROM + longi diff --git a/sql/src/test/resources/io/deephaven/sql/query-8.sql b/sql/src/test/resources/io/deephaven/sql/query-8.sql new file mode 100644 index 00000000000..8e06406587c --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-8.sql @@ -0,0 +1,17 @@ +SELECT + source, + name +FROM + ( + SELECT + Name AS name, + 1 AS source + FROM + authors + UNION ALL + SELECT + Title AS name, + 2 AS source + FROM + books + ) diff --git a/sql/src/test/resources/io/deephaven/sql/query-9.sql b/sql/src/test/resources/io/deephaven/sql/query-9.sql new file mode 100644 index 00000000000..d2a5aaf778f --- /dev/null +++ b/sql/src/test/resources/io/deephaven/sql/query-9.sql @@ -0,0 +1,6 @@ +SELECT + Title +FROM + books +ORDER BY + Id From a6fa5a17bd4e350d7c06228d96dcf9039d3e7a79 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Fri, 2 Jun 2023 09:35:19 -0700 Subject: [PATCH 10/13] Remove special case for DateTime (#3913) --- engine/sql/src/main/java/io/deephaven/engine/sql/Sql.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/engine/sql/src/main/java/io/deephaven/engine/sql/Sql.java b/engine/sql/src/main/java/io/deephaven/engine/sql/Sql.java index 6a7431faf10..9fd5af47723 100644 --- a/engine/sql/src/main/java/io/deephaven/engine/sql/Sql.java +++ b/engine/sql/src/main/java/io/deephaven/engine/sql/Sql.java @@ -21,7 +21,6 @@ import io.deephaven.sql.ScopeStaticImpl; import io.deephaven.sql.SqlAdapter; import io.deephaven.sql.TableInformation; -import io.deephaven.time.DateTime; import io.deephaven.util.annotations.ScriptApi; import java.util.HashMap; @@ -106,9 +105,6 @@ private static TableHeader adapt(TableDefinition tableDef) { private static ColumnHeader adapt(ColumnDefinition columnDef) { if (columnDef.getComponentType() == null) { - if (DateTime.class.equals(columnDef.getDataType())) { - return ColumnHeader.ofInstant(columnDef.getName()); - } return ColumnHeader.of(columnDef.getName(), columnDef.getDataType()); } // SQLTODO(array-type) From ccc3e4577050309dc1e058dbde30a9151a634b89 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Fri, 2 Jun 2023 09:52:57 -0700 Subject: [PATCH 11/13] Add and plumb AjRajTablesRequest (#3909) --- .../TableServiceContextualAuthWiring.java | 53 +- .../proto/deephaven/proto/table.grpc.pb.cc | 138 +- .../proto/deephaven/proto/table.grpc.pb.h | 588 ++- .../client/proto/deephaven/proto/table.pb.cc | 1934 +++++--- .../client/proto/deephaven/proto/table.pb.h | 1075 ++++- go/internal/proto/table/table.pb.go | 4254 +++++++++-------- go/internal/proto/table/table_grpc.pb.go | 85 + .../client/impl/BatchTableRequestBuilder.java | 44 +- .../deephaven/proto/util/OperationHelper.java | 4 + .../main/proto/deephaven/proto/table.proto | 36 +- py/client/pydeephaven/proto/table_pb2.py | 316 +- py/client/pydeephaven/proto/table_pb2_grpc.py | 72 + .../io/deephaven/qst/table/AsOfJoinTable.java | 8 + .../deephaven/server/table/TableModule.java | 13 + .../server/table/ops/AjRajGrpcImpl.java | 116 + .../server/table/ops/JoinTablesGrpcImpl.java | 6 +- .../table/ops/TableServiceGrpcImpl.java | 11 + .../table/ops/AsOfJoinGrpcTestBase.java | 204 + .../server/table/ops/WhereInGrpcTest.java | 10 - .../java/io/deephaven/api/AsOfJoinMatch.java | 22 + 20 files changed, 5847 insertions(+), 3142 deletions(-) create mode 100644 server/src/main/java/io/deephaven/server/table/ops/AjRajGrpcImpl.java create mode 100644 server/src/test/java/io/deephaven/server/table/ops/AsOfJoinGrpcTestBase.java diff --git a/authorization/src/main/java/io/deephaven/auth/codegen/impl/TableServiceContextualAuthWiring.java b/authorization/src/main/java/io/deephaven/auth/codegen/impl/TableServiceContextualAuthWiring.java index 2a20ac0f792..02b8d058151 100644 --- a/authorization/src/main/java/io/deephaven/auth/codegen/impl/TableServiceContextualAuthWiring.java +++ b/authorization/src/main/java/io/deephaven/auth/codegen/impl/TableServiceContextualAuthWiring.java @@ -12,6 +12,7 @@ import io.deephaven.engine.table.Table; import io.deephaven.proto.backplane.grpc.AggregateAllRequest; import io.deephaven.proto.backplane.grpc.AggregateRequest; +import io.deephaven.proto.backplane.grpc.AjRajTablesRequest; import io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest; import io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest; import io.deephaven.proto.backplane.grpc.ComboAggregateRequest; @@ -348,6 +349,28 @@ void checkPermissionLeftJoinTables(AuthContext authContext, LeftJoinTablesReques void checkPermissionAsOfJoinTables(AuthContext authContext, AsOfJoinTablesRequest request, List

    sourceTables); + /** + * Authorize a request to AjTables. + * + * @param authContext the authentication context of the request + * @param request the request to authorize + * @param sourceTables the operation's source tables + * @throws io.grpc.StatusRuntimeException if the user is not authorized to invoke AjTables + */ + void checkPermissionAjTables(AuthContext authContext, AjRajTablesRequest request, + List
    sourceTables); + + /** + * Authorize a request to RajTables. + * + * @param authContext the authentication context of the request + * @param request the request to authorize + * @param sourceTables the operation's source tables + * @throws io.grpc.StatusRuntimeException if the user is not authorized to invoke RajTables + */ + void checkPermissionRajTables(AuthContext authContext, AjRajTablesRequest request, + List
    sourceTables); + /** * Authorize a request to RangeJoinTables. * @@ -632,12 +655,21 @@ public void checkPermissionAsOfJoinTables(AuthContext authContext, checkPermission(authContext, sourceTables); } - @Override - public void checkPermissionRangeJoinTables(AuthContext authContext, RangeJoinTablesRequest request, + public void checkPermissionAjTables(AuthContext authContext, AjRajTablesRequest request, List
    sourceTables) { checkPermission(authContext, sourceTables); } + public void checkPermissionRajTables(AuthContext authContext, AjRajTablesRequest request, + List
    sourceTables) { + checkPermission(authContext, sourceTables); + } + + public void checkPermissionRangeJoinTables(AuthContext authContext, + RangeJoinTablesRequest request, List
    sourceTables) { + checkPermission(authContext, sourceTables); + } + public void checkPermissionComboAggregate(AuthContext authContext, ComboAggregateRequest request, List
    sourceTables) { checkPermission(authContext, sourceTables); @@ -909,9 +941,22 @@ public void checkPermissionAsOfJoinTables(AuthContext authContext, } } - @Override - public void checkPermissionRangeJoinTables(AuthContext authContext, RangeJoinTablesRequest request, + public void checkPermissionAjTables(AuthContext authContext, AjRajTablesRequest request, List
    sourceTables) { + if (delegate != null) { + delegate.checkPermissionAjTables(authContext, request, sourceTables); + } + } + + public void checkPermissionRajTables(AuthContext authContext, AjRajTablesRequest request, + List
    sourceTables) { + if (delegate != null) { + delegate.checkPermissionRajTables(authContext, request, sourceTables); + } + } + + public void checkPermissionRangeJoinTables(AuthContext authContext, + RangeJoinTablesRequest request, List
    sourceTables) { if (delegate != null) { delegate.checkPermissionRangeJoinTables(authContext, request, sourceTables); } diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.cc b/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.cc index 19caa6d46c3..38f188b66f5 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.cc +++ b/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.cc @@ -53,6 +53,8 @@ static const char* TableService_method_names[] = { "/io.deephaven.proto.backplane.grpc.TableService/ExactJoinTables", "/io.deephaven.proto.backplane.grpc.TableService/LeftJoinTables", "/io.deephaven.proto.backplane.grpc.TableService/AsOfJoinTables", + "/io.deephaven.proto.backplane.grpc.TableService/AjTables", + "/io.deephaven.proto.backplane.grpc.TableService/RajTables", "/io.deephaven.proto.backplane.grpc.TableService/RangeJoinTables", "/io.deephaven.proto.backplane.grpc.TableService/ComboAggregate", "/io.deephaven.proto.backplane.grpc.TableService/AggregateAll", @@ -103,20 +105,22 @@ TableService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& chann , rpcmethod_ExactJoinTables_(TableService_method_names[24], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_LeftJoinTables_(TableService_method_names[25], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_AsOfJoinTables_(TableService_method_names[26], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_RangeJoinTables_(TableService_method_names[27], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_ComboAggregate_(TableService_method_names[28], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_AggregateAll_(TableService_method_names[29], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Aggregate_(TableService_method_names[30], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Snapshot_(TableService_method_names[31], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_SnapshotWhen_(TableService_method_names[32], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Flatten_(TableService_method_names[33], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_RunChartDownsample_(TableService_method_names[34], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_CreateInputTable_(TableService_method_names[35], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_WhereIn_(TableService_method_names[36], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Batch_(TableService_method_names[37], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) - , rpcmethod_ExportedTableUpdates_(TableService_method_names[38], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) - , rpcmethod_SeekRow_(TableService_method_names[39], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_MetaTable_(TableService_method_names[40], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_AjTables_(TableService_method_names[27], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_RajTables_(TableService_method_names[28], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_RangeJoinTables_(TableService_method_names[29], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_ComboAggregate_(TableService_method_names[30], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_AggregateAll_(TableService_method_names[31], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Aggregate_(TableService_method_names[32], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Snapshot_(TableService_method_names[33], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SnapshotWhen_(TableService_method_names[34], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Flatten_(TableService_method_names[35], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_RunChartDownsample_(TableService_method_names[36], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_CreateInputTable_(TableService_method_names[37], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_WhereIn_(TableService_method_names[38], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Batch_(TableService_method_names[39], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) + , rpcmethod_ExportedTableUpdates_(TableService_method_names[40], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) + , rpcmethod_SeekRow_(TableService_method_names[41], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_MetaTable_(TableService_method_names[42], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} ::grpc::Status TableService::Stub::GetExportedTableCreationResponse(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::Ticket& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { @@ -740,6 +744,52 @@ ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::Expo return result; } +::grpc::Status TableService::Stub::AjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_AjTables_, context, request, response); +} + +void TableService::Stub::async::AjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AjTables_, context, request, response, std::move(f)); +} + +void TableService::Stub::async::AjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AjTables_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* TableService::Stub::PrepareAsyncAjTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_AjTables_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* TableService::Stub::AsyncAjTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncAjTablesRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status TableService::Stub::RajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_RajTables_, context, request, response); +} + +void TableService::Stub::async::RajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_RajTables_, context, request, response, std::move(f)); +} + +void TableService::Stub::async::RajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_RajTables_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* TableService::Stub::PrepareAsyncRajTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_RajTables_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* TableService::Stub::AsyncRajTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncRajTablesRaw(context, request, cq); + result->StartCall(); + return result; +} + ::grpc::Status TableService::Stub::RangeJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return ::grpc::internal::BlockingUnaryCall< ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_RangeJoinTables_, context, request, response); } @@ -1322,6 +1372,26 @@ TableService::Service::Service() { AddMethod(new ::grpc::internal::RpcServiceMethod( TableService_method_names[27], ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TableService::Service* service, + ::grpc::ServerContext* ctx, + const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* req, + ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* resp) { + return service->AjTables(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + TableService_method_names[28], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TableService::Service* service, + ::grpc::ServerContext* ctx, + const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* req, + ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* resp) { + return service->RajTables(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + TableService_method_names[29], + ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, ::grpc::ServerContext* ctx, @@ -1330,7 +1400,7 @@ TableService::Service::Service() { return service->RangeJoinTables(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[28], + TableService_method_names[30], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::ComboAggregateRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1340,7 +1410,7 @@ TableService::Service::Service() { return service->ComboAggregate(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[29], + TableService_method_names[31], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::AggregateAllRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1350,7 +1420,7 @@ TableService::Service::Service() { return service->AggregateAll(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[30], + TableService_method_names[32], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::AggregateRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1360,7 +1430,7 @@ TableService::Service::Service() { return service->Aggregate(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[31], + TableService_method_names[33], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::SnapshotTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1370,7 +1440,7 @@ TableService::Service::Service() { return service->Snapshot(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[32], + TableService_method_names[34], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1380,7 +1450,7 @@ TableService::Service::Service() { return service->SnapshotWhen(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[33], + TableService_method_names[35], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::FlattenRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1390,7 +1460,7 @@ TableService::Service::Service() { return service->Flatten(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[34], + TableService_method_names[36], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1400,7 +1470,7 @@ TableService::Service::Service() { return service->RunChartDownsample(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[35], + TableService_method_names[37], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::CreateInputTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1410,7 +1480,7 @@ TableService::Service::Service() { return service->CreateInputTable(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[36], + TableService_method_names[38], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::WhereInRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1420,7 +1490,7 @@ TableService::Service::Service() { return service->WhereIn(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[37], + TableService_method_names[39], ::grpc::internal::RpcMethod::SERVER_STREAMING, new ::grpc::internal::ServerStreamingHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::BatchTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [](TableService::Service* service, @@ -1430,7 +1500,7 @@ TableService::Service::Service() { return service->Batch(ctx, req, writer); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[38], + TableService_method_names[40], ::grpc::internal::RpcMethod::SERVER_STREAMING, new ::grpc::internal::ServerStreamingHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::ExportedTableUpdatesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableUpdateMessage>( [](TableService::Service* service, @@ -1440,7 +1510,7 @@ TableService::Service::Service() { return service->ExportedTableUpdates(ctx, req, writer); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[39], + TableService_method_names[41], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::SeekRowRequest, ::io::deephaven::proto::backplane::grpc::SeekRowResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1450,7 +1520,7 @@ TableService::Service::Service() { return service->SeekRow(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - TableService_method_names[40], + TableService_method_names[42], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](TableService::Service* service, @@ -1653,6 +1723,20 @@ ::grpc::Status TableService::Service::AsOfJoinTables(::grpc::ServerContext* cont return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } +::grpc::Status TableService::Service::AjTables(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status TableService::Service::RajTables(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + ::grpc::Status TableService::Service::RangeJoinTables(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { (void) context; (void) request; diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.h b/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.h index 6cdd8940ae0..b3c1721a96c 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.h +++ b/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.h @@ -279,6 +279,8 @@ class TableService final { } // // Returns the result of an as of join operation. + // + // Deprecated: Please use AjTables or RajTables. virtual ::grpc::Status AsOfJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) = 0; std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> AsyncAsOfJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(AsyncAsOfJoinTablesRaw(context, request, cq)); @@ -287,6 +289,24 @@ class TableService final { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(PrepareAsyncAsOfJoinTablesRaw(context, request, cq)); } // + // Returns the result of an aj operation. + virtual ::grpc::Status AjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> AsyncAjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(AsyncAjTablesRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> PrepareAsyncAjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(PrepareAsyncAjTablesRaw(context, request, cq)); + } + // + // Returns the result of an raj operation. + virtual ::grpc::Status RajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> AsyncRajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(AsyncRajTablesRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> PrepareAsyncRajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(PrepareAsyncRajTablesRaw(context, request, cq)); + } + // // Returns the result of a range join operation. virtual ::grpc::Status RangeJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) = 0; std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> AsyncRangeJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& request, ::grpc::CompletionQueue* cq) { @@ -546,9 +566,19 @@ class TableService final { virtual void LeftJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::LeftJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; // // Returns the result of an as of join operation. + // + // Deprecated: Please use AjTables or RajTables. virtual void AsOfJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) = 0; virtual void AsOfJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; // + // Returns the result of an aj operation. + virtual void AjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) = 0; + virtual void AjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + // + // Returns the result of an raj operation. + virtual void RajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) = 0; + virtual void RajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + // // Returns the result of a range join operation. virtual void RangeJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) = 0; virtual void RangeJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; @@ -681,6 +711,10 @@ class TableService final { virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncLeftJoinTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::LeftJoinTablesRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncAsOfJoinTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncAsOfJoinTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncAjTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncAjTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncRajTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncRajTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncRangeJoinTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncRangeJoinTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncComboAggregateRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::ComboAggregateRequest& request, ::grpc::CompletionQueue* cq) = 0; @@ -904,6 +938,20 @@ class TableService final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> PrepareAsyncAsOfJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(PrepareAsyncAsOfJoinTablesRaw(context, request, cq)); } + ::grpc::Status AjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> AsyncAjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(AsyncAjTablesRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> PrepareAsyncAjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(PrepareAsyncAjTablesRaw(context, request, cq)); + } + ::grpc::Status RajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> AsyncRajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(AsyncRajTablesRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> PrepareAsyncRajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(PrepareAsyncRajTablesRaw(context, request, cq)); + } ::grpc::Status RangeJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) override; std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> AsyncRangeJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(AsyncRangeJoinTablesRaw(context, request, cq)); @@ -1063,6 +1111,10 @@ class TableService final { void LeftJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::LeftJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) override; void AsOfJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) override; void AsOfJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void AjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) override; + void AjTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void RajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) override; + void RajTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) override; void RangeJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) override; void RangeJoinTables(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) override; void ComboAggregate(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::ComboAggregateRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) override; @@ -1154,6 +1206,10 @@ class TableService final { ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncLeftJoinTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::LeftJoinTablesRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncAsOfJoinTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncAsOfJoinTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncAjTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncAjTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncRajTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncRajTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncRangeJoinTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncRangeJoinTablesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncComboAggregateRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::ComboAggregateRequest& request, ::grpc::CompletionQueue* cq) override; @@ -1211,6 +1267,8 @@ class TableService final { const ::grpc::internal::RpcMethod rpcmethod_ExactJoinTables_; const ::grpc::internal::RpcMethod rpcmethod_LeftJoinTables_; const ::grpc::internal::RpcMethod rpcmethod_AsOfJoinTables_; + const ::grpc::internal::RpcMethod rpcmethod_AjTables_; + const ::grpc::internal::RpcMethod rpcmethod_RajTables_; const ::grpc::internal::RpcMethod rpcmethod_RangeJoinTables_; const ::grpc::internal::RpcMethod rpcmethod_ComboAggregate_; const ::grpc::internal::RpcMethod rpcmethod_AggregateAll_; @@ -1313,8 +1371,16 @@ class TableService final { virtual ::grpc::Status LeftJoinTables(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::LeftJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response); // // Returns the result of an as of join operation. + // + // Deprecated: Please use AjTables or RajTables. virtual ::grpc::Status AsOfJoinTables(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response); // + // Returns the result of an aj operation. + virtual ::grpc::Status AjTables(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response); + // + // Returns the result of an raj operation. + virtual ::grpc::Status RajTables(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response); + // // Returns the result of a range join operation. virtual ::grpc::Status RangeJoinTables(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response); // @@ -1918,12 +1984,52 @@ class TableService final { } }; template + class WithAsyncMethod_AjTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_AjTables() { + ::grpc::Service::MarkMethodAsync(27); + } + ~WithAsyncMethod_AjTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AjTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestAjTables(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_RajTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_RajTables() { + ::grpc::Service::MarkMethodAsync(28); + } + ~WithAsyncMethod_RajTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status RajTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestRajTables(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithAsyncMethod_RangeJoinTables : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_RangeJoinTables() { - ::grpc::Service::MarkMethodAsync(27); + ::grpc::Service::MarkMethodAsync(29); } ~WithAsyncMethod_RangeJoinTables() override { BaseClassMustBeDerivedFromService(this); @@ -1934,7 +2040,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestRangeJoinTables(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1943,7 +2049,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_ComboAggregate() { - ::grpc::Service::MarkMethodAsync(28); + ::grpc::Service::MarkMethodAsync(30); } ~WithAsyncMethod_ComboAggregate() override { BaseClassMustBeDerivedFromService(this); @@ -1954,7 +2060,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestComboAggregate(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::ComboAggregateRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1963,7 +2069,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_AggregateAll() { - ::grpc::Service::MarkMethodAsync(29); + ::grpc::Service::MarkMethodAsync(31); } ~WithAsyncMethod_AggregateAll() override { BaseClassMustBeDerivedFromService(this); @@ -1974,7 +2080,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestAggregateAll(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::AggregateAllRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1983,7 +2089,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Aggregate() { - ::grpc::Service::MarkMethodAsync(30); + ::grpc::Service::MarkMethodAsync(32); } ~WithAsyncMethod_Aggregate() override { BaseClassMustBeDerivedFromService(this); @@ -1994,7 +2100,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestAggregate(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::AggregateRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2003,7 +2109,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Snapshot() { - ::grpc::Service::MarkMethodAsync(31); + ::grpc::Service::MarkMethodAsync(33); } ~WithAsyncMethod_Snapshot() override { BaseClassMustBeDerivedFromService(this); @@ -2014,7 +2120,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSnapshot(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::SnapshotTableRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2023,7 +2129,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_SnapshotWhen() { - ::grpc::Service::MarkMethodAsync(32); + ::grpc::Service::MarkMethodAsync(34); } ~WithAsyncMethod_SnapshotWhen() override { BaseClassMustBeDerivedFromService(this); @@ -2034,7 +2140,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSnapshotWhen(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2043,7 +2149,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Flatten() { - ::grpc::Service::MarkMethodAsync(33); + ::grpc::Service::MarkMethodAsync(35); } ~WithAsyncMethod_Flatten() override { BaseClassMustBeDerivedFromService(this); @@ -2054,7 +2160,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestFlatten(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::FlattenRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2063,7 +2169,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_RunChartDownsample() { - ::grpc::Service::MarkMethodAsync(34); + ::grpc::Service::MarkMethodAsync(36); } ~WithAsyncMethod_RunChartDownsample() override { BaseClassMustBeDerivedFromService(this); @@ -2074,7 +2180,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestRunChartDownsample(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2083,7 +2189,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_CreateInputTable() { - ::grpc::Service::MarkMethodAsync(35); + ::grpc::Service::MarkMethodAsync(37); } ~WithAsyncMethod_CreateInputTable() override { BaseClassMustBeDerivedFromService(this); @@ -2094,7 +2200,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCreateInputTable(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::CreateInputTableRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(37, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2103,7 +2209,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_WhereIn() { - ::grpc::Service::MarkMethodAsync(36); + ::grpc::Service::MarkMethodAsync(38); } ~WithAsyncMethod_WhereIn() override { BaseClassMustBeDerivedFromService(this); @@ -2114,7 +2220,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestWhereIn(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::WhereInRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(38, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2123,7 +2229,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Batch() { - ::grpc::Service::MarkMethodAsync(37); + ::grpc::Service::MarkMethodAsync(39); } ~WithAsyncMethod_Batch() override { BaseClassMustBeDerivedFromService(this); @@ -2134,7 +2240,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestBatch(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::BatchTableRequest* request, ::grpc::ServerAsyncWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncServerStreaming(37, context, request, writer, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncServerStreaming(39, context, request, writer, new_call_cq, notification_cq, tag); } }; template @@ -2143,7 +2249,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_ExportedTableUpdates() { - ::grpc::Service::MarkMethodAsync(38); + ::grpc::Service::MarkMethodAsync(40); } ~WithAsyncMethod_ExportedTableUpdates() override { BaseClassMustBeDerivedFromService(this); @@ -2154,7 +2260,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestExportedTableUpdates(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::ExportedTableUpdatesRequest* request, ::grpc::ServerAsyncWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableUpdateMessage>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncServerStreaming(38, context, request, writer, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncServerStreaming(40, context, request, writer, new_call_cq, notification_cq, tag); } }; template @@ -2163,7 +2269,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_SeekRow() { - ::grpc::Service::MarkMethodAsync(39); + ::grpc::Service::MarkMethodAsync(41); } ~WithAsyncMethod_SeekRow() override { BaseClassMustBeDerivedFromService(this); @@ -2174,7 +2280,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSeekRow(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::SeekRowRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::SeekRowResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(39, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(41, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2183,7 +2289,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_MetaTable() { - ::grpc::Service::MarkMethodAsync(40); + ::grpc::Service::MarkMethodAsync(42); } ~WithAsyncMethod_MetaTable() override { BaseClassMustBeDerivedFromService(this); @@ -2194,10 +2300,10 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestMetaTable(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(40, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(42, context, request, response, new_call_cq, notification_cq, tag); } }; - typedef WithAsyncMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; + typedef WithAsyncMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; template class WithCallbackMethod_GetExportedTableCreationResponse : public BaseClass { private: @@ -2928,18 +3034,72 @@ class TableService final { ::grpc::CallbackServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) { return nullptr; } }; template + class WithCallbackMethod_AjTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_AjTables() { + ::grpc::Service::MarkMethodCallback(27, + new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->AjTables(context, request, response); }));} + void SetMessageAllocatorFor_AjTables( + ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(27); + static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_AjTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AjTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* AjTables( + ::grpc::CallbackServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_RajTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_RajTables() { + ::grpc::Service::MarkMethodCallback(28, + new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->RajTables(context, request, response); }));} + void SetMessageAllocatorFor_RajTables( + ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(28); + static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_RajTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status RajTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* RajTables( + ::grpc::CallbackServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) { return nullptr; } + }; + template class WithCallbackMethod_RangeJoinTables : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_RangeJoinTables() { - ::grpc::Service::MarkMethodCallback(27, + ::grpc::Service::MarkMethodCallback(29, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->RangeJoinTables(context, request, response); }));} void SetMessageAllocatorFor_RangeJoinTables( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(27); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(29); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -2960,13 +3120,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_ComboAggregate() { - ::grpc::Service::MarkMethodCallback(28, + ::grpc::Service::MarkMethodCallback(30, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::ComboAggregateRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::ComboAggregateRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->ComboAggregate(context, request, response); }));} void SetMessageAllocatorFor_ComboAggregate( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::ComboAggregateRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(28); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(30); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::ComboAggregateRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -2987,13 +3147,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_AggregateAll() { - ::grpc::Service::MarkMethodCallback(29, + ::grpc::Service::MarkMethodCallback(31, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::AggregateAllRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::AggregateAllRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->AggregateAll(context, request, response); }));} void SetMessageAllocatorFor_AggregateAll( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::AggregateAllRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(29); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(31); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::AggregateAllRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -3014,13 +3174,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_Aggregate() { - ::grpc::Service::MarkMethodCallback(30, + ::grpc::Service::MarkMethodCallback(32, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::AggregateRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::AggregateRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->Aggregate(context, request, response); }));} void SetMessageAllocatorFor_Aggregate( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::AggregateRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(30); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(32); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::AggregateRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -3041,13 +3201,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_Snapshot() { - ::grpc::Service::MarkMethodCallback(31, + ::grpc::Service::MarkMethodCallback(33, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::SnapshotTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::SnapshotTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->Snapshot(context, request, response); }));} void SetMessageAllocatorFor_Snapshot( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::SnapshotTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(31); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(33); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::SnapshotTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -3068,13 +3228,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_SnapshotWhen() { - ::grpc::Service::MarkMethodCallback(32, + ::grpc::Service::MarkMethodCallback(34, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->SnapshotWhen(context, request, response); }));} void SetMessageAllocatorFor_SnapshotWhen( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(32); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(34); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -3095,13 +3255,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_Flatten() { - ::grpc::Service::MarkMethodCallback(33, + ::grpc::Service::MarkMethodCallback(35, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::FlattenRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::FlattenRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->Flatten(context, request, response); }));} void SetMessageAllocatorFor_Flatten( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::FlattenRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(33); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(35); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::FlattenRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -3122,13 +3282,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_RunChartDownsample() { - ::grpc::Service::MarkMethodCallback(34, + ::grpc::Service::MarkMethodCallback(36, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->RunChartDownsample(context, request, response); }));} void SetMessageAllocatorFor_RunChartDownsample( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(34); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(36); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -3149,13 +3309,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_CreateInputTable() { - ::grpc::Service::MarkMethodCallback(35, + ::grpc::Service::MarkMethodCallback(37, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::CreateInputTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::CreateInputTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->CreateInputTable(context, request, response); }));} void SetMessageAllocatorFor_CreateInputTable( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::CreateInputTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(35); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(37); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::CreateInputTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -3176,13 +3336,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_WhereIn() { - ::grpc::Service::MarkMethodCallback(36, + ::grpc::Service::MarkMethodCallback(38, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::WhereInRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::WhereInRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->WhereIn(context, request, response); }));} void SetMessageAllocatorFor_WhereIn( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::WhereInRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(36); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(38); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::WhereInRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -3203,7 +3363,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_Batch() { - ::grpc::Service::MarkMethodCallback(37, + ::grpc::Service::MarkMethodCallback(39, new ::grpc::internal::CallbackServerStreamingHandler< ::io::deephaven::proto::backplane::grpc::BatchTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::BatchTableRequest* request) { return this->Batch(context, request); })); @@ -3225,7 +3385,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_ExportedTableUpdates() { - ::grpc::Service::MarkMethodCallback(38, + ::grpc::Service::MarkMethodCallback(40, new ::grpc::internal::CallbackServerStreamingHandler< ::io::deephaven::proto::backplane::grpc::ExportedTableUpdatesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableUpdateMessage>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::ExportedTableUpdatesRequest* request) { return this->ExportedTableUpdates(context, request); })); @@ -3247,13 +3407,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_SeekRow() { - ::grpc::Service::MarkMethodCallback(39, + ::grpc::Service::MarkMethodCallback(41, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::SeekRowRequest, ::io::deephaven::proto::backplane::grpc::SeekRowResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest* request, ::io::deephaven::proto::backplane::grpc::SeekRowResponse* response) { return this->SeekRow(context, request, response); }));} void SetMessageAllocatorFor_SeekRow( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::SeekRowRequest, ::io::deephaven::proto::backplane::grpc::SeekRowResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(39); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(41); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::SeekRowRequest, ::io::deephaven::proto::backplane::grpc::SeekRowResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -3274,13 +3434,13 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_MetaTable() { - ::grpc::Service::MarkMethodCallback(40, + ::grpc::Service::MarkMethodCallback(42, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->MetaTable(context, request, response); }));} void SetMessageAllocatorFor_MetaTable( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(40); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(42); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -3295,7 +3455,7 @@ class TableService final { virtual ::grpc::ServerUnaryReactor* MetaTable( ::grpc::CallbackServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) { return nullptr; } }; - typedef WithCallbackMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > CallbackService; + typedef WithCallbackMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > CallbackService; typedef CallbackService ExperimentalCallbackService; template class WithGenericMethod_GetExportedTableCreationResponse : public BaseClass { @@ -3757,12 +3917,46 @@ class TableService final { } }; template + class WithGenericMethod_AjTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_AjTables() { + ::grpc::Service::MarkMethodGeneric(27); + } + ~WithGenericMethod_AjTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AjTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_RajTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_RajTables() { + ::grpc::Service::MarkMethodGeneric(28); + } + ~WithGenericMethod_RajTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status RajTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template class WithGenericMethod_RangeJoinTables : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_RangeJoinTables() { - ::grpc::Service::MarkMethodGeneric(27); + ::grpc::Service::MarkMethodGeneric(29); } ~WithGenericMethod_RangeJoinTables() override { BaseClassMustBeDerivedFromService(this); @@ -3779,7 +3973,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_ComboAggregate() { - ::grpc::Service::MarkMethodGeneric(28); + ::grpc::Service::MarkMethodGeneric(30); } ~WithGenericMethod_ComboAggregate() override { BaseClassMustBeDerivedFromService(this); @@ -3796,7 +3990,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_AggregateAll() { - ::grpc::Service::MarkMethodGeneric(29); + ::grpc::Service::MarkMethodGeneric(31); } ~WithGenericMethod_AggregateAll() override { BaseClassMustBeDerivedFromService(this); @@ -3813,7 +4007,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Aggregate() { - ::grpc::Service::MarkMethodGeneric(30); + ::grpc::Service::MarkMethodGeneric(32); } ~WithGenericMethod_Aggregate() override { BaseClassMustBeDerivedFromService(this); @@ -3830,7 +4024,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Snapshot() { - ::grpc::Service::MarkMethodGeneric(31); + ::grpc::Service::MarkMethodGeneric(33); } ~WithGenericMethod_Snapshot() override { BaseClassMustBeDerivedFromService(this); @@ -3847,7 +4041,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_SnapshotWhen() { - ::grpc::Service::MarkMethodGeneric(32); + ::grpc::Service::MarkMethodGeneric(34); } ~WithGenericMethod_SnapshotWhen() override { BaseClassMustBeDerivedFromService(this); @@ -3864,7 +4058,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Flatten() { - ::grpc::Service::MarkMethodGeneric(33); + ::grpc::Service::MarkMethodGeneric(35); } ~WithGenericMethod_Flatten() override { BaseClassMustBeDerivedFromService(this); @@ -3881,7 +4075,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_RunChartDownsample() { - ::grpc::Service::MarkMethodGeneric(34); + ::grpc::Service::MarkMethodGeneric(36); } ~WithGenericMethod_RunChartDownsample() override { BaseClassMustBeDerivedFromService(this); @@ -3898,7 +4092,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_CreateInputTable() { - ::grpc::Service::MarkMethodGeneric(35); + ::grpc::Service::MarkMethodGeneric(37); } ~WithGenericMethod_CreateInputTable() override { BaseClassMustBeDerivedFromService(this); @@ -3915,7 +4109,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_WhereIn() { - ::grpc::Service::MarkMethodGeneric(36); + ::grpc::Service::MarkMethodGeneric(38); } ~WithGenericMethod_WhereIn() override { BaseClassMustBeDerivedFromService(this); @@ -3932,7 +4126,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Batch() { - ::grpc::Service::MarkMethodGeneric(37); + ::grpc::Service::MarkMethodGeneric(39); } ~WithGenericMethod_Batch() override { BaseClassMustBeDerivedFromService(this); @@ -3949,7 +4143,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_ExportedTableUpdates() { - ::grpc::Service::MarkMethodGeneric(38); + ::grpc::Service::MarkMethodGeneric(40); } ~WithGenericMethod_ExportedTableUpdates() override { BaseClassMustBeDerivedFromService(this); @@ -3966,7 +4160,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_SeekRow() { - ::grpc::Service::MarkMethodGeneric(39); + ::grpc::Service::MarkMethodGeneric(41); } ~WithGenericMethod_SeekRow() override { BaseClassMustBeDerivedFromService(this); @@ -3983,7 +4177,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_MetaTable() { - ::grpc::Service::MarkMethodGeneric(40); + ::grpc::Service::MarkMethodGeneric(42); } ~WithGenericMethod_MetaTable() override { BaseClassMustBeDerivedFromService(this); @@ -4535,12 +4729,52 @@ class TableService final { } }; template + class WithRawMethod_AjTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_AjTables() { + ::grpc::Service::MarkMethodRaw(27); + } + ~WithRawMethod_AjTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AjTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestAjTables(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_RajTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_RajTables() { + ::grpc::Service::MarkMethodRaw(28); + } + ~WithRawMethod_RajTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status RajTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestRajTables(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithRawMethod_RangeJoinTables : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_RangeJoinTables() { - ::grpc::Service::MarkMethodRaw(27); + ::grpc::Service::MarkMethodRaw(29); } ~WithRawMethod_RangeJoinTables() override { BaseClassMustBeDerivedFromService(this); @@ -4551,7 +4785,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestRangeJoinTables(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4560,7 +4794,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_ComboAggregate() { - ::grpc::Service::MarkMethodRaw(28); + ::grpc::Service::MarkMethodRaw(30); } ~WithRawMethod_ComboAggregate() override { BaseClassMustBeDerivedFromService(this); @@ -4571,7 +4805,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestComboAggregate(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4580,7 +4814,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_AggregateAll() { - ::grpc::Service::MarkMethodRaw(29); + ::grpc::Service::MarkMethodRaw(31); } ~WithRawMethod_AggregateAll() override { BaseClassMustBeDerivedFromService(this); @@ -4591,7 +4825,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestAggregateAll(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4600,7 +4834,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Aggregate() { - ::grpc::Service::MarkMethodRaw(30); + ::grpc::Service::MarkMethodRaw(32); } ~WithRawMethod_Aggregate() override { BaseClassMustBeDerivedFromService(this); @@ -4611,7 +4845,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestAggregate(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4620,7 +4854,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Snapshot() { - ::grpc::Service::MarkMethodRaw(31); + ::grpc::Service::MarkMethodRaw(33); } ~WithRawMethod_Snapshot() override { BaseClassMustBeDerivedFromService(this); @@ -4631,7 +4865,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSnapshot(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4640,7 +4874,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_SnapshotWhen() { - ::grpc::Service::MarkMethodRaw(32); + ::grpc::Service::MarkMethodRaw(34); } ~WithRawMethod_SnapshotWhen() override { BaseClassMustBeDerivedFromService(this); @@ -4651,7 +4885,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSnapshotWhen(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4660,7 +4894,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Flatten() { - ::grpc::Service::MarkMethodRaw(33); + ::grpc::Service::MarkMethodRaw(35); } ~WithRawMethod_Flatten() override { BaseClassMustBeDerivedFromService(this); @@ -4671,7 +4905,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestFlatten(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4680,7 +4914,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_RunChartDownsample() { - ::grpc::Service::MarkMethodRaw(34); + ::grpc::Service::MarkMethodRaw(36); } ~WithRawMethod_RunChartDownsample() override { BaseClassMustBeDerivedFromService(this); @@ -4691,7 +4925,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestRunChartDownsample(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4700,7 +4934,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_CreateInputTable() { - ::grpc::Service::MarkMethodRaw(35); + ::grpc::Service::MarkMethodRaw(37); } ~WithRawMethod_CreateInputTable() override { BaseClassMustBeDerivedFromService(this); @@ -4711,7 +4945,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCreateInputTable(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(37, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4720,7 +4954,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_WhereIn() { - ::grpc::Service::MarkMethodRaw(36); + ::grpc::Service::MarkMethodRaw(38); } ~WithRawMethod_WhereIn() override { BaseClassMustBeDerivedFromService(this); @@ -4731,7 +4965,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestWhereIn(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(38, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4740,7 +4974,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Batch() { - ::grpc::Service::MarkMethodRaw(37); + ::grpc::Service::MarkMethodRaw(39); } ~WithRawMethod_Batch() override { BaseClassMustBeDerivedFromService(this); @@ -4751,7 +4985,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestBatch(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncWriter< ::grpc::ByteBuffer>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncServerStreaming(37, context, request, writer, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncServerStreaming(39, context, request, writer, new_call_cq, notification_cq, tag); } }; template @@ -4760,7 +4994,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_ExportedTableUpdates() { - ::grpc::Service::MarkMethodRaw(38); + ::grpc::Service::MarkMethodRaw(40); } ~WithRawMethod_ExportedTableUpdates() override { BaseClassMustBeDerivedFromService(this); @@ -4771,7 +5005,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestExportedTableUpdates(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncWriter< ::grpc::ByteBuffer>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncServerStreaming(38, context, request, writer, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncServerStreaming(40, context, request, writer, new_call_cq, notification_cq, tag); } }; template @@ -4780,7 +5014,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_SeekRow() { - ::grpc::Service::MarkMethodRaw(39); + ::grpc::Service::MarkMethodRaw(41); } ~WithRawMethod_SeekRow() override { BaseClassMustBeDerivedFromService(this); @@ -4791,7 +5025,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSeekRow(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(39, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(41, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4800,7 +5034,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_MetaTable() { - ::grpc::Service::MarkMethodRaw(40); + ::grpc::Service::MarkMethodRaw(42); } ~WithRawMethod_MetaTable() override { BaseClassMustBeDerivedFromService(this); @@ -4811,7 +5045,7 @@ class TableService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestMetaTable(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(40, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(42, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -5409,12 +5643,56 @@ class TableService final { ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } }; template + class WithRawCallbackMethod_AjTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_AjTables() { + ::grpc::Service::MarkMethodRawCallback(27, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->AjTables(context, request, response); })); + } + ~WithRawCallbackMethod_AjTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AjTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* AjTables( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_RajTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_RajTables() { + ::grpc::Service::MarkMethodRawCallback(28, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->RajTables(context, request, response); })); + } + ~WithRawCallbackMethod_RajTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status RajTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* RajTables( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template class WithRawCallbackMethod_RangeJoinTables : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_RangeJoinTables() { - ::grpc::Service::MarkMethodRawCallback(27, + ::grpc::Service::MarkMethodRawCallback(29, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->RangeJoinTables(context, request, response); })); @@ -5436,7 +5714,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_ComboAggregate() { - ::grpc::Service::MarkMethodRawCallback(28, + ::grpc::Service::MarkMethodRawCallback(30, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->ComboAggregate(context, request, response); })); @@ -5458,7 +5736,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_AggregateAll() { - ::grpc::Service::MarkMethodRawCallback(29, + ::grpc::Service::MarkMethodRawCallback(31, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->AggregateAll(context, request, response); })); @@ -5480,7 +5758,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_Aggregate() { - ::grpc::Service::MarkMethodRawCallback(30, + ::grpc::Service::MarkMethodRawCallback(32, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Aggregate(context, request, response); })); @@ -5502,7 +5780,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_Snapshot() { - ::grpc::Service::MarkMethodRawCallback(31, + ::grpc::Service::MarkMethodRawCallback(33, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Snapshot(context, request, response); })); @@ -5524,7 +5802,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_SnapshotWhen() { - ::grpc::Service::MarkMethodRawCallback(32, + ::grpc::Service::MarkMethodRawCallback(34, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SnapshotWhen(context, request, response); })); @@ -5546,7 +5824,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_Flatten() { - ::grpc::Service::MarkMethodRawCallback(33, + ::grpc::Service::MarkMethodRawCallback(35, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Flatten(context, request, response); })); @@ -5568,7 +5846,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_RunChartDownsample() { - ::grpc::Service::MarkMethodRawCallback(34, + ::grpc::Service::MarkMethodRawCallback(36, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->RunChartDownsample(context, request, response); })); @@ -5590,7 +5868,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_CreateInputTable() { - ::grpc::Service::MarkMethodRawCallback(35, + ::grpc::Service::MarkMethodRawCallback(37, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->CreateInputTable(context, request, response); })); @@ -5612,7 +5890,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_WhereIn() { - ::grpc::Service::MarkMethodRawCallback(36, + ::grpc::Service::MarkMethodRawCallback(38, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->WhereIn(context, request, response); })); @@ -5634,7 +5912,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_Batch() { - ::grpc::Service::MarkMethodRawCallback(37, + ::grpc::Service::MarkMethodRawCallback(39, new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const::grpc::ByteBuffer* request) { return this->Batch(context, request); })); @@ -5656,7 +5934,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_ExportedTableUpdates() { - ::grpc::Service::MarkMethodRawCallback(38, + ::grpc::Service::MarkMethodRawCallback(40, new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const::grpc::ByteBuffer* request) { return this->ExportedTableUpdates(context, request); })); @@ -5678,7 +5956,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_SeekRow() { - ::grpc::Service::MarkMethodRawCallback(39, + ::grpc::Service::MarkMethodRawCallback(41, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SeekRow(context, request, response); })); @@ -5700,7 +5978,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_MetaTable() { - ::grpc::Service::MarkMethodRawCallback(40, + ::grpc::Service::MarkMethodRawCallback(42, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->MetaTable(context, request, response); })); @@ -6446,12 +6724,66 @@ class TableService final { virtual ::grpc::Status StreamedAsOfJoinTables(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest,::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* server_unary_streamer) = 0; }; template + class WithStreamedUnaryMethod_AjTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_AjTables() { + ::grpc::Service::MarkMethodStreamed(27, + new ::grpc::internal::StreamedUnaryHandler< + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* streamer) { + return this->StreamedAjTables(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_AjTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status AjTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedAjTables(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest,::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_RajTables : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_RajTables() { + ::grpc::Service::MarkMethodStreamed(28, + new ::grpc::internal::StreamedUnaryHandler< + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* streamer) { + return this->StreamedRajTables(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_RajTables() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status RajTables(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedRajTables(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest,::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* server_unary_streamer) = 0; + }; + template class WithStreamedUnaryMethod_RangeJoinTables : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_RangeJoinTables() { - ::grpc::Service::MarkMethodStreamed(27, + ::grpc::Service::MarkMethodStreamed(29, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6478,7 +6810,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_ComboAggregate() { - ::grpc::Service::MarkMethodStreamed(28, + ::grpc::Service::MarkMethodStreamed(30, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::ComboAggregateRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6505,7 +6837,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_AggregateAll() { - ::grpc::Service::MarkMethodStreamed(29, + ::grpc::Service::MarkMethodStreamed(31, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::AggregateAllRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6532,7 +6864,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Aggregate() { - ::grpc::Service::MarkMethodStreamed(30, + ::grpc::Service::MarkMethodStreamed(32, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::AggregateRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6559,7 +6891,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Snapshot() { - ::grpc::Service::MarkMethodStreamed(31, + ::grpc::Service::MarkMethodStreamed(33, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::SnapshotTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6586,7 +6918,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_SnapshotWhen() { - ::grpc::Service::MarkMethodStreamed(32, + ::grpc::Service::MarkMethodStreamed(34, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6613,7 +6945,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Flatten() { - ::grpc::Service::MarkMethodStreamed(33, + ::grpc::Service::MarkMethodStreamed(35, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::FlattenRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6640,7 +6972,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_RunChartDownsample() { - ::grpc::Service::MarkMethodStreamed(34, + ::grpc::Service::MarkMethodStreamed(36, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6667,7 +6999,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_CreateInputTable() { - ::grpc::Service::MarkMethodStreamed(35, + ::grpc::Service::MarkMethodStreamed(37, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::CreateInputTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6694,7 +7026,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_WhereIn() { - ::grpc::Service::MarkMethodStreamed(36, + ::grpc::Service::MarkMethodStreamed(38, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::WhereInRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6721,7 +7053,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_SeekRow() { - ::grpc::Service::MarkMethodStreamed(39, + ::grpc::Service::MarkMethodStreamed(41, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::SeekRowRequest, ::io::deephaven::proto::backplane::grpc::SeekRowResponse>( [this](::grpc::ServerContext* context, @@ -6748,7 +7080,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_MetaTable() { - ::grpc::Service::MarkMethodStreamed(40, + ::grpc::Service::MarkMethodStreamed(42, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6769,14 +7101,14 @@ class TableService final { // replace default version of method with streamed unary virtual ::grpc::Status StreamedMetaTable(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::io::deephaven::proto::backplane::grpc::MetaTableRequest,::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* server_unary_streamer) = 0; }; - typedef WithStreamedUnaryMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; + typedef WithStreamedUnaryMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; template class WithSplitStreamingMethod_Batch : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithSplitStreamingMethod_Batch() { - ::grpc::Service::MarkMethodStreamed(37, + ::grpc::Service::MarkMethodStreamed(39, new ::grpc::internal::SplitServerStreamingHandler< ::io::deephaven::proto::backplane::grpc::BatchTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( [this](::grpc::ServerContext* context, @@ -6803,7 +7135,7 @@ class TableService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithSplitStreamingMethod_ExportedTableUpdates() { - ::grpc::Service::MarkMethodStreamed(38, + ::grpc::Service::MarkMethodStreamed(40, new ::grpc::internal::SplitServerStreamingHandler< ::io::deephaven::proto::backplane::grpc::ExportedTableUpdatesRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableUpdateMessage>( [this](::grpc::ServerContext* context, @@ -6825,7 +7157,7 @@ class TableService final { virtual ::grpc::Status StreamedExportedTableUpdates(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::io::deephaven::proto::backplane::grpc::ExportedTableUpdatesRequest,::io::deephaven::proto::backplane::grpc::ExportedTableUpdateMessage>* server_split_streamer) = 0; }; typedef WithSplitStreamingMethod_Batch > SplitStreamedService; - typedef WithStreamedUnaryMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; + typedef WithStreamedUnaryMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; }; } // namespace grpc diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc index 30849653792..6fbe6abe6fa 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc +++ b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc @@ -767,6 +767,23 @@ struct AsOfJoinTablesRequestDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AsOfJoinTablesRequestDefaultTypeInternal _AsOfJoinTablesRequest_default_instance_; +PROTOBUF_CONSTEXPR AjRajTablesRequest::AjRajTablesRequest( + ::_pbi::ConstantInitialized) + : exact_match_columns_() + , columns_to_add_() + , as_of_column_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , result_id_(nullptr) + , left_id_(nullptr) + , right_id_(nullptr){} +struct AjRajTablesRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR AjRajTablesRequestDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~AjRajTablesRequestDefaultTypeInternal() {} + union { + AjRajTablesRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AjRajTablesRequestDefaultTypeInternal _AjRajTablesRequest_default_instance_; PROTOBUF_CONSTEXPR RangeJoinTablesRequest::RangeJoinTablesRequest( ::_pbi::ConstantInitialized) : exact_match_columns_() @@ -1612,7 +1629,7 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT } // namespace proto } // namespace deephaven } // namespace io -static ::_pb::Metadata file_level_metadata_deephaven_2fproto_2ftable_2eproto[118]; +static ::_pb::Metadata file_level_metadata_deephaven_2fproto_2ftable_2eproto[119]; static const ::_pb::EnumDescriptor* file_level_enum_descriptors_deephaven_2fproto_2ftable_2eproto[12]; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_deephaven_2fproto_2ftable_2eproto = nullptr; @@ -2114,6 +2131,18 @@ const uint32_t TableStruct_deephaven_2fproto_2ftable_2eproto::offsets[] PROTOBUF PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest, columns_to_add_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest, as_of_match_rule_), ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, result_id_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, left_id_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, right_id_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, exact_match_columns_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, as_of_column_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest, columns_to_add_), + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ @@ -2714,6 +2743,8 @@ const uint32_t TableStruct_deephaven_2fproto_2ftable_2eproto::offsets[] PROTOBUF ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::BatchTableRequest_Operation, op_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::BatchTableRequest, _internal_metadata_), @@ -2778,70 +2809,71 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 462, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::ExactJoinTablesRequest)}, { 473, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::LeftJoinTablesRequest)}, { 484, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest)}, - { 496, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest)}, - { 512, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::ComboAggregateRequest_Aggregate)}, - { 523, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::ComboAggregateRequest)}, - { 534, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggregateAllRequest)}, - { 544, 552, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecApproximatePercentile)}, - { 554, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecCountDistinct)}, - { 561, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecDistinct)}, - { 568, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecFormula)}, - { 576, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecMedian)}, - { 583, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecPercentile)}, - { 591, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecSorted)}, - { 598, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecSortedColumn)}, - { 605, 612, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecTDigest)}, - { 613, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecUnique)}, - { 621, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecNonUniqueSentinel)}, - { 638, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecWeighted)}, - { 645, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecAbsSum)}, - { 651, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecAvg)}, - { 657, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecFirst)}, - { 663, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecFreeze)}, - { 669, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecGroup)}, - { 675, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecLast)}, - { 681, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecMax)}, - { 687, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecMin)}, - { 693, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecStd)}, - { 699, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecSum)}, - { 705, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecVar)}, - { 711, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec)}, - { 741, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggregateRequest)}, - { 753, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Aggregation_AggregationColumns)}, - { 761, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Aggregation_AggregationCount)}, - { 768, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Aggregation_AggregationRowKey)}, - { 775, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Aggregation_AggregationPartition)}, - { 783, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Aggregation)}, - { 795, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SortDescriptor)}, - { 804, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SortTableRequest)}, - { 813, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::FilterTableRequest)}, - { 822, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SeekRowRequest)}, - { 835, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SeekRowResponse)}, - { 842, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Reference)}, - { 849, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Literal)}, - { 861, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Value)}, - { 870, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Condition)}, - { 887, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AndCondition)}, - { 894, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::OrCondition)}, - { 901, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::NotCondition)}, - { 908, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CompareCondition)}, - { 918, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::InCondition)}, - { 928, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::InvokeCondition)}, - { 937, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::IsNullCondition)}, - { 944, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::MatchesCondition)}, - { 954, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::ContainsCondition)}, - { 964, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SearchCondition)}, - { 972, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::FlattenRequest)}, - { 980, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::MetaTableRequest)}, - { 988, 996, -1, sizeof(::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest_ZoomRange)}, - { 998, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest)}, - { 1010, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind_InMemoryAppendOnly)}, - { 1016, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind_InMemoryKeyBacked)}, - { 1023, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind)}, - { 1032, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest)}, - { 1043, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::WhereInRequest)}, - { 1054, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::BatchTableRequest_Operation)}, - { 1098, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::BatchTableRequest)}, + { 496, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest)}, + { 508, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest)}, + { 524, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::ComboAggregateRequest_Aggregate)}, + { 535, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::ComboAggregateRequest)}, + { 546, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggregateAllRequest)}, + { 556, 564, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecApproximatePercentile)}, + { 566, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecCountDistinct)}, + { 573, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecDistinct)}, + { 580, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecFormula)}, + { 588, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecMedian)}, + { 595, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecPercentile)}, + { 603, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecSorted)}, + { 610, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecSortedColumn)}, + { 617, 624, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecTDigest)}, + { 625, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecUnique)}, + { 633, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecNonUniqueSentinel)}, + { 650, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecWeighted)}, + { 657, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecAbsSum)}, + { 663, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecAvg)}, + { 669, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecFirst)}, + { 675, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecFreeze)}, + { 681, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecGroup)}, + { 687, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecLast)}, + { 693, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecMax)}, + { 699, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecMin)}, + { 705, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecStd)}, + { 711, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecSum)}, + { 717, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec_AggSpecVar)}, + { 723, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggSpec)}, + { 753, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AggregateRequest)}, + { 765, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Aggregation_AggregationColumns)}, + { 773, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Aggregation_AggregationCount)}, + { 780, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Aggregation_AggregationRowKey)}, + { 787, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Aggregation_AggregationPartition)}, + { 795, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Aggregation)}, + { 807, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SortDescriptor)}, + { 816, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SortTableRequest)}, + { 825, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::FilterTableRequest)}, + { 834, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SeekRowRequest)}, + { 847, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SeekRowResponse)}, + { 854, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Reference)}, + { 861, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Literal)}, + { 873, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Value)}, + { 882, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::Condition)}, + { 899, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::AndCondition)}, + { 906, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::OrCondition)}, + { 913, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::NotCondition)}, + { 920, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CompareCondition)}, + { 930, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::InCondition)}, + { 940, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::InvokeCondition)}, + { 949, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::IsNullCondition)}, + { 956, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::MatchesCondition)}, + { 966, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::ContainsCondition)}, + { 976, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SearchCondition)}, + { 984, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::FlattenRequest)}, + { 992, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::MetaTableRequest)}, + { 1000, 1008, -1, sizeof(::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest_ZoomRange)}, + { 1010, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest)}, + { 1022, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind_InMemoryAppendOnly)}, + { 1028, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind_InMemoryKeyBacked)}, + { 1035, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind)}, + { 1044, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest)}, + { 1055, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::WhereInRequest)}, + { 1066, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::BatchTableRequest_Operation)}, + { 1112, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::BatchTableRequest)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -2899,6 +2931,7 @@ static const ::_pb::Message* const file_default_instances[] = { &::io::deephaven::proto::backplane::grpc::_ExactJoinTablesRequest_default_instance_._instance, &::io::deephaven::proto::backplane::grpc::_LeftJoinTablesRequest_default_instance_._instance, &::io::deephaven::proto::backplane::grpc::_AsOfJoinTablesRequest_default_instance_._instance, + &::io::deephaven::proto::backplane::grpc::_AjRajTablesRequest_default_instance_._instance, &::io::deephaven::proto::backplane::grpc::_RangeJoinTablesRequest_default_instance_._instance, &::io::deephaven::proto::backplane::grpc::_ComboAggregateRequest_Aggregate_default_instance_._instance, &::io::deephaven::proto::backplane::grpc::_ComboAggregateRequest_default_instance_._instance, @@ -3267,7 +3300,7 @@ const char descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto[] PROTOBU ".backplane.grpc.TableReference\022C\n\010right_" "id\030\003 \001(\01321.io.deephaven.proto.backplane." "grpc.TableReference\022\030\n\020columns_to_match\030" - "\004 \003(\t\022\026\n\016columns_to_add\030\005 \003(\t\"\311\003\n\025AsOfJo" + "\004 \003(\t\022\026\n\016columns_to_add\030\005 \003(\t\"\321\003\n\025AsOfJo" "inTablesRequest\022<\n\tresult_id\030\001 \001(\0132).io." "deephaven.proto.backplane.grpc.Ticket\022B\n" "\007left_id\030\002 \001(\01321.io.deephaven.proto.back" @@ -3276,531 +3309,549 @@ const char descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto[] PROTOBU "TableReference\022\030\n\020columns_to_match\030\004 \003(\t" "\022\026\n\016columns_to_add\030\005 \003(\t\022\\\n\020as_of_match_" "rule\030\007 \001(\0162B.io.deephaven.proto.backplan" - "e.grpc.AsOfJoinTablesRequest.MatchRule\"Y" + "e.grpc.AsOfJoinTablesRequest.MatchRule\"]" "\n\tMatchRule\022\023\n\017LESS_THAN_EQUAL\020\000\022\r\n\tLESS" "_THAN\020\001\022\026\n\022GREATER_THAN_EQUAL\020\002\022\020\n\014GREAT" - "ER_THAN\020\003\"\313\006\n\026RangeJoinTablesRequest\022<\n\t" - "result_id\030\001 \001(\0132).io.deephaven.proto.bac" - "kplane.grpc.Ticket\022B\n\007left_id\030\002 \001(\01321.io" - ".deephaven.proto.backplane.grpc.TableRef" - "erence\022C\n\010right_id\030\003 \001(\01321.io.deephaven." - "proto.backplane.grpc.TableReference\022\033\n\023e" - "xact_match_columns\030\004 \003(\t\022\031\n\021left_start_c" - "olumn\030\005 \001(\t\022b\n\020range_start_rule\030\006 \001(\0162H." - "io.deephaven.proto.backplane.grpc.RangeJ" - "oinTablesRequest.RangeStartRule\022\032\n\022right" - "_range_column\030\007 \001(\t\022^\n\016range_end_rule\030\010 " - "\001(\0162F.io.deephaven.proto.backplane.grpc." - "RangeJoinTablesRequest.RangeEndRule\022\027\n\017l" - "eft_end_column\030\t \001(\t\022D\n\014aggregations\030\n \003" - "(\0132..io.deephaven.proto.backplane.grpc.A" - "ggregation\"v\n\016RangeStartRule\022\025\n\021START_UN" - "SPECIFIED\020\000\022\r\n\tLESS_THAN\020\001\022\026\n\022LESS_THAN_" - "OR_EQUAL\020\002\022&\n\"LESS_THAN_OR_EQUAL_ALLOW_P" - "RECEDING\020\003\"{\n\014RangeEndRule\022\023\n\017END_UNSPEC" - "IFIED\020\000\022\020\n\014GREATER_THAN\020\001\022\031\n\025GREATER_THA" - "N_OR_EQUAL\020\002\022)\n%GREATER_THAN_OR_EQUAL_AL" - "LOW_FOLLOWING\020\003\"\376\004\n\025ComboAggregateReques" + "ER_THAN\020\003\032\002\030\001:\002\030\001\"\246\002\n\022AjRajTablesRequest" + "\022<\n\tresult_id\030\001 \001(\0132).io.deephaven.proto" + ".backplane.grpc.Ticket\022B\n\007left_id\030\002 \001(\0132" + "1.io.deephaven.proto.backplane.grpc.Tabl" + "eReference\022C\n\010right_id\030\003 \001(\01321.io.deepha" + "ven.proto.backplane.grpc.TableReference\022" + "\033\n\023exact_match_columns\030\004 \003(\t\022\024\n\014as_of_co" + "lumn\030\005 \001(\t\022\026\n\016columns_to_add\030\006 \003(\t\"\313\006\n\026R" + "angeJoinTablesRequest\022<\n\tresult_id\030\001 \001(\013" + "2).io.deephaven.proto.backplane.grpc.Tic" + "ket\022B\n\007left_id\030\002 \001(\01321.io.deephaven.prot" + "o.backplane.grpc.TableReference\022C\n\010right" + "_id\030\003 \001(\01321.io.deephaven.proto.backplane" + ".grpc.TableReference\022\033\n\023exact_match_colu" + "mns\030\004 \003(\t\022\031\n\021left_start_column\030\005 \001(\t\022b\n\020" + "range_start_rule\030\006 \001(\0162H.io.deephaven.pr" + "oto.backplane.grpc.RangeJoinTablesReques" + "t.RangeStartRule\022\032\n\022right_range_column\030\007" + " \001(\t\022^\n\016range_end_rule\030\010 \001(\0162F.io.deepha" + "ven.proto.backplane.grpc.RangeJoinTables" + "Request.RangeEndRule\022\027\n\017left_end_column\030" + "\t \001(\t\022D\n\014aggregations\030\n \003(\0132..io.deephav" + "en.proto.backplane.grpc.Aggregation\"v\n\016R" + "angeStartRule\022\025\n\021START_UNSPECIFIED\020\000\022\r\n\t" + "LESS_THAN\020\001\022\026\n\022LESS_THAN_OR_EQUAL\020\002\022&\n\"L" + "ESS_THAN_OR_EQUAL_ALLOW_PRECEDING\020\003\"{\n\014R" + "angeEndRule\022\023\n\017END_UNSPECIFIED\020\000\022\020\n\014GREA" + "TER_THAN\020\001\022\031\n\025GREATER_THAN_OR_EQUAL\020\002\022)\n" + "%GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING\020\003" + "\"\376\004\n\025ComboAggregateRequest\022<\n\tresult_id\030" + "\001 \001(\0132).io.deephaven.proto.backplane.grp" + "c.Ticket\022D\n\tsource_id\030\002 \001(\01321.io.deephav" + "en.proto.backplane.grpc.TableReference\022V" + "\n\naggregates\030\003 \003(\0132B.io.deephaven.proto." + "backplane.grpc.ComboAggregateRequest.Agg" + "regate\022\030\n\020group_by_columns\030\004 \003(\t\022\023\n\013forc" + "e_combo\030\005 \001(\010\032\255\001\n\tAggregate\022N\n\004type\030\001 \001(" + "\0162@.io.deephaven.proto.backplane.grpc.Co" + "mboAggregateRequest.AggType\022\023\n\013match_pai" + "rs\030\002 \003(\t\022\023\n\013column_name\030\003 \001(\t\022\022\n\npercent" + "ile\030\004 \001(\001\022\022\n\navg_median\030\005 \001(\010\"\245\001\n\007AggTyp" + "e\022\007\n\003SUM\020\000\022\013\n\007ABS_SUM\020\001\022\t\n\005GROUP\020\002\022\007\n\003AV" + "G\020\003\022\t\n\005COUNT\020\004\022\t\n\005FIRST\020\005\022\010\n\004LAST\020\006\022\007\n\003M" + "IN\020\007\022\007\n\003MAX\020\010\022\n\n\006MEDIAN\020\t\022\016\n\nPERCENTILE\020" + "\n\022\007\n\003STD\020\013\022\007\n\003VAR\020\014\022\020\n\014WEIGHTED_AVG\020\r:\002\030" + "\001\"\355\001\n\023AggregateAllRequest\022<\n\tresult_id\030\001" + " \001(\0132).io.deephaven.proto.backplane.grpc" + ".Ticket\022D\n\tsource_id\030\002 \001(\01321.io.deephave" + "n.proto.backplane.grpc.TableReference\0228\n" + "\004spec\030\003 \001(\0132*.io.deephaven.proto.backpla" + "ne.grpc.AggSpec\022\030\n\020group_by_columns\030\004 \003(" + "\t\"\327\027\n\007AggSpec\022K\n\007abs_sum\030\001 \001(\01328.io.deep" + "haven.proto.backplane.grpc.AggSpec.AggSp" + "ecAbsSumH\000\022i\n\026approximate_percentile\030\002 \001" + "(\0132G.io.deephaven.proto.backplane.grpc.A" + "ggSpec.AggSpecApproximatePercentileH\000\022D\n" + "\003avg\030\003 \001(\01325.io.deephaven.proto.backplan" + "e.grpc.AggSpec.AggSpecAvgH\000\022Y\n\016count_dis" + "tinct\030\004 \001(\0132\?.io.deephaven.proto.backpla" + "ne.grpc.AggSpec.AggSpecCountDistinctH\000\022N" + "\n\010distinct\030\005 \001(\0132:.io.deephaven.proto.ba" + "ckplane.grpc.AggSpec.AggSpecDistinctH\000\022H" + "\n\005first\030\006 \001(\01327.io.deephaven.proto.backp" + "lane.grpc.AggSpec.AggSpecFirstH\000\022L\n\007form" + "ula\030\007 \001(\01329.io.deephaven.proto.backplane" + ".grpc.AggSpec.AggSpecFormulaH\000\022J\n\006freeze" + "\030\010 \001(\01328.io.deephaven.proto.backplane.gr" + "pc.AggSpec.AggSpecFreezeH\000\022H\n\005group\030\t \001(" + "\01327.io.deephaven.proto.backplane.grpc.Ag" + "gSpec.AggSpecGroupH\000\022F\n\004last\030\n \001(\01326.io." + "deephaven.proto.backplane.grpc.AggSpec.A" + "ggSpecLastH\000\022D\n\003max\030\013 \001(\01325.io.deephaven" + ".proto.backplane.grpc.AggSpec.AggSpecMax" + "H\000\022J\n\006median\030\014 \001(\01328.io.deephaven.proto." + "backplane.grpc.AggSpec.AggSpecMedianH\000\022D" + "\n\003min\030\r \001(\01325.io.deephaven.proto.backpla" + "ne.grpc.AggSpec.AggSpecMinH\000\022R\n\npercenti" + "le\030\016 \001(\0132<.io.deephaven.proto.backplane." + "grpc.AggSpec.AggSpecPercentileH\000\022P\n\014sort" + "ed_first\030\017 \001(\01328.io.deephaven.proto.back" + "plane.grpc.AggSpec.AggSpecSortedH\000\022O\n\013so" + "rted_last\030\020 \001(\01328.io.deephaven.proto.bac" + "kplane.grpc.AggSpec.AggSpecSortedH\000\022D\n\003s" + "td\030\021 \001(\01325.io.deephaven.proto.backplane." + "grpc.AggSpec.AggSpecStdH\000\022D\n\003sum\030\022 \001(\01325" + ".io.deephaven.proto.backplane.grpc.AggSp" + "ec.AggSpecSumH\000\022M\n\010t_digest\030\023 \001(\01329.io.d" + "eephaven.proto.backplane.grpc.AggSpec.Ag" + "gSpecTDigestH\000\022J\n\006unique\030\024 \001(\01328.io.deep" + "haven.proto.backplane.grpc.AggSpec.AggSp" + "ecUniqueH\000\022R\n\014weighted_avg\030\025 \001(\0132:.io.de" + "ephaven.proto.backplane.grpc.AggSpec.Agg" + "SpecWeightedH\000\022R\n\014weighted_sum\030\026 \001(\0132:.i" + "o.deephaven.proto.backplane.grpc.AggSpec" + ".AggSpecWeightedH\000\022D\n\003var\030\027 \001(\01325.io.dee" + "phaven.proto.backplane.grpc.AggSpec.AggS" + "pecVarH\000\032\\\n\034AggSpecApproximatePercentile" + "\022\022\n\npercentile\030\001 \001(\001\022\030\n\013compression\030\002 \001(" + "\001H\000\210\001\001B\016\n\014_compression\032+\n\024AggSpecCountDi" + "stinct\022\023\n\013count_nulls\030\001 \001(\010\032(\n\017AggSpecDi" + "stinct\022\025\n\rinclude_nulls\030\001 \001(\010\0326\n\016AggSpec" + "Formula\022\017\n\007formula\030\001 \001(\t\022\023\n\013param_token\030" + "\002 \001(\t\032/\n\rAggSpecMedian\022\036\n\026average_evenly" + "_divided\030\001 \001(\010\032G\n\021AggSpecPercentile\022\022\n\np" + "ercentile\030\001 \001(\001\022\036\n\026average_evenly_divide" + "d\030\002 \001(\010\032`\n\rAggSpecSorted\022O\n\007columns\030\001 \003(" + "\0132>.io.deephaven.proto.backplane.grpc.Ag" + "gSpec.AggSpecSortedColumn\032*\n\023AggSpecSort" + "edColumn\022\023\n\013column_name\030\001 \001(\t\032:\n\016AggSpec" + "TDigest\022\030\n\013compression\030\001 \001(\001H\000\210\001\001B\016\n\014_co" + "mpression\032\210\001\n\rAggSpecUnique\022\025\n\rinclude_n" + "ulls\030\001 \001(\010\022`\n\023non_unique_sentinel\030\002 \001(\0132" + "C.io.deephaven.proto.backplane.grpc.AggS" + "pec.AggSpecNonUniqueSentinel\032\265\002\n\030AggSpec" + "NonUniqueSentinel\022B\n\nnull_value\030\001 \001(\0162,." + "io.deephaven.proto.backplane.grpc.NullVa" + "lueH\000\022\026\n\014string_value\030\002 \001(\tH\000\022\023\n\tint_val" + "ue\030\003 \001(\021H\000\022\030\n\nlong_value\030\004 \001(\022B\0020\001H\000\022\025\n\013" + "float_value\030\005 \001(\002H\000\022\026\n\014double_value\030\006 \001(" + "\001H\000\022\024\n\nbool_value\030\007 \001(\010H\000\022\024\n\nbyte_value\030" + "\010 \001(\021H\000\022\025\n\013short_value\030\t \001(\021H\000\022\024\n\nchar_v" + "alue\030\n \001(\021H\000B\006\n\004type\032(\n\017AggSpecWeighted\022" + "\025\n\rweight_column\030\001 \001(\t\032\017\n\rAggSpecAbsSum\032" + "\014\n\nAggSpecAvg\032\016\n\014AggSpecFirst\032\017\n\rAggSpec" + "Freeze\032\016\n\014AggSpecGroup\032\r\n\013AggSpecLast\032\014\n" + "\nAggSpecMax\032\014\n\nAggSpecMin\032\014\n\nAggSpecStd\032" + "\014\n\nAggSpecSum\032\014\n\nAggSpecVarB\006\n\004type\"\334\002\n\020" + "AggregateRequest\022<\n\tresult_id\030\001 \001(\0132).io" + ".deephaven.proto.backplane.grpc.Ticket\022D" + "\n\tsource_id\030\002 \001(\01321.io.deephaven.proto.b" + "ackplane.grpc.TableReference\022L\n\021initial_" + "groups_id\030\003 \001(\01321.io.deephaven.proto.bac" + "kplane.grpc.TableReference\022\026\n\016preserve_e" + "mpty\030\004 \001(\010\022D\n\014aggregations\030\005 \003(\0132..io.de" + "ephaven.proto.backplane.grpc.Aggregation" + "\022\030\n\020group_by_columns\030\006 \003(\t\"\323\005\n\013Aggregati" + "on\022T\n\007columns\030\001 \001(\0132A.io.deephaven.proto" + ".backplane.grpc.Aggregation.AggregationC" + "olumnsH\000\022P\n\005count\030\002 \001(\0132\?.io.deephaven.p" + "roto.backplane.grpc.Aggregation.Aggregat" + "ionCountH\000\022Y\n\rfirst_row_key\030\003 \001(\0132@.io.d" + "eephaven.proto.backplane.grpc.Aggregatio" + "n.AggregationRowKeyH\000\022X\n\014last_row_key\030\004 " + "\001(\0132@.io.deephaven.proto.backplane.grpc." + "Aggregation.AggregationRowKeyH\000\022X\n\tparti" + "tion\030\005 \001(\0132C.io.deephaven.proto.backplan" + "e.grpc.Aggregation.AggregationPartitionH" + "\000\032c\n\022AggregationColumns\0228\n\004spec\030\001 \001(\0132*." + "io.deephaven.proto.backplane.grpc.AggSpe" + "c\022\023\n\013match_pairs\030\002 \003(\t\032\'\n\020AggregationCou" + "nt\022\023\n\013column_name\030\001 \001(\t\032(\n\021AggregationRo" + "wKey\022\023\n\013column_name\030\001 \001(\t\032M\n\024Aggregation" + "Partition\022\023\n\013column_name\030\001 \001(\t\022 \n\030includ" + "e_group_by_columns\030\002 \001(\010B\006\n\004type\"\341\001\n\016Sor" + "tDescriptor\022\023\n\013column_name\030\001 \001(\t\022\023\n\013is_a" + "bsolute\030\002 \001(\010\022R\n\tdirection\030\003 \001(\0162\?.io.de" + "ephaven.proto.backplane.grpc.SortDescrip" + "tor.SortDirection\"Q\n\rSortDirection\022\013\n\007UN" + "KNOWN\020\000\022\027\n\nDESCENDING\020\377\377\377\377\377\377\377\377\377\001\022\r\n\tASCE" + "NDING\020\001\022\013\n\007REVERSE\020\002\"\330\001\n\020SortTableReques" "t\022<\n\tresult_id\030\001 \001(\0132).io.deephaven.prot" "o.backplane.grpc.Ticket\022D\n\tsource_id\030\002 \001" "(\01321.io.deephaven.proto.backplane.grpc.T" - "ableReference\022V\n\naggregates\030\003 \003(\0132B.io.d" - "eephaven.proto.backplane.grpc.ComboAggre" - "gateRequest.Aggregate\022\030\n\020group_by_column" - "s\030\004 \003(\t\022\023\n\013force_combo\030\005 \001(\010\032\255\001\n\tAggrega" - "te\022N\n\004type\030\001 \001(\0162@.io.deephaven.proto.ba" - "ckplane.grpc.ComboAggregateRequest.AggTy" - "pe\022\023\n\013match_pairs\030\002 \003(\t\022\023\n\013column_name\030\003" - " \001(\t\022\022\n\npercentile\030\004 \001(\001\022\022\n\navg_median\030\005" - " \001(\010\"\245\001\n\007AggType\022\007\n\003SUM\020\000\022\013\n\007ABS_SUM\020\001\022\t" - "\n\005GROUP\020\002\022\007\n\003AVG\020\003\022\t\n\005COUNT\020\004\022\t\n\005FIRST\020\005" - "\022\010\n\004LAST\020\006\022\007\n\003MIN\020\007\022\007\n\003MAX\020\010\022\n\n\006MEDIAN\020\t" - "\022\016\n\nPERCENTILE\020\n\022\007\n\003STD\020\013\022\007\n\003VAR\020\014\022\020\n\014WE" - "IGHTED_AVG\020\r:\002\030\001\"\355\001\n\023AggregateAllRequest" + "ableReference\022@\n\005sorts\030\003 \003(\01321.io.deepha" + "ven.proto.backplane.grpc.SortDescriptor\"" + "\327\001\n\022FilterTableRequest\022<\n\tresult_id\030\001 \001(" + "\0132).io.deephaven.proto.backplane.grpc.Ti" + "cket\022D\n\tsource_id\030\002 \001(\01321.io.deephaven.p" + "roto.backplane.grpc.TableReference\022=\n\007fi" + "lters\030\003 \003(\0132,.io.deephaven.proto.backpla" + "ne.grpc.Condition\"\371\001\n\016SeekRowRequest\022<\n\t" + "source_id\030\001 \001(\0132).io.deephaven.proto.bac" + "kplane.grpc.Ticket\022\030\n\014starting_row\030\002 \001(\022" + "B\0020\001\022\023\n\013column_name\030\003 \001(\t\022>\n\nseek_value\030" + "\004 \001(\0132*.io.deephaven.proto.backplane.grp" + "c.Literal\022\023\n\013insensitive\030\005 \001(\010\022\020\n\010contai" + "ns\030\006 \001(\010\022\023\n\013is_backward\030\007 \001(\010\")\n\017SeekRow" + "Response\022\026\n\nresult_row\030\001 \001(\022B\0020\001\" \n\tRefe" + "rence\022\023\n\013column_name\030\001 \001(\t\"\221\001\n\007Literal\022\026" + "\n\014string_value\030\001 \001(\tH\000\022\026\n\014double_value\030\002" + " \001(\001H\000\022\024\n\nbool_value\030\003 \001(\010H\000\022\030\n\nlong_val" + "ue\030\004 \001(\022B\0020\001H\000\022\035\n\017nano_time_value\030\005 \001(\022B" + "\0020\001H\000B\007\n\005value\"\221\001\n\005Value\022A\n\treference\030\001 " + "\001(\0132,.io.deephaven.proto.backplane.grpc." + "ReferenceH\000\022=\n\007literal\030\002 \001(\0132*.io.deepha" + "ven.proto.backplane.grpc.LiteralH\000B\006\n\004da" + "ta\"\274\005\n\tCondition\022>\n\003and\030\001 \001(\0132/.io.deeph" + "aven.proto.backplane.grpc.AndConditionH\000" + "\022<\n\002or\030\002 \001(\0132..io.deephaven.proto.backpl" + "ane.grpc.OrConditionH\000\022>\n\003not\030\003 \001(\0132/.io" + ".deephaven.proto.backplane.grpc.NotCondi" + "tionH\000\022F\n\007compare\030\004 \001(\01323.io.deephaven.p" + "roto.backplane.grpc.CompareConditionH\000\022<" + "\n\002in\030\005 \001(\0132..io.deephaven.proto.backplan" + "e.grpc.InConditionH\000\022D\n\006invoke\030\006 \001(\01322.i" + "o.deephaven.proto.backplane.grpc.InvokeC" + "onditionH\000\022E\n\007is_null\030\007 \001(\01322.io.deephav" + "en.proto.backplane.grpc.IsNullConditionH" + "\000\022F\n\007matches\030\010 \001(\01323.io.deephaven.proto." + "backplane.grpc.MatchesConditionH\000\022H\n\010con" + "tains\030\t \001(\01324.io.deephaven.proto.backpla" + "ne.grpc.ContainsConditionH\000\022D\n\006search\030\n " + "\001(\01322.io.deephaven.proto.backplane.grpc." + "SearchConditionH\000B\006\n\004data\"M\n\014AndConditio" + "n\022=\n\007filters\030\001 \003(\0132,.io.deephaven.proto." + "backplane.grpc.Condition\"L\n\013OrCondition\022" + "=\n\007filters\030\001 \003(\0132,.io.deephaven.proto.ba" + "ckplane.grpc.Condition\"L\n\014NotCondition\022<" + "\n\006filter\030\001 \001(\0132,.io.deephaven.proto.back" + "plane.grpc.Condition\"\254\003\n\020CompareConditio" + "n\022W\n\toperation\030\001 \001(\0162D.io.deephaven.prot" + "o.backplane.grpc.CompareCondition.Compar" + "eOperation\022L\n\020case_sensitivity\030\002 \001(\01622.i" + "o.deephaven.proto.backplane.grpc.CaseSen" + "sitivity\0225\n\003lhs\030\003 \001(\0132(.io.deephaven.pro" + "to.backplane.grpc.Value\0225\n\003rhs\030\004 \001(\0132(.i" + "o.deephaven.proto.backplane.grpc.Value\"\202" + "\001\n\020CompareOperation\022\r\n\tLESS_THAN\020\000\022\026\n\022LE" + "SS_THAN_OR_EQUAL\020\001\022\020\n\014GREATER_THAN\020\002\022\031\n\025" + "GREATER_THAN_OR_EQUAL\020\003\022\n\n\006EQUALS\020\004\022\016\n\nN" + "OT_EQUALS\020\005\"\225\002\n\013InCondition\0228\n\006target\030\001 " + "\001(\0132(.io.deephaven.proto.backplane.grpc." + "Value\022<\n\ncandidates\030\002 \003(\0132(.io.deephaven" + ".proto.backplane.grpc.Value\022L\n\020case_sens" + "itivity\030\003 \001(\01622.io.deephaven.proto.backp" + "lane.grpc.CaseSensitivity\022@\n\nmatch_type\030" + "\004 \001(\0162,.io.deephaven.proto.backplane.grp" + "c.MatchType\"\230\001\n\017InvokeCondition\022\016\n\006metho" + "d\030\001 \001(\t\0228\n\006target\030\002 \001(\0132(.io.deephaven.p" + "roto.backplane.grpc.Value\022;\n\targuments\030\003" + " \003(\0132(.io.deephaven.proto.backplane.grpc" + ".Value\"R\n\017IsNullCondition\022\?\n\treference\030\001" + " \001(\0132,.io.deephaven.proto.backplane.grpc" + ".Reference\"\362\001\n\020MatchesCondition\022\?\n\trefer" + "ence\030\001 \001(\0132,.io.deephaven.proto.backplan" + "e.grpc.Reference\022\r\n\005regex\030\002 \001(\t\022L\n\020case_" + "sensitivity\030\003 \001(\01622.io.deephaven.proto.b" + "ackplane.grpc.CaseSensitivity\022@\n\nmatch_t" + "ype\030\004 \001(\0162,.io.deephaven.proto.backplane" + ".grpc.MatchType\"\373\001\n\021ContainsCondition\022\?\n" + "\treference\030\001 \001(\0132,.io.deephaven.proto.ba" + "ckplane.grpc.Reference\022\025\n\rsearch_string\030" + "\002 \001(\t\022L\n\020case_sensitivity\030\003 \001(\01622.io.dee" + "phaven.proto.backplane.grpc.CaseSensitiv" + "ity\022@\n\nmatch_type\030\004 \001(\0162,.io.deephaven.p" + "roto.backplane.grpc.MatchType\"s\n\017SearchC" + "ondition\022\025\n\rsearch_string\030\001 \001(\t\022I\n\023optio" + "nal_references\030\002 \003(\0132,.io.deephaven.prot" + "o.backplane.grpc.Reference\"\224\001\n\016FlattenRe" + "quest\022<\n\tresult_id\030\001 \001(\0132).io.deephaven." + "proto.backplane.grpc.Ticket\022D\n\tsource_id" + "\030\002 \001(\01321.io.deephaven.proto.backplane.gr" + "pc.TableReference\"\226\001\n\020MetaTableRequest\022<" + "\n\tresult_id\030\001 \001(\0132).io.deephaven.proto.b" + "ackplane.grpc.Ticket\022D\n\tsource_id\030\002 \001(\0132" + "1.io.deephaven.proto.backplane.grpc.Tabl" + "eReference\"\264\003\n\031RunChartDownsampleRequest" "\022<\n\tresult_id\030\001 \001(\0132).io.deephaven.proto" ".backplane.grpc.Ticket\022D\n\tsource_id\030\002 \001(" "\01321.io.deephaven.proto.backplane.grpc.Ta" - "bleReference\0228\n\004spec\030\003 \001(\0132*.io.deephave" - "n.proto.backplane.grpc.AggSpec\022\030\n\020group_" - "by_columns\030\004 \003(\t\"\327\027\n\007AggSpec\022K\n\007abs_sum\030" - "\001 \001(\01328.io.deephaven.proto.backplane.grp" - "c.AggSpec.AggSpecAbsSumH\000\022i\n\026approximate" - "_percentile\030\002 \001(\0132G.io.deephaven.proto.b" - "ackplane.grpc.AggSpec.AggSpecApproximate" - "PercentileH\000\022D\n\003avg\030\003 \001(\01325.io.deephaven" - ".proto.backplane.grpc.AggSpec.AggSpecAvg" - "H\000\022Y\n\016count_distinct\030\004 \001(\0132\?.io.deephave" - "n.proto.backplane.grpc.AggSpec.AggSpecCo" - "untDistinctH\000\022N\n\010distinct\030\005 \001(\0132:.io.dee" - "phaven.proto.backplane.grpc.AggSpec.AggS" - "pecDistinctH\000\022H\n\005first\030\006 \001(\01327.io.deepha" - "ven.proto.backplane.grpc.AggSpec.AggSpec" - "FirstH\000\022L\n\007formula\030\007 \001(\01329.io.deephaven." - "proto.backplane.grpc.AggSpec.AggSpecForm" - "ulaH\000\022J\n\006freeze\030\010 \001(\01328.io.deephaven.pro" - "to.backplane.grpc.AggSpec.AggSpecFreezeH" - "\000\022H\n\005group\030\t \001(\01327.io.deephaven.proto.ba" - "ckplane.grpc.AggSpec.AggSpecGroupH\000\022F\n\004l" - "ast\030\n \001(\01326.io.deephaven.proto.backplane" - ".grpc.AggSpec.AggSpecLastH\000\022D\n\003max\030\013 \001(\013" - "25.io.deephaven.proto.backplane.grpc.Agg" - "Spec.AggSpecMaxH\000\022J\n\006median\030\014 \001(\01328.io.d" - "eephaven.proto.backplane.grpc.AggSpec.Ag" - "gSpecMedianH\000\022D\n\003min\030\r \001(\01325.io.deephave" - "n.proto.backplane.grpc.AggSpec.AggSpecMi" - "nH\000\022R\n\npercentile\030\016 \001(\0132<.io.deephaven.p" - "roto.backplane.grpc.AggSpec.AggSpecPerce" - "ntileH\000\022P\n\014sorted_first\030\017 \001(\01328.io.deeph" - "aven.proto.backplane.grpc.AggSpec.AggSpe" - "cSortedH\000\022O\n\013sorted_last\030\020 \001(\01328.io.deep" - "haven.proto.backplane.grpc.AggSpec.AggSp" - "ecSortedH\000\022D\n\003std\030\021 \001(\01325.io.deephaven.p" - "roto.backplane.grpc.AggSpec.AggSpecStdH\000" - "\022D\n\003sum\030\022 \001(\01325.io.deephaven.proto.backp" - "lane.grpc.AggSpec.AggSpecSumH\000\022M\n\010t_dige" - "st\030\023 \001(\01329.io.deephaven.proto.backplane." - "grpc.AggSpec.AggSpecTDigestH\000\022J\n\006unique\030" - "\024 \001(\01328.io.deephaven.proto.backplane.grp" - "c.AggSpec.AggSpecUniqueH\000\022R\n\014weighted_av" - "g\030\025 \001(\0132:.io.deephaven.proto.backplane.g" - "rpc.AggSpec.AggSpecWeightedH\000\022R\n\014weighte" - "d_sum\030\026 \001(\0132:.io.deephaven.proto.backpla" - "ne.grpc.AggSpec.AggSpecWeightedH\000\022D\n\003var" - "\030\027 \001(\01325.io.deephaven.proto.backplane.gr" - "pc.AggSpec.AggSpecVarH\000\032\\\n\034AggSpecApprox" - "imatePercentile\022\022\n\npercentile\030\001 \001(\001\022\030\n\013c" - "ompression\030\002 \001(\001H\000\210\001\001B\016\n\014_compression\032+\n" - "\024AggSpecCountDistinct\022\023\n\013count_nulls\030\001 \001" - "(\010\032(\n\017AggSpecDistinct\022\025\n\rinclude_nulls\030\001" - " \001(\010\0326\n\016AggSpecFormula\022\017\n\007formula\030\001 \001(\t\022" - "\023\n\013param_token\030\002 \001(\t\032/\n\rAggSpecMedian\022\036\n" - "\026average_evenly_divided\030\001 \001(\010\032G\n\021AggSpec" - "Percentile\022\022\n\npercentile\030\001 \001(\001\022\036\n\026averag" - "e_evenly_divided\030\002 \001(\010\032`\n\rAggSpecSorted\022" - "O\n\007columns\030\001 \003(\0132>.io.deephaven.proto.ba" - "ckplane.grpc.AggSpec.AggSpecSortedColumn" - "\032*\n\023AggSpecSortedColumn\022\023\n\013column_name\030\001" - " \001(\t\032:\n\016AggSpecTDigest\022\030\n\013compression\030\001 " - "\001(\001H\000\210\001\001B\016\n\014_compression\032\210\001\n\rAggSpecUniq" - "ue\022\025\n\rinclude_nulls\030\001 \001(\010\022`\n\023non_unique_" - "sentinel\030\002 \001(\0132C.io.deephaven.proto.back" - "plane.grpc.AggSpec.AggSpecNonUniqueSenti" - "nel\032\265\002\n\030AggSpecNonUniqueSentinel\022B\n\nnull" - "_value\030\001 \001(\0162,.io.deephaven.proto.backpl" - "ane.grpc.NullValueH\000\022\026\n\014string_value\030\002 \001" - "(\tH\000\022\023\n\tint_value\030\003 \001(\021H\000\022\030\n\nlong_value\030" - "\004 \001(\022B\0020\001H\000\022\025\n\013float_value\030\005 \001(\002H\000\022\026\n\014do" - "uble_value\030\006 \001(\001H\000\022\024\n\nbool_value\030\007 \001(\010H\000" - "\022\024\n\nbyte_value\030\010 \001(\021H\000\022\025\n\013short_value\030\t " - "\001(\021H\000\022\024\n\nchar_value\030\n \001(\021H\000B\006\n\004type\032(\n\017A" - "ggSpecWeighted\022\025\n\rweight_column\030\001 \001(\t\032\017\n" - "\rAggSpecAbsSum\032\014\n\nAggSpecAvg\032\016\n\014AggSpecF" - "irst\032\017\n\rAggSpecFreeze\032\016\n\014AggSpecGroup\032\r\n" - "\013AggSpecLast\032\014\n\nAggSpecMax\032\014\n\nAggSpecMin" - "\032\014\n\nAggSpecStd\032\014\n\nAggSpecSum\032\014\n\nAggSpecV" - "arB\006\n\004type\"\334\002\n\020AggregateRequest\022<\n\tresul" - "t_id\030\001 \001(\0132).io.deephaven.proto.backplan" - "e.grpc.Ticket\022D\n\tsource_id\030\002 \001(\01321.io.de" - "ephaven.proto.backplane.grpc.TableRefere" - "nce\022L\n\021initial_groups_id\030\003 \001(\01321.io.deep" - "haven.proto.backplane.grpc.TableReferenc" - "e\022\026\n\016preserve_empty\030\004 \001(\010\022D\n\014aggregation" - "s\030\005 \003(\0132..io.deephaven.proto.backplane.g" - "rpc.Aggregation\022\030\n\020group_by_columns\030\006 \003(" - "\t\"\323\005\n\013Aggregation\022T\n\007columns\030\001 \001(\0132A.io." - "deephaven.proto.backplane.grpc.Aggregati" - "on.AggregationColumnsH\000\022P\n\005count\030\002 \001(\0132\?" - ".io.deephaven.proto.backplane.grpc.Aggre" - "gation.AggregationCountH\000\022Y\n\rfirst_row_k" - "ey\030\003 \001(\0132@.io.deephaven.proto.backplane." - "grpc.Aggregation.AggregationRowKeyH\000\022X\n\014" - "last_row_key\030\004 \001(\0132@.io.deephaven.proto." - "backplane.grpc.Aggregation.AggregationRo" - "wKeyH\000\022X\n\tpartition\030\005 \001(\0132C.io.deephaven" - ".proto.backplane.grpc.Aggregation.Aggreg" - "ationPartitionH\000\032c\n\022AggregationColumns\0228" - "\n\004spec\030\001 \001(\0132*.io.deephaven.proto.backpl" - "ane.grpc.AggSpec\022\023\n\013match_pairs\030\002 \003(\t\032\'\n" - "\020AggregationCount\022\023\n\013column_name\030\001 \001(\t\032(" - "\n\021AggregationRowKey\022\023\n\013column_name\030\001 \001(\t" - "\032M\n\024AggregationPartition\022\023\n\013column_name\030" - "\001 \001(\t\022 \n\030include_group_by_columns\030\002 \001(\010B" - "\006\n\004type\"\341\001\n\016SortDescriptor\022\023\n\013column_nam" - "e\030\001 \001(\t\022\023\n\013is_absolute\030\002 \001(\010\022R\n\tdirectio" - "n\030\003 \001(\0162\?.io.deephaven.proto.backplane.g" - "rpc.SortDescriptor.SortDirection\"Q\n\rSort" - "Direction\022\013\n\007UNKNOWN\020\000\022\027\n\nDESCENDING\020\377\377\377" - "\377\377\377\377\377\377\001\022\r\n\tASCENDING\020\001\022\013\n\007REVERSE\020\002\"\330\001\n\020" - "SortTableRequest\022<\n\tresult_id\030\001 \001(\0132).io" - ".deephaven.proto.backplane.grpc.Ticket\022D" - "\n\tsource_id\030\002 \001(\01321.io.deephaven.proto.b" - "ackplane.grpc.TableReference\022@\n\005sorts\030\003 " - "\003(\01321.io.deephaven.proto.backplane.grpc." - "SortDescriptor\"\327\001\n\022FilterTableRequest\022<\n" + "bleReference\022\023\n\013pixel_count\030\003 \001(\005\022Z\n\nzoo" + "m_range\030\004 \001(\0132F.io.deephaven.proto.backp" + "lane.grpc.RunChartDownsampleRequest.Zoom" + "Range\022\025\n\rx_column_name\030\005 \001(\t\022\026\n\016y_column" + "_names\030\006 \003(\t\032s\n\tZoomRange\022\037\n\016min_date_na" + "nos\030\001 \001(\003B\0020\001H\000\210\001\001\022\037\n\016max_date_nanos\030\002 \001" + "(\003B\0020\001H\001\210\001\001B\021\n\017_min_date_nanosB\021\n\017_max_d" + "ate_nanos\"\365\004\n\027CreateInputTableRequest\022<\n" "\tresult_id\030\001 \001(\0132).io.deephaven.proto.ba" - "ckplane.grpc.Ticket\022D\n\tsource_id\030\002 \001(\01321" - ".io.deephaven.proto.backplane.grpc.Table" - "Reference\022=\n\007filters\030\003 \003(\0132,.io.deephave" - "n.proto.backplane.grpc.Condition\"\371\001\n\016See" - "kRowRequest\022<\n\tsource_id\030\001 \001(\0132).io.deep" - "haven.proto.backplane.grpc.Ticket\022\030\n\014sta" - "rting_row\030\002 \001(\022B\0020\001\022\023\n\013column_name\030\003 \001(\t" - "\022>\n\nseek_value\030\004 \001(\0132*.io.deephaven.prot" - "o.backplane.grpc.Literal\022\023\n\013insensitive\030" - "\005 \001(\010\022\020\n\010contains\030\006 \001(\010\022\023\n\013is_backward\030\007" - " \001(\010\")\n\017SeekRowResponse\022\026\n\nresult_row\030\001 " - "\001(\022B\0020\001\" \n\tReference\022\023\n\013column_name\030\001 \001(" - "\t\"\221\001\n\007Literal\022\026\n\014string_value\030\001 \001(\tH\000\022\026\n" - "\014double_value\030\002 \001(\001H\000\022\024\n\nbool_value\030\003 \001(" - "\010H\000\022\030\n\nlong_value\030\004 \001(\022B\0020\001H\000\022\035\n\017nano_ti" - "me_value\030\005 \001(\022B\0020\001H\000B\007\n\005value\"\221\001\n\005Value\022" - "A\n\treference\030\001 \001(\0132,.io.deephaven.proto." - "backplane.grpc.ReferenceH\000\022=\n\007literal\030\002 " - "\001(\0132*.io.deephaven.proto.backplane.grpc." - "LiteralH\000B\006\n\004data\"\274\005\n\tCondition\022>\n\003and\030\001" - " \001(\0132/.io.deephaven.proto.backplane.grpc" - ".AndConditionH\000\022<\n\002or\030\002 \001(\0132..io.deephav" - "en.proto.backplane.grpc.OrConditionH\000\022>\n" - "\003not\030\003 \001(\0132/.io.deephaven.proto.backplan" - "e.grpc.NotConditionH\000\022F\n\007compare\030\004 \001(\01323" - ".io.deephaven.proto.backplane.grpc.Compa" - "reConditionH\000\022<\n\002in\030\005 \001(\0132..io.deephaven" - ".proto.backplane.grpc.InConditionH\000\022D\n\006i" - "nvoke\030\006 \001(\01322.io.deephaven.proto.backpla" - "ne.grpc.InvokeConditionH\000\022E\n\007is_null\030\007 \001" - "(\01322.io.deephaven.proto.backplane.grpc.I" - "sNullConditionH\000\022F\n\007matches\030\010 \001(\01323.io.d" - "eephaven.proto.backplane.grpc.MatchesCon" - "ditionH\000\022H\n\010contains\030\t \001(\01324.io.deephave" - "n.proto.backplane.grpc.ContainsCondition" - "H\000\022D\n\006search\030\n \001(\01322.io.deephaven.proto." - "backplane.grpc.SearchConditionH\000B\006\n\004data" - "\"M\n\014AndCondition\022=\n\007filters\030\001 \003(\0132,.io.d" - "eephaven.proto.backplane.grpc.Condition\"" - "L\n\013OrCondition\022=\n\007filters\030\001 \003(\0132,.io.dee" - "phaven.proto.backplane.grpc.Condition\"L\n" - "\014NotCondition\022<\n\006filter\030\001 \001(\0132,.io.deeph" - "aven.proto.backplane.grpc.Condition\"\254\003\n\020" - "CompareCondition\022W\n\toperation\030\001 \001(\0162D.io" - ".deephaven.proto.backplane.grpc.CompareC" - "ondition.CompareOperation\022L\n\020case_sensit" - "ivity\030\002 \001(\01622.io.deephaven.proto.backpla" - "ne.grpc.CaseSensitivity\0225\n\003lhs\030\003 \001(\0132(.i" - "o.deephaven.proto.backplane.grpc.Value\0225" - "\n\003rhs\030\004 \001(\0132(.io.deephaven.proto.backpla" - "ne.grpc.Value\"\202\001\n\020CompareOperation\022\r\n\tLE" - "SS_THAN\020\000\022\026\n\022LESS_THAN_OR_EQUAL\020\001\022\020\n\014GRE" - "ATER_THAN\020\002\022\031\n\025GREATER_THAN_OR_EQUAL\020\003\022\n" - "\n\006EQUALS\020\004\022\016\n\nNOT_EQUALS\020\005\"\225\002\n\013InConditi" - "on\0228\n\006target\030\001 \001(\0132(.io.deephaven.proto." - "backplane.grpc.Value\022<\n\ncandidates\030\002 \003(\013" - "2(.io.deephaven.proto.backplane.grpc.Val" - "ue\022L\n\020case_sensitivity\030\003 \001(\01622.io.deepha" - "ven.proto.backplane.grpc.CaseSensitivity" - "\022@\n\nmatch_type\030\004 \001(\0162,.io.deephaven.prot" - "o.backplane.grpc.MatchType\"\230\001\n\017InvokeCon" - "dition\022\016\n\006method\030\001 \001(\t\0228\n\006target\030\002 \001(\0132(" - ".io.deephaven.proto.backplane.grpc.Value" - "\022;\n\targuments\030\003 \003(\0132(.io.deephaven.proto" - ".backplane.grpc.Value\"R\n\017IsNullCondition" - "\022\?\n\treference\030\001 \001(\0132,.io.deephaven.proto" - ".backplane.grpc.Reference\"\362\001\n\020MatchesCon" - "dition\022\?\n\treference\030\001 \001(\0132,.io.deephaven" - ".proto.backplane.grpc.Reference\022\r\n\005regex" - "\030\002 \001(\t\022L\n\020case_sensitivity\030\003 \001(\01622.io.de" - "ephaven.proto.backplane.grpc.CaseSensiti" - "vity\022@\n\nmatch_type\030\004 \001(\0162,.io.deephaven." - "proto.backplane.grpc.MatchType\"\373\001\n\021Conta" - "insCondition\022\?\n\treference\030\001 \001(\0132,.io.dee" - "phaven.proto.backplane.grpc.Reference\022\025\n" - "\rsearch_string\030\002 \001(\t\022L\n\020case_sensitivity" - "\030\003 \001(\01622.io.deephaven.proto.backplane.gr" - "pc.CaseSensitivity\022@\n\nmatch_type\030\004 \001(\0162," - ".io.deephaven.proto.backplane.grpc.Match" - "Type\"s\n\017SearchCondition\022\025\n\rsearch_string" - "\030\001 \001(\t\022I\n\023optional_references\030\002 \003(\0132,.io" - ".deephaven.proto.backplane.grpc.Referenc" - "e\"\224\001\n\016FlattenRequest\022<\n\tresult_id\030\001 \001(\0132" + "ckplane.grpc.Ticket\022L\n\017source_table_id\030\002" + " \001(\01321.io.deephaven.proto.backplane.grpc" + ".TableReferenceH\000\022\020\n\006schema\030\003 \001(\014H\000\022W\n\004k" + "ind\030\004 \001(\0132I.io.deephaven.proto.backplane" + ".grpc.CreateInputTableRequest.InputTable" + "Kind\032\324\002\n\016InputTableKind\022}\n\025in_memory_app" + "end_only\030\001 \001(\0132\\.io.deephaven.proto.back" + "plane.grpc.CreateInputTableRequest.Input" + "TableKind.InMemoryAppendOnlyH\000\022{\n\024in_mem" + "ory_key_backed\030\002 \001(\0132[.io.deephaven.prot" + "o.backplane.grpc.CreateInputTableRequest" + ".InputTableKind.InMemoryKeyBackedH\000\032\024\n\022I" + "nMemoryAppendOnly\032(\n\021InMemoryKeyBacked\022\023" + "\n\013key_columns\030\001 \003(\tB\006\n\004kindB\014\n\ndefinitio" + "n\"\203\002\n\016WhereInRequest\022<\n\tresult_id\030\001 \001(\0132" ").io.deephaven.proto.backplane.grpc.Tick" - "et\022D\n\tsource_id\030\002 \001(\01321.io.deephaven.pro" - "to.backplane.grpc.TableReference\"\226\001\n\020Met" - "aTableRequest\022<\n\tresult_id\030\001 \001(\0132).io.de" - "ephaven.proto.backplane.grpc.Ticket\022D\n\ts" - "ource_id\030\002 \001(\01321.io.deephaven.proto.back" - "plane.grpc.TableReference\"\264\003\n\031RunChartDo" - "wnsampleRequest\022<\n\tresult_id\030\001 \001(\0132).io." - "deephaven.proto.backplane.grpc.Ticket\022D\n" - "\tsource_id\030\002 \001(\01321.io.deephaven.proto.ba" - "ckplane.grpc.TableReference\022\023\n\013pixel_cou" - "nt\030\003 \001(\005\022Z\n\nzoom_range\030\004 \001(\0132F.io.deepha" - "ven.proto.backplane.grpc.RunChartDownsam" - "pleRequest.ZoomRange\022\025\n\rx_column_name\030\005 " - "\001(\t\022\026\n\016y_column_names\030\006 \003(\t\032s\n\tZoomRange" - "\022\037\n\016min_date_nanos\030\001 \001(\003B\0020\001H\000\210\001\001\022\037\n\016max" - "_date_nanos\030\002 \001(\003B\0020\001H\001\210\001\001B\021\n\017_min_date_" - "nanosB\021\n\017_max_date_nanos\"\365\004\n\027CreateInput" - "TableRequest\022<\n\tresult_id\030\001 \001(\0132).io.dee" - "phaven.proto.backplane.grpc.Ticket\022L\n\017so" - "urce_table_id\030\002 \001(\01321.io.deephaven.proto" - ".backplane.grpc.TableReferenceH\000\022\020\n\006sche" - "ma\030\003 \001(\014H\000\022W\n\004kind\030\004 \001(\0132I.io.deephaven." - "proto.backplane.grpc.CreateInputTableReq" - "uest.InputTableKind\032\324\002\n\016InputTableKind\022}" - "\n\025in_memory_append_only\030\001 \001(\0132\\.io.deeph" - "aven.proto.backplane.grpc.CreateInputTab" - "leRequest.InputTableKind.InMemoryAppendO" - "nlyH\000\022{\n\024in_memory_key_backed\030\002 \001(\0132[.io" - ".deephaven.proto.backplane.grpc.CreateIn" - "putTableRequest.InputTableKind.InMemoryK" - "eyBackedH\000\032\024\n\022InMemoryAppendOnly\032(\n\021InMe" - "moryKeyBacked\022\023\n\013key_columns\030\001 \003(\tB\006\n\004ki" - "ndB\014\n\ndefinition\"\203\002\n\016WhereInRequest\022<\n\tr" - "esult_id\030\001 \001(\0132).io.deephaven.proto.back" - "plane.grpc.Ticket\022B\n\007left_id\030\002 \001(\01321.io." - "deephaven.proto.backplane.grpc.TableRefe" - "rence\022C\n\010right_id\030\003 \001(\01321.io.deephaven.p" - "roto.backplane.grpc.TableReference\022\020\n\010in" - "verted\030\004 \001(\010\022\030\n\020columns_to_match\030\005 \003(\t\"\340" - "\027\n\021BatchTableRequest\022K\n\003ops\030\001 \003(\0132>.io.d" - "eephaven.proto.backplane.grpc.BatchTable" - "Request.Operation\032\375\026\n\tOperation\022K\n\013empty" - "_table\030\001 \001(\01324.io.deephaven.proto.backpl" - "ane.grpc.EmptyTableRequestH\000\022I\n\ntime_tab" - "le\030\002 \001(\01323.io.deephaven.proto.backplane." - "grpc.TimeTableRequestH\000\022M\n\014drop_columns\030" - "\003 \001(\01325.io.deephaven.proto.backplane.grp" - "c.DropColumnsRequestH\000\022J\n\006update\030\004 \001(\01328" - ".io.deephaven.proto.backplane.grpc.Selec" - "tOrUpdateRequestH\000\022O\n\013lazy_update\030\005 \001(\0132" - "8.io.deephaven.proto.backplane.grpc.Sele" - "ctOrUpdateRequestH\000\022H\n\004view\030\006 \001(\01328.io.d" - "eephaven.proto.backplane.grpc.SelectOrUp" - "dateRequestH\000\022O\n\013update_view\030\007 \001(\01328.io." - "deephaven.proto.backplane.grpc.SelectOrU" - "pdateRequestH\000\022J\n\006select\030\010 \001(\01328.io.deep" - "haven.proto.backplane.grpc.SelectOrUpdat" - "eRequestH\000\022S\n\017select_distinct\030\t \001(\01328.io" - ".deephaven.proto.backplane.grpc.SelectDi" - "stinctRequestH\000\022G\n\006filter\030\n \001(\01325.io.dee" - "phaven.proto.backplane.grpc.FilterTableR" - "equestH\000\022`\n\023unstructured_filter\030\013 \001(\0132A." - "io.deephaven.proto.backplane.grpc.Unstru" - "cturedFilterTableRequestH\000\022C\n\004sort\030\014 \001(\013" - "23.io.deephaven.proto.backplane.grpc.Sor" - "tTableRequestH\000\022D\n\004head\030\r \001(\01324.io.deeph" - "aven.proto.backplane.grpc.HeadOrTailRequ" - "estH\000\022D\n\004tail\030\016 \001(\01324.io.deephaven.proto" - ".backplane.grpc.HeadOrTailRequestH\000\022I\n\007h" - "ead_by\030\017 \001(\01326.io.deephaven.proto.backpl" - "ane.grpc.HeadOrTailByRequestH\000\022I\n\007tail_b" - "y\030\020 \001(\01326.io.deephaven.proto.backplane.g" - "rpc.HeadOrTailByRequestH\000\022D\n\007ungroup\030\021 \001" - "(\01321.io.deephaven.proto.backplane.grpc.U" - "ngroupRequestH\000\022F\n\005merge\030\022 \001(\01325.io.deep" - "haven.proto.backplane.grpc.MergeTablesRe" - "questH\000\022S\n\017combo_aggregate\030\023 \001(\01328.io.de" - "ephaven.proto.backplane.grpc.ComboAggreg" - "ateRequestH\000\022D\n\007flatten\030\025 \001(\01321.io.deeph" - "aven.proto.backplane.grpc.FlattenRequest" - "H\000\022\\\n\024run_chart_downsample\030\026 \001(\0132<.io.de" - "ephaven.proto.backplane.grpc.RunChartDow" - "nsampleRequestH\000\022O\n\ncross_join\030\027 \001(\01329.i" - "o.deephaven.proto.backplane.grpc.CrossJo" - "inTablesRequestH\000\022S\n\014natural_join\030\030 \001(\0132" - ";.io.deephaven.proto.backplane.grpc.Natu" - "ralJoinTablesRequestH\000\022O\n\nexact_join\030\031 \001" - "(\01329.io.deephaven.proto.backplane.grpc.E" - "xactJoinTablesRequestH\000\022M\n\tleft_join\030\032 \001" - "(\01328.io.deephaven.proto.backplane.grpc.L" - "eftJoinTablesRequestH\000\022N\n\nas_of_join\030\033 \001" - "(\01328.io.deephaven.proto.backplane.grpc.A" - "sOfJoinTablesRequestH\000\022K\n\013fetch_table\030\034 " - "\001(\01324.io.deephaven.proto.backplane.grpc." - "FetchTableRequestH\000\022^\n\025apply_preview_col" - "umns\030\036 \001(\0132=.io.deephaven.proto.backplan" - "e.grpc.ApplyPreviewColumnsRequestH\000\022X\n\022c" - "reate_input_table\030\037 \001(\0132:.io.deephaven.p" - "roto.backplane.grpc.CreateInputTableRequ" - "estH\000\022G\n\tupdate_by\030 \001(\01322.io.deephaven." - "proto.backplane.grpc.UpdateByRequestH\000\022E" - "\n\010where_in\030! \001(\01321.io.deephaven.proto.ba" - "ckplane.grpc.WhereInRequestH\000\022O\n\raggrega" - "te_all\030\" \001(\01326.io.deephaven.proto.backpl" - "ane.grpc.AggregateAllRequestH\000\022H\n\taggreg" - "ate\030# \001(\01323.io.deephaven.proto.backplane" - ".grpc.AggregateRequestH\000\022K\n\010snapshot\030$ \001" - "(\01327.io.deephaven.proto.backplane.grpc.S" - "napshotTableRequestH\000\022T\n\rsnapshot_when\030%" - " \001(\0132;.io.deephaven.proto.backplane.grpc" - ".SnapshotWhenTableRequestH\000\022I\n\nmeta_tabl" - "e\030& \001(\01323.io.deephaven.proto.backplane.g" - "rpc.MetaTableRequestH\000\022O\n\nrange_join\030\' \001" - "(\01329.io.deephaven.proto.backplane.grpc.R" - "angeJoinTablesRequestH\000B\004\n\002opJ\004\010\024\020\025J\004\010\035\020" - "\036*b\n\017BadDataBehavior\022#\n\037BAD_DATA_BEHAVIO" - "R_NOT_SPECIFIED\020\000\022\t\n\005THROW\020\001\022\t\n\005RESET\020\002\022" - "\010\n\004SKIP\020\003\022\n\n\006POISON\020\004*t\n\024UpdateByNullBeh" - "avior\022\037\n\033NULL_BEHAVIOR_NOT_SPECIFIED\020\000\022\022" - "\n\016NULL_DOMINATES\020\001\022\023\n\017VALUE_DOMINATES\020\002\022" - "\022\n\016ZERO_DOMINATES\020\003*\033\n\tNullValue\022\016\n\nNULL" - "_VALUE\020\000*2\n\017CaseSensitivity\022\016\n\nMATCH_CAS" - "E\020\000\022\017\n\013IGNORE_CASE\020\001*&\n\tMatchType\022\013\n\007REG" - "ULAR\020\000\022\014\n\010INVERTED\020\0012\370,\n\014TableService\022\221\001" - "\n GetExportedTableCreationResponse\022).io." - "deephaven.proto.backplane.grpc.Ticket\032@." - "io.deephaven.proto.backplane.grpc.Export" - "edTableCreationResponse\"\000\022\206\001\n\nFetchTable" - "\0224.io.deephaven.proto.backplane.grpc.Fet" - "chTableRequest\032@.io.deephaven.proto.back" - "plane.grpc.ExportedTableCreationResponse" - "\"\000\022\230\001\n\023ApplyPreviewColumns\022=.io.deephave" - "n.proto.backplane.grpc.ApplyPreviewColum" - "nsRequest\032@.io.deephaven.proto.backplane" - ".grpc.ExportedTableCreationResponse\"\000\022\206\001" - "\n\nEmptyTable\0224.io.deephaven.proto.backpl" - "ane.grpc.EmptyTableRequest\032@.io.deephave" + "et\022B\n\007left_id\030\002 \001(\01321.io.deephaven.proto" + ".backplane.grpc.TableReference\022C\n\010right_" + "id\030\003 \001(\01321.io.deephaven.proto.backplane." + "grpc.TableReference\022\020\n\010inverted\030\004 \001(\010\022\030\n" + "\020columns_to_match\030\005 \003(\t\"\357\030\n\021BatchTableRe" + "quest\022K\n\003ops\030\001 \003(\0132>.io.deephaven.proto." + "backplane.grpc.BatchTableRequest.Operati" + "on\032\214\030\n\tOperation\022K\n\013empty_table\030\001 \001(\01324." + "io.deephaven.proto.backplane.grpc.EmptyT" + "ableRequestH\000\022I\n\ntime_table\030\002 \001(\01323.io.d" + "eephaven.proto.backplane.grpc.TimeTableR" + "equestH\000\022M\n\014drop_columns\030\003 \001(\01325.io.deep" + "haven.proto.backplane.grpc.DropColumnsRe" + "questH\000\022J\n\006update\030\004 \001(\01328.io.deephaven.p" + "roto.backplane.grpc.SelectOrUpdateReques" + "tH\000\022O\n\013lazy_update\030\005 \001(\01328.io.deephaven." + "proto.backplane.grpc.SelectOrUpdateReque" + "stH\000\022H\n\004view\030\006 \001(\01328.io.deephaven.proto." + "backplane.grpc.SelectOrUpdateRequestH\000\022O" + "\n\013update_view\030\007 \001(\01328.io.deephaven.proto" + ".backplane.grpc.SelectOrUpdateRequestH\000\022" + "J\n\006select\030\010 \001(\01328.io.deephaven.proto.bac" + "kplane.grpc.SelectOrUpdateRequestH\000\022S\n\017s" + "elect_distinct\030\t \001(\01328.io.deephaven.prot" + "o.backplane.grpc.SelectDistinctRequestH\000" + "\022G\n\006filter\030\n \001(\01325.io.deephaven.proto.ba" + "ckplane.grpc.FilterTableRequestH\000\022`\n\023uns" + "tructured_filter\030\013 \001(\0132A.io.deephaven.pr" + "oto.backplane.grpc.UnstructuredFilterTab" + "leRequestH\000\022C\n\004sort\030\014 \001(\01323.io.deephaven" + ".proto.backplane.grpc.SortTableRequestH\000" + "\022D\n\004head\030\r \001(\01324.io.deephaven.proto.back" + "plane.grpc.HeadOrTailRequestH\000\022D\n\004tail\030\016" + " \001(\01324.io.deephaven.proto.backplane.grpc" + ".HeadOrTailRequestH\000\022I\n\007head_by\030\017 \001(\01326." + "io.deephaven.proto.backplane.grpc.HeadOr" + "TailByRequestH\000\022I\n\007tail_by\030\020 \001(\01326.io.de" + "ephaven.proto.backplane.grpc.HeadOrTailB" + "yRequestH\000\022D\n\007ungroup\030\021 \001(\01321.io.deephav" + "en.proto.backplane.grpc.UngroupRequestH\000" + "\022F\n\005merge\030\022 \001(\01325.io.deephaven.proto.bac" + "kplane.grpc.MergeTablesRequestH\000\022S\n\017comb" + "o_aggregate\030\023 \001(\01328.io.deephaven.proto.b" + "ackplane.grpc.ComboAggregateRequestH\000\022D\n" + "\007flatten\030\025 \001(\01321.io.deephaven.proto.back" + "plane.grpc.FlattenRequestH\000\022\\\n\024run_chart" + "_downsample\030\026 \001(\0132<.io.deephaven.proto.b" + "ackplane.grpc.RunChartDownsampleRequestH" + "\000\022O\n\ncross_join\030\027 \001(\01329.io.deephaven.pro" + "to.backplane.grpc.CrossJoinTablesRequest" + "H\000\022S\n\014natural_join\030\030 \001(\0132;.io.deephaven." + "proto.backplane.grpc.NaturalJoinTablesRe" + "questH\000\022O\n\nexact_join\030\031 \001(\01329.io.deephav" + "en.proto.backplane.grpc.ExactJoinTablesR" + "equestH\000\022M\n\tleft_join\030\032 \001(\01328.io.deephav" + "en.proto.backplane.grpc.LeftJoinTablesRe" + "questH\000\022R\n\nas_of_join\030\033 \001(\01328.io.deephav" + "en.proto.backplane.grpc.AsOfJoinTablesRe" + "questB\002\030\001H\000\022K\n\013fetch_table\030\034 \001(\01324.io.de" + "ephaven.proto.backplane.grpc.FetchTableR" + "equestH\000\022^\n\025apply_preview_columns\030\036 \001(\0132" + "=.io.deephaven.proto.backplane.grpc.Appl" + "yPreviewColumnsRequestH\000\022X\n\022create_input" + "_table\030\037 \001(\0132:.io.deephaven.proto.backpl" + "ane.grpc.CreateInputTableRequestH\000\022G\n\tup" + "date_by\030 \001(\01322.io.deephaven.proto.backp" + "lane.grpc.UpdateByRequestH\000\022E\n\010where_in\030" + "! \001(\01321.io.deephaven.proto.backplane.grp" + "c.WhereInRequestH\000\022O\n\raggregate_all\030\" \001(" + "\01326.io.deephaven.proto.backplane.grpc.Ag" + "gregateAllRequestH\000\022H\n\taggregate\030# \001(\01323" + ".io.deephaven.proto.backplane.grpc.Aggre" + "gateRequestH\000\022K\n\010snapshot\030$ \001(\01327.io.dee" + "phaven.proto.backplane.grpc.SnapshotTabl" + "eRequestH\000\022T\n\rsnapshot_when\030% \001(\0132;.io.d" + "eephaven.proto.backplane.grpc.SnapshotWh" + "enTableRequestH\000\022I\n\nmeta_table\030& \001(\01323.i" + "o.deephaven.proto.backplane.grpc.MetaTab" + "leRequestH\000\022O\n\nrange_join\030\' \001(\01329.io.dee" + "phaven.proto.backplane.grpc.RangeJoinTab" + "lesRequestH\000\022C\n\002aj\030( \001(\01325.io.deephaven." + "proto.backplane.grpc.AjRajTablesRequestH" + "\000\022D\n\003raj\030) \001(\01325.io.deephaven.proto.back" + "plane.grpc.AjRajTablesRequestH\000B\004\n\002opJ\004\010" + "\024\020\025J\004\010\035\020\036*b\n\017BadDataBehavior\022#\n\037BAD_DATA" + "_BEHAVIOR_NOT_SPECIFIED\020\000\022\t\n\005THROW\020\001\022\t\n\005" + "RESET\020\002\022\010\n\004SKIP\020\003\022\n\n\006POISON\020\004*t\n\024UpdateB" + "yNullBehavior\022\037\n\033NULL_BEHAVIOR_NOT_SPECI" + "FIED\020\000\022\022\n\016NULL_DOMINATES\020\001\022\023\n\017VALUE_DOMI" + "NATES\020\002\022\022\n\016ZERO_DOMINATES\020\003*\033\n\tNullValue" + "\022\016\n\nNULL_VALUE\020\000*2\n\017CaseSensitivity\022\016\n\nM" + "ATCH_CASE\020\000\022\017\n\013IGNORE_CASE\020\001*&\n\tMatchTyp" + "e\022\013\n\007REGULAR\020\000\022\014\n\010INVERTED\020\0012\214/\n\014TableSe" + "rvice\022\221\001\n GetExportedTableCreationRespon" + "se\022).io.deephaven.proto.backplane.grpc.T" + "icket\032@.io.deephaven.proto.backplane.grp" + "c.ExportedTableCreationResponse\"\000\022\206\001\n\nFe" + "tchTable\0224.io.deephaven.proto.backplane." + "grpc.FetchTableRequest\032@.io.deephaven.pr" + "oto.backplane.grpc.ExportedTableCreation" + "Response\"\000\022\230\001\n\023ApplyPreviewColumns\022=.io." + "deephaven.proto.backplane.grpc.ApplyPrev" + "iewColumnsRequest\032@.io.deephaven.proto.b" + "ackplane.grpc.ExportedTableCreationRespo" + "nse\"\000\022\206\001\n\nEmptyTable\0224.io.deephaven.prot" + "o.backplane.grpc.EmptyTableRequest\032@.io." + "deephaven.proto.backplane.grpc.ExportedT" + "ableCreationResponse\"\000\022\204\001\n\tTimeTable\0223.i" + "o.deephaven.proto.backplane.grpc.TimeTab" + "leRequest\032@.io.deephaven.proto.backplane" + ".grpc.ExportedTableCreationResponse\"\000\022\210\001" + "\n\013DropColumns\0225.io.deephaven.proto.backp" + "lane.grpc.DropColumnsRequest\032@.io.deepha" + "ven.proto.backplane.grpc.ExportedTableCr" + "eationResponse\"\000\022\206\001\n\006Update\0228.io.deephav" + "en.proto.backplane.grpc.SelectOrUpdateRe" + "quest\032@.io.deephaven.proto.backplane.grp" + "c.ExportedTableCreationResponse\"\000\022\212\001\n\nLa" + "zyUpdate\0228.io.deephaven.proto.backplane." + "grpc.SelectOrUpdateRequest\032@.io.deephave" "n.proto.backplane.grpc.ExportedTableCrea" - "tionResponse\"\000\022\204\001\n\tTimeTable\0223.io.deepha" - "ven.proto.backplane.grpc.TimeTableReques" + "tionResponse\"\000\022\204\001\n\004View\0228.io.deephaven.p" + "roto.backplane.grpc.SelectOrUpdateReques" "t\032@.io.deephaven.proto.backplane.grpc.Ex" - "portedTableCreationResponse\"\000\022\210\001\n\013DropCo" - "lumns\0225.io.deephaven.proto.backplane.grp" - "c.DropColumnsRequest\032@.io.deephaven.prot" - "o.backplane.grpc.ExportedTableCreationRe" - "sponse\"\000\022\206\001\n\006Update\0228.io.deephaven.proto" - ".backplane.grpc.SelectOrUpdateRequest\032@." + "portedTableCreationResponse\"\000\022\212\001\n\nUpdate" + "View\0228.io.deephaven.proto.backplane.grpc" + ".SelectOrUpdateRequest\032@.io.deephaven.pr" + "oto.backplane.grpc.ExportedTableCreation" + "Response\"\000\022\206\001\n\006Select\0228.io.deephaven.pro" + "to.backplane.grpc.SelectOrUpdateRequest\032" + "@.io.deephaven.proto.backplane.grpc.Expo" + "rtedTableCreationResponse\"\000\022\202\001\n\010UpdateBy" + "\0222.io.deephaven.proto.backplane.grpc.Upd" + "ateByRequest\032@.io.deephaven.proto.backpl" + "ane.grpc.ExportedTableCreationResponse\"\000" + "\022\216\001\n\016SelectDistinct\0228.io.deephaven.proto" + ".backplane.grpc.SelectDistinctRequest\032@." "io.deephaven.proto.backplane.grpc.Export" - "edTableCreationResponse\"\000\022\212\001\n\nLazyUpdate" - "\0228.io.deephaven.proto.backplane.grpc.Sel" - "ectOrUpdateRequest\032@.io.deephaven.proto." + "edTableCreationResponse\"\000\022\203\001\n\006Filter\0225.i" + "o.deephaven.proto.backplane.grpc.FilterT" + "ableRequest\032@.io.deephaven.proto.backpla" + "ne.grpc.ExportedTableCreationResponse\"\000\022" + "\233\001\n\022UnstructuredFilter\022A.io.deephaven.pr" + "oto.backplane.grpc.UnstructuredFilterTab" + "leRequest\032@.io.deephaven.proto.backplane" + ".grpc.ExportedTableCreationResponse\"\000\022\177\n" + "\004Sort\0223.io.deephaven.proto.backplane.grp" + "c.SortTableRequest\032@.io.deephaven.proto." "backplane.grpc.ExportedTableCreationResp" - "onse\"\000\022\204\001\n\004View\0228.io.deephaven.proto.bac" - "kplane.grpc.SelectOrUpdateRequest\032@.io.d" - "eephaven.proto.backplane.grpc.ExportedTa" - "bleCreationResponse\"\000\022\212\001\n\nUpdateView\0228.i" - "o.deephaven.proto.backplane.grpc.SelectO" - "rUpdateRequest\032@.io.deephaven.proto.back" - "plane.grpc.ExportedTableCreationResponse" - "\"\000\022\206\001\n\006Select\0228.io.deephaven.proto.backp" - "lane.grpc.SelectOrUpdateRequest\032@.io.dee" - "phaven.proto.backplane.grpc.ExportedTabl" - "eCreationResponse\"\000\022\202\001\n\010UpdateBy\0222.io.de" - "ephaven.proto.backplane.grpc.UpdateByReq" - "uest\032@.io.deephaven.proto.backplane.grpc" - ".ExportedTableCreationResponse\"\000\022\216\001\n\016Sel" - "ectDistinct\0228.io.deephaven.proto.backpla" - "ne.grpc.SelectDistinctRequest\032@.io.deeph" + "onse\"\000\022\200\001\n\004Head\0224.io.deephaven.proto.bac" + "kplane.grpc.HeadOrTailRequest\032@.io.deeph" "aven.proto.backplane.grpc.ExportedTableC" - "reationResponse\"\000\022\203\001\n\006Filter\0225.io.deepha" - "ven.proto.backplane.grpc.FilterTableRequ" - "est\032@.io.deephaven.proto.backplane.grpc." - "ExportedTableCreationResponse\"\000\022\233\001\n\022Unst" - "ructuredFilter\022A.io.deephaven.proto.back" - "plane.grpc.UnstructuredFilterTableReques" + "reationResponse\"\000\022\200\001\n\004Tail\0224.io.deephave" + "n.proto.backplane.grpc.HeadOrTailRequest" + "\032@.io.deephaven.proto.backplane.grpc.Exp" + "ortedTableCreationResponse\"\000\022\204\001\n\006HeadBy\022" + "6.io.deephaven.proto.backplane.grpc.Head" + "OrTailByRequest\032@.io.deephaven.proto.bac" + "kplane.grpc.ExportedTableCreationRespons" + "e\"\000\022\204\001\n\006TailBy\0226.io.deephaven.proto.back" + "plane.grpc.HeadOrTailByRequest\032@.io.deep" + "haven.proto.backplane.grpc.ExportedTable" + "CreationResponse\"\000\022\200\001\n\007Ungroup\0221.io.deep" + "haven.proto.backplane.grpc.UngroupReques" "t\032@.io.deephaven.proto.backplane.grpc.Ex" - "portedTableCreationResponse\"\000\022\177\n\004Sort\0223." - "io.deephaven.proto.backplane.grpc.SortTa" - "bleRequest\032@.io.deephaven.proto.backplan" - "e.grpc.ExportedTableCreationResponse\"\000\022\200" - "\001\n\004Head\0224.io.deephaven.proto.backplane.g" - "rpc.HeadOrTailRequest\032@.io.deephaven.pro" - "to.backplane.grpc.ExportedTableCreationR" - "esponse\"\000\022\200\001\n\004Tail\0224.io.deephaven.proto." - "backplane.grpc.HeadOrTailRequest\032@.io.de" - "ephaven.proto.backplane.grpc.ExportedTab" - "leCreationResponse\"\000\022\204\001\n\006HeadBy\0226.io.dee" - "phaven.proto.backplane.grpc.HeadOrTailBy" + "portedTableCreationResponse\"\000\022\210\001\n\013MergeT" + "ables\0225.io.deephaven.proto.backplane.grp" + "c.MergeTablesRequest\032@.io.deephaven.prot" + "o.backplane.grpc.ExportedTableCreationRe" + "sponse\"\000\022\220\001\n\017CrossJoinTables\0229.io.deepha" + "ven.proto.backplane.grpc.CrossJoinTables" "Request\032@.io.deephaven.proto.backplane.g" - "rpc.ExportedTableCreationResponse\"\000\022\204\001\n\006" - "TailBy\0226.io.deephaven.proto.backplane.gr" - "pc.HeadOrTailByRequest\032@.io.deephaven.pr" - "oto.backplane.grpc.ExportedTableCreation" - "Response\"\000\022\200\001\n\007Ungroup\0221.io.deephaven.pr" - "oto.backplane.grpc.UngroupRequest\032@.io.d" - "eephaven.proto.backplane.grpc.ExportedTa" - "bleCreationResponse\"\000\022\210\001\n\013MergeTables\0225." - "io.deephaven.proto.backplane.grpc.MergeT" - "ablesRequest\032@.io.deephaven.proto.backpl" - "ane.grpc.ExportedTableCreationResponse\"\000" - "\022\220\001\n\017CrossJoinTables\0229.io.deephaven.prot" - "o.backplane.grpc.CrossJoinTablesRequest\032" - "@.io.deephaven.proto.backplane.grpc.Expo" - "rtedTableCreationResponse\"\000\022\224\001\n\021NaturalJ" - "oinTables\022;.io.deephaven.proto.backplane" - ".grpc.NaturalJoinTablesRequest\032@.io.deep" - "haven.proto.backplane.grpc.ExportedTable" - "CreationResponse\"\000\022\220\001\n\017ExactJoinTables\0229" - ".io.deephaven.proto.backplane.grpc.Exact" - "JoinTablesRequest\032@.io.deephaven.proto.b" - "ackplane.grpc.ExportedTableCreationRespo" - "nse\"\000\022\216\001\n\016LeftJoinTables\0228.io.deephaven." - "proto.backplane.grpc.LeftJoinTablesReque" - "st\032@.io.deephaven.proto.backplane.grpc.E" - "xportedTableCreationResponse\"\000\022\216\001\n\016AsOfJ" - "oinTables\0228.io.deephaven.proto.backplane" - ".grpc.AsOfJoinTablesRequest\032@.io.deephav" - "en.proto.backplane.grpc.ExportedTableCre" - "ationResponse\"\000\022\220\001\n\017RangeJoinTables\0229.io" - ".deephaven.proto.backplane.grpc.RangeJoi" - "nTablesRequest\032@.io.deephaven.proto.back" - "plane.grpc.ExportedTableCreationResponse" - "\"\000\022\221\001\n\016ComboAggregate\0228.io.deephaven.pro" - "to.backplane.grpc.ComboAggregateRequest\032" - "@.io.deephaven.proto.backplane.grpc.Expo" - "rtedTableCreationResponse\"\003\210\002\001\022\212\001\n\014Aggre" - "gateAll\0226.io.deephaven.proto.backplane.g" - "rpc.AggregateAllRequest\032@.io.deephaven.p" - "roto.backplane.grpc.ExportedTableCreatio" - "nResponse\"\000\022\204\001\n\tAggregate\0223.io.deephaven" - ".proto.backplane.grpc.AggregateRequest\032@" + "rpc.ExportedTableCreationResponse\"\000\022\224\001\n\021" + "NaturalJoinTables\022;.io.deephaven.proto.b" + "ackplane.grpc.NaturalJoinTablesRequest\032@" ".io.deephaven.proto.backplane.grpc.Expor" - "tedTableCreationResponse\"\000\022\207\001\n\010Snapshot\022" - "7.io.deephaven.proto.backplane.grpc.Snap" - "shotTableRequest\032@.io.deephaven.proto.ba" - "ckplane.grpc.ExportedTableCreationRespon" - "se\"\000\022\217\001\n\014SnapshotWhen\022;.io.deephaven.pro" - "to.backplane.grpc.SnapshotWhenTableReque" - "st\032@.io.deephaven.proto.backplane.grpc.E" - "xportedTableCreationResponse\"\000\022\200\001\n\007Flatt" - "en\0221.io.deephaven.proto.backplane.grpc.F" - "lattenRequest\032@.io.deephaven.proto.backp" - "lane.grpc.ExportedTableCreationResponse\"" - "\000\022\226\001\n\022RunChartDownsample\022<.io.deephaven." - "proto.backplane.grpc.RunChartDownsampleR" - "equest\032@.io.deephaven.proto.backplane.gr" - "pc.ExportedTableCreationResponse\"\000\022\222\001\n\020C" - "reateInputTable\022:.io.deephaven.proto.bac" - "kplane.grpc.CreateInputTableRequest\032@.io" + "tedTableCreationResponse\"\000\022\220\001\n\017ExactJoin" + "Tables\0229.io.deephaven.proto.backplane.gr" + "pc.ExactJoinTablesRequest\032@.io.deephaven" + ".proto.backplane.grpc.ExportedTableCreat" + "ionResponse\"\000\022\216\001\n\016LeftJoinTables\0228.io.de" + "ephaven.proto.backplane.grpc.LeftJoinTab" + "lesRequest\032@.io.deephaven.proto.backplan" + "e.grpc.ExportedTableCreationResponse\"\000\022\221" + "\001\n\016AsOfJoinTables\0228.io.deephaven.proto.b" + "ackplane.grpc.AsOfJoinTablesRequest\032@.io" ".deephaven.proto.backplane.grpc.Exported" - "TableCreationResponse\"\000\022\200\001\n\007WhereIn\0221.io" - ".deephaven.proto.backplane.grpc.WhereInR" - "equest\032@.io.deephaven.proto.backplane.gr" - "pc.ExportedTableCreationResponse\"\000\022\203\001\n\005B" - "atch\0224.io.deephaven.proto.backplane.grpc" - ".BatchTableRequest\032@.io.deephaven.proto." + "TableCreationResponse\"\003\210\002\001\022\205\001\n\010AjTables\022" + "5.io.deephaven.proto.backplane.grpc.AjRa" + "jTablesRequest\032@.io.deephaven.proto.back" + "plane.grpc.ExportedTableCreationResponse" + "\"\000\022\206\001\n\tRajTables\0225.io.deephaven.proto.ba" + "ckplane.grpc.AjRajTablesRequest\032@.io.dee" + "phaven.proto.backplane.grpc.ExportedTabl" + "eCreationResponse\"\000\022\220\001\n\017RangeJoinTables\022" + "9.io.deephaven.proto.backplane.grpc.Rang" + "eJoinTablesRequest\032@.io.deephaven.proto." "backplane.grpc.ExportedTableCreationResp" - "onse\"\0000\001\022\231\001\n\024ExportedTableUpdates\022>.io.d" - "eephaven.proto.backplane.grpc.ExportedTa" - "bleUpdatesRequest\032=.io.deephaven.proto.b" - "ackplane.grpc.ExportedTableUpdateMessage" - "\"\0000\001\022r\n\007SeekRow\0221.io.deephaven.proto.bac" - "kplane.grpc.SeekRowRequest\0322.io.deephave" - "n.proto.backplane.grpc.SeekRowResponse\"\000" - "\022\204\001\n\tMetaTable\0223.io.deephaven.proto.back" - "plane.grpc.MetaTableRequest\032@.io.deephav" + "onse\"\000\022\221\001\n\016ComboAggregate\0228.io.deephaven" + ".proto.backplane.grpc.ComboAggregateRequ" + "est\032@.io.deephaven.proto.backplane.grpc." + "ExportedTableCreationResponse\"\003\210\002\001\022\212\001\n\014A" + "ggregateAll\0226.io.deephaven.proto.backpla" + "ne.grpc.AggregateAllRequest\032@.io.deephav" "en.proto.backplane.grpc.ExportedTableCre" - "ationResponse\"\000BAH\001P\001Z;github.com/deepha" - "ven/deephaven-core/go/internal/proto/tab" - "leb\006proto3" + "ationResponse\"\000\022\204\001\n\tAggregate\0223.io.deeph" + "aven.proto.backplane.grpc.AggregateReque" + "st\032@.io.deephaven.proto.backplane.grpc.E" + "xportedTableCreationResponse\"\000\022\207\001\n\010Snaps" + "hot\0227.io.deephaven.proto.backplane.grpc." + "SnapshotTableRequest\032@.io.deephaven.prot" + "o.backplane.grpc.ExportedTableCreationRe" + "sponse\"\000\022\217\001\n\014SnapshotWhen\022;.io.deephaven" + ".proto.backplane.grpc.SnapshotWhenTableR" + "equest\032@.io.deephaven.proto.backplane.gr" + "pc.ExportedTableCreationResponse\"\000\022\200\001\n\007F" + "latten\0221.io.deephaven.proto.backplane.gr" + "pc.FlattenRequest\032@.io.deephaven.proto.b" + "ackplane.grpc.ExportedTableCreationRespo" + "nse\"\000\022\226\001\n\022RunChartDownsample\022<.io.deepha" + "ven.proto.backplane.grpc.RunChartDownsam" + "pleRequest\032@.io.deephaven.proto.backplan" + "e.grpc.ExportedTableCreationResponse\"\000\022\222" + "\001\n\020CreateInputTable\022:.io.deephaven.proto" + ".backplane.grpc.CreateInputTableRequest\032" + "@.io.deephaven.proto.backplane.grpc.Expo" + "rtedTableCreationResponse\"\000\022\200\001\n\007WhereIn\022" + "1.io.deephaven.proto.backplane.grpc.Wher" + "eInRequest\032@.io.deephaven.proto.backplan" + "e.grpc.ExportedTableCreationResponse\"\000\022\203" + "\001\n\005Batch\0224.io.deephaven.proto.backplane." + "grpc.BatchTableRequest\032@.io.deephaven.pr" + "oto.backplane.grpc.ExportedTableCreation" + "Response\"\0000\001\022\231\001\n\024ExportedTableUpdates\022>." + "io.deephaven.proto.backplane.grpc.Export" + "edTableUpdatesRequest\032=.io.deephaven.pro" + "to.backplane.grpc.ExportedTableUpdateMes" + "sage\"\0000\001\022r\n\007SeekRow\0221.io.deephaven.proto" + ".backplane.grpc.SeekRowRequest\0322.io.deep" + "haven.proto.backplane.grpc.SeekRowRespon" + "se\"\000\022\204\001\n\tMetaTable\0223.io.deephaven.proto." + "backplane.grpc.MetaTableRequest\032@.io.dee" + "phaven.proto.backplane.grpc.ExportedTabl" + "eCreationResponse\"\000BAH\001P\001Z;github.com/de" + "ephaven/deephaven-core/go/internal/proto" + "/tableb\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_deephaven_2fproto_2ftable_2eproto_deps[1] = { &::descriptor_table_deephaven_2fproto_2fticket_2eproto, }; static ::_pbi::once_flag descriptor_table_deephaven_2fproto_2ftable_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_deephaven_2fproto_2ftable_2eproto = { - false, false, 33010, descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto, + false, false, 33734, descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto, "deephaven/proto/table.proto", - &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, descriptor_table_deephaven_2fproto_2ftable_2eproto_deps, 1, 118, + &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, descriptor_table_deephaven_2fproto_2ftable_2eproto_deps, 1, 119, schemas, file_default_instances, TableStruct_deephaven_2fproto_2ftable_2eproto::offsets, file_level_metadata_deephaven_2fproto_2ftable_2eproto, file_level_enum_descriptors_deephaven_2fproto_2ftable_2eproto, file_level_service_descriptors_deephaven_2fproto_2ftable_2eproto, @@ -18192,58 +18243,458 @@ uint8_t* AsOfJoinTablesRequest::_InternalSerialize( _Internal::right_id(this).GetCachedSize(), target, stream); } - // repeated string columns_to_match = 4; - for (int i = 0, n = this->_internal_columns_to_match_size(); i < n; i++) { - const auto& s = this->_internal_columns_to_match(i); + // repeated string columns_to_match = 4; + for (int i = 0, n = this->_internal_columns_to_match_size(); i < n; i++) { + const auto& s = this->_internal_columns_to_match(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.columns_to_match"); + target = stream->WriteString(4, s, target); + } + + // repeated string columns_to_add = 5; + for (int i = 0, n = this->_internal_columns_to_add_size(); i < n; i++) { + const auto& s = this->_internal_columns_to_add(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.columns_to_add"); + target = stream->WriteString(5, s, target); + } + + // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule as_of_match_rule = 7; + if (this->_internal_as_of_match_rule() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 7, this->_internal_as_of_match_rule(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest) + return target; +} + +size_t AsOfJoinTablesRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated string columns_to_match = 4; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(columns_to_match_.size()); + for (int i = 0, n = columns_to_match_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + columns_to_match_.Get(i)); + } + + // repeated string columns_to_add = 5; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(columns_to_add_.size()); + for (int i = 0, n = columns_to_add_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + columns_to_add_.Get(i)); + } + + // .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; + if (this->_internal_has_result_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *result_id_); + } + + // .io.deephaven.proto.backplane.grpc.TableReference left_id = 2; + if (this->_internal_has_left_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *left_id_); + } + + // .io.deephaven.proto.backplane.grpc.TableReference right_id = 3; + if (this->_internal_has_right_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *right_id_); + } + + // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule as_of_match_rule = 7; + if (this->_internal_as_of_match_rule() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_as_of_match_rule()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AsOfJoinTablesRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + AsOfJoinTablesRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AsOfJoinTablesRequest::GetClassData() const { return &_class_data_; } + +void AsOfJoinTablesRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void AsOfJoinTablesRequest::MergeFrom(const AsOfJoinTablesRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + columns_to_match_.MergeFrom(from.columns_to_match_); + columns_to_add_.MergeFrom(from.columns_to_add_); + if (from._internal_has_result_id()) { + _internal_mutable_result_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_result_id()); + } + if (from._internal_has_left_id()) { + _internal_mutable_left_id()->::io::deephaven::proto::backplane::grpc::TableReference::MergeFrom(from._internal_left_id()); + } + if (from._internal_has_right_id()) { + _internal_mutable_right_id()->::io::deephaven::proto::backplane::grpc::TableReference::MergeFrom(from._internal_right_id()); + } + if (from._internal_as_of_match_rule() != 0) { + _internal_set_as_of_match_rule(from._internal_as_of_match_rule()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void AsOfJoinTablesRequest::CopyFrom(const AsOfJoinTablesRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AsOfJoinTablesRequest::IsInitialized() const { + return true; +} + +void AsOfJoinTablesRequest::InternalSwap(AsOfJoinTablesRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + columns_to_match_.InternalSwap(&other->columns_to_match_); + columns_to_add_.InternalSwap(&other->columns_to_add_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(AsOfJoinTablesRequest, as_of_match_rule_) + + sizeof(AsOfJoinTablesRequest::as_of_match_rule_) + - PROTOBUF_FIELD_OFFSET(AsOfJoinTablesRequest, result_id_)>( + reinterpret_cast(&result_id_), + reinterpret_cast(&other->result_id_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AsOfJoinTablesRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, + file_level_metadata_deephaven_2fproto_2ftable_2eproto[53]); +} + +// =================================================================== + +class AjRajTablesRequest::_Internal { + public: + static const ::io::deephaven::proto::backplane::grpc::Ticket& result_id(const AjRajTablesRequest* msg); + static const ::io::deephaven::proto::backplane::grpc::TableReference& left_id(const AjRajTablesRequest* msg); + static const ::io::deephaven::proto::backplane::grpc::TableReference& right_id(const AjRajTablesRequest* msg); +}; + +const ::io::deephaven::proto::backplane::grpc::Ticket& +AjRajTablesRequest::_Internal::result_id(const AjRajTablesRequest* msg) { + return *msg->result_id_; +} +const ::io::deephaven::proto::backplane::grpc::TableReference& +AjRajTablesRequest::_Internal::left_id(const AjRajTablesRequest* msg) { + return *msg->left_id_; +} +const ::io::deephaven::proto::backplane::grpc::TableReference& +AjRajTablesRequest::_Internal::right_id(const AjRajTablesRequest* msg) { + return *msg->right_id_; +} +void AjRajTablesRequest::clear_result_id() { + if (GetArenaForAllocation() == nullptr && result_id_ != nullptr) { + delete result_id_; + } + result_id_ = nullptr; +} +AjRajTablesRequest::AjRajTablesRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + exact_match_columns_(arena), + columns_to_add_(arena) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) +} +AjRajTablesRequest::AjRajTablesRequest(const AjRajTablesRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + exact_match_columns_(from.exact_match_columns_), + columns_to_add_(from.columns_to_add_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + as_of_column_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + as_of_column_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_as_of_column().empty()) { + as_of_column_.Set(from._internal_as_of_column(), + GetArenaForAllocation()); + } + if (from._internal_has_result_id()) { + result_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.result_id_); + } else { + result_id_ = nullptr; + } + if (from._internal_has_left_id()) { + left_id_ = new ::io::deephaven::proto::backplane::grpc::TableReference(*from.left_id_); + } else { + left_id_ = nullptr; + } + if (from._internal_has_right_id()) { + right_id_ = new ::io::deephaven::proto::backplane::grpc::TableReference(*from.right_id_); + } else { + right_id_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) +} + +inline void AjRajTablesRequest::SharedCtor() { +as_of_column_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + as_of_column_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&result_id_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&right_id_) - + reinterpret_cast(&result_id_)) + sizeof(right_id_)); +} + +AjRajTablesRequest::~AjRajTablesRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void AjRajTablesRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + as_of_column_.Destroy(); + if (this != internal_default_instance()) delete result_id_; + if (this != internal_default_instance()) delete left_id_; + if (this != internal_default_instance()) delete right_id_; +} + +void AjRajTablesRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void AjRajTablesRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + exact_match_columns_.Clear(); + columns_to_add_.Clear(); + as_of_column_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && result_id_ != nullptr) { + delete result_id_; + } + result_id_ = nullptr; + if (GetArenaForAllocation() == nullptr && left_id_ != nullptr) { + delete left_id_; + } + left_id_ = nullptr; + if (GetArenaForAllocation() == nullptr && right_id_ != nullptr) { + delete right_id_; + } + right_id_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* AjRajTablesRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_result_id(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.grpc.TableReference left_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_left_id(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.grpc.TableReference right_id = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_right_id(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // repeated string exact_match_columns = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_exact_match_columns(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns")); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr)); + } else + goto handle_unusual; + continue; + // string as_of_column = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + auto str = _internal_mutable_as_of_column(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.grpc.AjRajTablesRequest.as_of_column")); + } else + goto handle_unusual; + continue; + // repeated string columns_to_add = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_columns_to_add(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add")); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr)); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* AjRajTablesRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; + if (this->_internal_has_result_id()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::result_id(this), + _Internal::result_id(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.grpc.TableReference left_id = 2; + if (this->_internal_has_left_id()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::left_id(this), + _Internal::left_id(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.grpc.TableReference right_id = 3; + if (this->_internal_has_right_id()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, _Internal::right_id(this), + _Internal::right_id(this).GetCachedSize(), target, stream); + } + + // repeated string exact_match_columns = 4; + for (int i = 0, n = this->_internal_exact_match_columns_size(); i < n; i++) { + const auto& s = this->_internal_exact_match_columns(i); ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( s.data(), static_cast(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.columns_to_match"); + "io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns"); target = stream->WriteString(4, s, target); } - // repeated string columns_to_add = 5; + // string as_of_column = 5; + if (!this->_internal_as_of_column().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_as_of_column().data(), static_cast(this->_internal_as_of_column().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.grpc.AjRajTablesRequest.as_of_column"); + target = stream->WriteStringMaybeAliased( + 5, this->_internal_as_of_column(), target); + } + + // repeated string columns_to_add = 6; for (int i = 0, n = this->_internal_columns_to_add_size(); i < n; i++) { const auto& s = this->_internal_columns_to_add(i); ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( s.data(), static_cast(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.columns_to_add"); - target = stream->WriteString(5, s, target); - } - - // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule as_of_match_rule = 7; - if (this->_internal_as_of_match_rule() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteEnumToArray( - 7, this->_internal_as_of_match_rule(), target); + "io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add"); + target = stream->WriteString(6, s, target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) return target; } -size_t AsOfJoinTablesRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest) +size_t AjRajTablesRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated string columns_to_match = 4; + // repeated string exact_match_columns = 4; total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(columns_to_match_.size()); - for (int i = 0, n = columns_to_match_.size(); i < n; i++) { + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(exact_match_columns_.size()); + for (int i = 0, n = exact_match_columns_.size(); i < n; i++) { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - columns_to_match_.Get(i)); + exact_match_columns_.Get(i)); } - // repeated string columns_to_add = 5; + // repeated string columns_to_add = 6; total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(columns_to_add_.size()); for (int i = 0, n = columns_to_add_.size(); i < n; i++) { @@ -18251,6 +18702,13 @@ size_t AsOfJoinTablesRequest::ByteSizeLong() const { columns_to_add_.Get(i)); } + // string as_of_column = 5; + if (!this->_internal_as_of_column().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_as_of_column()); + } + // .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; if (this->_internal_has_result_id()) { total_size += 1 + @@ -18272,36 +18730,33 @@ size_t AsOfJoinTablesRequest::ByteSizeLong() const { *right_id_); } - // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule as_of_match_rule = 7; - if (this->_internal_as_of_match_rule() != 0) { - total_size += 1 + - ::_pbi::WireFormatLite::EnumSize(this->_internal_as_of_match_rule()); - } - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AsOfJoinTablesRequest::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AjRajTablesRequest::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - AsOfJoinTablesRequest::MergeImpl + AjRajTablesRequest::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AsOfJoinTablesRequest::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AjRajTablesRequest::GetClassData() const { return &_class_data_; } -void AsOfJoinTablesRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void AjRajTablesRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void AsOfJoinTablesRequest::MergeFrom(const AsOfJoinTablesRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest) +void AjRajTablesRequest::MergeFrom(const AjRajTablesRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - columns_to_match_.MergeFrom(from.columns_to_match_); + exact_match_columns_.MergeFrom(from.exact_match_columns_); columns_to_add_.MergeFrom(from.columns_to_add_); + if (!from._internal_as_of_column().empty()) { + _internal_set_as_of_column(from._internal_as_of_column()); + } if (from._internal_has_result_id()) { _internal_mutable_result_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_result_id()); } @@ -18311,40 +18766,43 @@ void AsOfJoinTablesRequest::MergeFrom(const AsOfJoinTablesRequest& from) { if (from._internal_has_right_id()) { _internal_mutable_right_id()->::io::deephaven::proto::backplane::grpc::TableReference::MergeFrom(from._internal_right_id()); } - if (from._internal_as_of_match_rule() != 0) { - _internal_set_as_of_match_rule(from._internal_as_of_match_rule()); - } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void AsOfJoinTablesRequest::CopyFrom(const AsOfJoinTablesRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest) +void AjRajTablesRequest::CopyFrom(const AjRajTablesRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) if (&from == this) return; Clear(); MergeFrom(from); } -bool AsOfJoinTablesRequest::IsInitialized() const { +bool AjRajTablesRequest::IsInitialized() const { return true; } -void AsOfJoinTablesRequest::InternalSwap(AsOfJoinTablesRequest* other) { +void AjRajTablesRequest::InternalSwap(AjRajTablesRequest* other) { using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - columns_to_match_.InternalSwap(&other->columns_to_match_); + exact_match_columns_.InternalSwap(&other->exact_match_columns_); columns_to_add_.InternalSwap(&other->columns_to_add_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &as_of_column_, lhs_arena, + &other->as_of_column_, rhs_arena + ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(AsOfJoinTablesRequest, as_of_match_rule_) - + sizeof(AsOfJoinTablesRequest::as_of_match_rule_) - - PROTOBUF_FIELD_OFFSET(AsOfJoinTablesRequest, result_id_)>( + PROTOBUF_FIELD_OFFSET(AjRajTablesRequest, right_id_) + + sizeof(AjRajTablesRequest::right_id_) + - PROTOBUF_FIELD_OFFSET(AjRajTablesRequest, result_id_)>( reinterpret_cast(&result_id_), reinterpret_cast(&other->result_id_)); } -::PROTOBUF_NAMESPACE_ID::Metadata AsOfJoinTablesRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata AjRajTablesRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[53]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[54]); } // =================================================================== @@ -18898,7 +19356,7 @@ void RangeJoinTablesRequest::InternalSwap(RangeJoinTablesRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata RangeJoinTablesRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[54]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[55]); } // =================================================================== @@ -19228,7 +19686,7 @@ void ComboAggregateRequest_Aggregate::InternalSwap(ComboAggregateRequest_Aggrega ::PROTOBUF_NAMESPACE_ID::Metadata ComboAggregateRequest_Aggregate::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[55]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[56]); } // =================================================================== @@ -19564,7 +20022,7 @@ void ComboAggregateRequest::InternalSwap(ComboAggregateRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ComboAggregateRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[56]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[57]); } // =================================================================== @@ -19883,7 +20341,7 @@ void AggregateAllRequest::InternalSwap(AggregateAllRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggregateAllRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[57]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[58]); } // =================================================================== @@ -20110,7 +20568,7 @@ void AggSpec_AggSpecApproximatePercentile::InternalSwap(AggSpec_AggSpecApproxima ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecApproximatePercentile::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[58]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[59]); } // =================================================================== @@ -20281,7 +20739,7 @@ void AggSpec_AggSpecCountDistinct::InternalSwap(AggSpec_AggSpecCountDistinct* ot ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecCountDistinct::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[59]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[60]); } // =================================================================== @@ -20452,7 +20910,7 @@ void AggSpec_AggSpecDistinct::InternalSwap(AggSpec_AggSpecDistinct* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecDistinct::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[60]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[61]); } // =================================================================== @@ -20695,7 +21153,7 @@ void AggSpec_AggSpecFormula::InternalSwap(AggSpec_AggSpecFormula* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecFormula::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[61]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[62]); } // =================================================================== @@ -20866,7 +21324,7 @@ void AggSpec_AggSpecMedian::InternalSwap(AggSpec_AggSpecMedian* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecMedian::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[62]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[63]); } // =================================================================== @@ -21083,7 +21541,7 @@ void AggSpec_AggSpecPercentile::InternalSwap(AggSpec_AggSpecPercentile* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecPercentile::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[63]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[64]); } // =================================================================== @@ -21261,7 +21719,7 @@ void AggSpec_AggSpecSorted::InternalSwap(AggSpec_AggSpecSorted* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecSorted::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[64]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[65]); } // =================================================================== @@ -21456,7 +21914,7 @@ void AggSpec_AggSpecSortedColumn::InternalSwap(AggSpec_AggSpecSortedColumn* othe ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecSortedColumn::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[65]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[66]); } // =================================================================== @@ -21638,7 +22096,7 @@ void AggSpec_AggSpecTDigest::InternalSwap(AggSpec_AggSpecTDigest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecTDigest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[66]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[67]); } // =================================================================== @@ -21857,7 +22315,7 @@ void AggSpec_AggSpecUnique::InternalSwap(AggSpec_AggSpecUnique* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecUnique::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[67]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[68]); } // =================================================================== @@ -22357,7 +22815,7 @@ void AggSpec_AggSpecNonUniqueSentinel::InternalSwap(AggSpec_AggSpecNonUniqueSent ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecNonUniqueSentinel::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[68]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[69]); } // =================================================================== @@ -22552,7 +23010,7 @@ void AggSpec_AggSpecWeighted::InternalSwap(AggSpec_AggSpecWeighted* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecWeighted::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[69]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[70]); } // =================================================================== @@ -22591,7 +23049,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecAbsSum::GetClas ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecAbsSum::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[70]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[71]); } // =================================================================== @@ -22630,7 +23088,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecAvg::GetClassDa ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecAvg::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[71]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[72]); } // =================================================================== @@ -22669,7 +23127,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecFirst::GetClass ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecFirst::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[72]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[73]); } // =================================================================== @@ -22708,7 +23166,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecFreeze::GetClas ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecFreeze::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[73]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[74]); } // =================================================================== @@ -22747,7 +23205,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecGroup::GetClass ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecGroup::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[74]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[75]); } // =================================================================== @@ -22786,7 +23244,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecLast::GetClassD ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecLast::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[75]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[76]); } // =================================================================== @@ -22825,7 +23283,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecMax::GetClassDa ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecMax::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[76]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[77]); } // =================================================================== @@ -22864,7 +23322,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecMin::GetClassDa ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecMin::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[77]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[78]); } // =================================================================== @@ -22903,7 +23361,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecStd::GetClassDa ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecStd::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[78]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[79]); } // =================================================================== @@ -22942,7 +23400,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecSum::GetClassDa ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecSum::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[79]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[80]); } // =================================================================== @@ -22981,7 +23439,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AggSpec_AggSpecVar::GetClassDa ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec_AggSpecVar::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[80]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[81]); } // =================================================================== @@ -24448,7 +24906,7 @@ void AggSpec::InternalSwap(AggSpec* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggSpec::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[81]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[82]); } // =================================================================== @@ -24824,7 +25282,7 @@ void AggregateRequest::InternalSwap(AggregateRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AggregateRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[82]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[83]); } // =================================================================== @@ -25049,7 +25507,7 @@ void Aggregation_AggregationColumns::InternalSwap(Aggregation_AggregationColumns ::PROTOBUF_NAMESPACE_ID::Metadata Aggregation_AggregationColumns::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[83]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[84]); } // =================================================================== @@ -25244,7 +25702,7 @@ void Aggregation_AggregationCount::InternalSwap(Aggregation_AggregationCount* ot ::PROTOBUF_NAMESPACE_ID::Metadata Aggregation_AggregationCount::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[84]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[85]); } // =================================================================== @@ -25439,7 +25897,7 @@ void Aggregation_AggregationRowKey::InternalSwap(Aggregation_AggregationRowKey* ::PROTOBUF_NAMESPACE_ID::Metadata Aggregation_AggregationRowKey::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[85]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[86]); } // =================================================================== @@ -25660,7 +26118,7 @@ void Aggregation_AggregationPartition::InternalSwap(Aggregation_AggregationParti ::PROTOBUF_NAMESPACE_ID::Metadata Aggregation_AggregationPartition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[86]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[87]); } // =================================================================== @@ -26119,7 +26577,7 @@ void Aggregation::InternalSwap(Aggregation* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Aggregation::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[87]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[88]); } // =================================================================== @@ -26377,7 +26835,7 @@ void SortDescriptor::InternalSwap(SortDescriptor* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SortDescriptor::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[88]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[89]); } // =================================================================== @@ -26651,7 +27109,7 @@ void SortTableRequest::InternalSwap(SortTableRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SortTableRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[89]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[90]); } // =================================================================== @@ -26925,7 +27383,7 @@ void FilterTableRequest::InternalSwap(FilterTableRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata FilterTableRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[90]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[91]); } // =================================================================== @@ -27310,7 +27768,7 @@ void SeekRowRequest::InternalSwap(SeekRowRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SeekRowRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[91]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[92]); } // =================================================================== @@ -27481,7 +27939,7 @@ void SeekRowResponse::InternalSwap(SeekRowResponse* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SeekRowResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[92]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[93]); } // =================================================================== @@ -27676,7 +28134,7 @@ void Reference::InternalSwap(Reference* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Reference::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[93]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[94]); } // =================================================================== @@ -28018,7 +28476,7 @@ void Literal::InternalSwap(Literal* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Literal::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[94]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[95]); } // =================================================================== @@ -28309,7 +28767,7 @@ void Value::InternalSwap(Value* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Value::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[95]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[96]); } // =================================================================== @@ -29048,7 +29506,7 @@ void Condition::InternalSwap(Condition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Condition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[96]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[97]); } // =================================================================== @@ -29226,7 +29684,7 @@ void AndCondition::InternalSwap(AndCondition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AndCondition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[97]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[98]); } // =================================================================== @@ -29404,7 +29862,7 @@ void OrCondition::InternalSwap(OrCondition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata OrCondition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[98]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[99]); } // =================================================================== @@ -29591,7 +30049,7 @@ void NotCondition::InternalSwap(NotCondition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata NotCondition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[99]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[100]); } // =================================================================== @@ -29882,7 +30340,7 @@ void CompareCondition::InternalSwap(CompareCondition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata CompareCondition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[100]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[101]); } // =================================================================== @@ -30166,7 +30624,7 @@ void InCondition::InternalSwap(InCondition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata InCondition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[101]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[102]); } // =================================================================== @@ -30436,7 +30894,7 @@ void InvokeCondition::InternalSwap(InvokeCondition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata InvokeCondition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[102]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[103]); } // =================================================================== @@ -30623,7 +31081,7 @@ void IsNullCondition::InternalSwap(IsNullCondition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata IsNullCondition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[103]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[104]); } // =================================================================== @@ -30924,7 +31382,7 @@ void MatchesCondition::InternalSwap(MatchesCondition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata MatchesCondition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[104]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[105]); } // =================================================================== @@ -31225,7 +31683,7 @@ void ContainsCondition::InternalSwap(ContainsCondition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ContainsCondition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[105]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[106]); } // =================================================================== @@ -31453,7 +31911,7 @@ void SearchCondition::InternalSwap(SearchCondition* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SearchCondition::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[106]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[107]); } // =================================================================== @@ -31694,7 +32152,7 @@ void FlattenRequest::InternalSwap(FlattenRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata FlattenRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[107]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[108]); } // =================================================================== @@ -31935,7 +32393,7 @@ void MetaTableRequest::InternalSwap(MetaTableRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata MetaTableRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[108]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[109]); } // =================================================================== @@ -32164,7 +32622,7 @@ void RunChartDownsampleRequest_ZoomRange::InternalSwap(RunChartDownsampleRequest ::PROTOBUF_NAMESPACE_ID::Metadata RunChartDownsampleRequest_ZoomRange::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[109]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[110]); } // =================================================================== @@ -32557,7 +33015,7 @@ void RunChartDownsampleRequest::InternalSwap(RunChartDownsampleRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata RunChartDownsampleRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[110]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[111]); } // =================================================================== @@ -32596,7 +33054,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateInputTableRequest_InputT ::PROTOBUF_NAMESPACE_ID::Metadata CreateInputTableRequest_InputTableKind_InMemoryAppendOnly::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[111]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[112]); } // =================================================================== @@ -32779,7 +33237,7 @@ void CreateInputTableRequest_InputTableKind_InMemoryKeyBacked::InternalSwap(Crea ::PROTOBUF_NAMESPACE_ID::Metadata CreateInputTableRequest_InputTableKind_InMemoryKeyBacked::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[112]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[113]); } // =================================================================== @@ -33070,7 +33528,7 @@ void CreateInputTableRequest_InputTableKind::InternalSwap(CreateInputTableReques ::PROTOBUF_NAMESPACE_ID::Metadata CreateInputTableRequest_InputTableKind::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[113]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[114]); } // =================================================================== @@ -33435,7 +33893,7 @@ void CreateInputTableRequest::InternalSwap(CreateInputTableRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata CreateInputTableRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[114]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[115]); } // =================================================================== @@ -33778,7 +34236,7 @@ void WhereInRequest::InternalSwap(WhereInRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata WhereInRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[115]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[116]); } // =================================================================== @@ -33822,6 +34280,8 @@ class BatchTableRequest_Operation::_Internal { static const ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest& snapshot_when(const BatchTableRequest_Operation* msg); static const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& meta_table(const BatchTableRequest_Operation* msg); static const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& range_join(const BatchTableRequest_Operation* msg); + static const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& aj(const BatchTableRequest_Operation* msg); + static const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& raj(const BatchTableRequest_Operation* msg); }; const ::io::deephaven::proto::backplane::grpc::EmptyTableRequest& @@ -33972,6 +34432,14 @@ const ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest& BatchTableRequest_Operation::_Internal::range_join(const BatchTableRequest_Operation* msg) { return *msg->op_.range_join_; } +const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& +BatchTableRequest_Operation::_Internal::aj(const BatchTableRequest_Operation* msg) { + return *msg->op_.aj_; +} +const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& +BatchTableRequest_Operation::_Internal::raj(const BatchTableRequest_Operation* msg) { + return *msg->op_.raj_; +} void BatchTableRequest_Operation::set_allocated_empty_table(::io::deephaven::proto::backplane::grpc::EmptyTableRequest* empty_table) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); clear_op(); @@ -34527,6 +34995,36 @@ void BatchTableRequest_Operation::set_allocated_range_join(::io::deephaven::prot } // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.range_join) } +void BatchTableRequest_Operation::set_allocated_aj(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* aj) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_op(); + if (aj) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(aj); + if (message_arena != submessage_arena) { + aj = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, aj, submessage_arena); + } + set_has_aj(); + op_.aj_ = aj; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aj) +} +void BatchTableRequest_Operation::set_allocated_raj(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* raj) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_op(); + if (raj) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(raj); + if (message_arena != submessage_arena) { + raj = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, raj, submessage_arena); + } + set_has_raj(); + op_.raj_ = raj; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.raj) +} BatchTableRequest_Operation::BatchTableRequest_Operation(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -34686,6 +35184,14 @@ BatchTableRequest_Operation::BatchTableRequest_Operation(const BatchTableRequest _internal_mutable_range_join()->::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest::MergeFrom(from._internal_range_join()); break; } + case kAj: { + _internal_mutable_aj()->::io::deephaven::proto::backplane::grpc::AjRajTablesRequest::MergeFrom(from._internal_aj()); + break; + } + case kRaj: { + _internal_mutable_raj()->::io::deephaven::proto::backplane::grpc::AjRajTablesRequest::MergeFrom(from._internal_raj()); + break; + } case OP_NOT_SET: { break; } @@ -34942,6 +35448,18 @@ void BatchTableRequest_Operation::clear_op() { } break; } + case kAj: { + if (GetArenaForAllocation() == nullptr) { + delete op_.aj_; + } + break; + } + case kRaj: { + if (GetArenaForAllocation() == nullptr) { + delete op_.raj_; + } + break; + } case OP_NOT_SET: { break; } @@ -35166,7 +35684,7 @@ const char* BatchTableRequest_Operation::_InternalParse(const char* ptr, ::_pbi: } else goto handle_unusual; continue; - // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest as_of_join = 27; + // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest as_of_join = 27 [deprecated = true]; case 27: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 218)) { ptr = ctx->ParseMessage(_internal_mutable_as_of_join(), ptr); @@ -35262,6 +35780,22 @@ const char* BatchTableRequest_Operation::_InternalParse(const char* ptr, ::_pbi: } else goto handle_unusual; continue; + // .io.deephaven.proto.backplane.grpc.AjRajTablesRequest aj = 40; + case 40: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + ptr = ctx->ParseMessage(_internal_mutable_aj(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.grpc.AjRajTablesRequest raj = 41; + case 41: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + ptr = ctx->ParseMessage(_internal_mutable_raj(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -35466,7 +36000,7 @@ uint8_t* BatchTableRequest_Operation::_InternalSerialize( _Internal::left_join(this).GetCachedSize(), target, stream); } - // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest as_of_join = 27; + // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest as_of_join = 27 [deprecated = true]; if (_internal_has_as_of_join()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage(27, _Internal::as_of_join(this), @@ -35550,6 +36084,20 @@ uint8_t* BatchTableRequest_Operation::_InternalSerialize( _Internal::range_join(this).GetCachedSize(), target, stream); } + // .io.deephaven.proto.backplane.grpc.AjRajTablesRequest aj = 40; + if (_internal_has_aj()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(40, _Internal::aj(this), + _Internal::aj(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.grpc.AjRajTablesRequest raj = 41; + if (_internal_has_raj()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(41, _Internal::raj(this), + _Internal::raj(this).GetCachedSize(), target, stream); + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); @@ -35742,7 +36290,7 @@ size_t BatchTableRequest_Operation::ByteSizeLong() const { *op_.left_join_); break; } - // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest as_of_join = 27; + // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest as_of_join = 27 [deprecated = true]; case kAsOfJoin: { total_size += 2 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( @@ -35826,6 +36374,20 @@ size_t BatchTableRequest_Operation::ByteSizeLong() const { *op_.range_join_); break; } + // .io.deephaven.proto.backplane.grpc.AjRajTablesRequest aj = 40; + case kAj: { + total_size += 2 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *op_.aj_); + break; + } + // .io.deephaven.proto.backplane.grpc.AjRajTablesRequest raj = 41; + case kRaj: { + total_size += 2 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *op_.raj_); + break; + } case OP_NOT_SET: { break; } @@ -36001,6 +36563,14 @@ void BatchTableRequest_Operation::MergeFrom(const BatchTableRequest_Operation& f _internal_mutable_range_join()->::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest::MergeFrom(from._internal_range_join()); break; } + case kAj: { + _internal_mutable_aj()->::io::deephaven::proto::backplane::grpc::AjRajTablesRequest::MergeFrom(from._internal_aj()); + break; + } + case kRaj: { + _internal_mutable_raj()->::io::deephaven::proto::backplane::grpc::AjRajTablesRequest::MergeFrom(from._internal_raj()); + break; + } case OP_NOT_SET: { break; } @@ -36029,7 +36599,7 @@ void BatchTableRequest_Operation::InternalSwap(BatchTableRequest_Operation* othe ::PROTOBUF_NAMESPACE_ID::Metadata BatchTableRequest_Operation::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[116]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[117]); } // =================================================================== @@ -36207,7 +36777,7 @@ void BatchTableRequest::InternalSwap(BatchTableRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata BatchTableRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[117]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[118]); } // @@protoc_insertion_point(namespace_scope) @@ -36433,6 +37003,10 @@ template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::grpc::AsOfJoinTa Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest >(Arena* arena) { return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest >(arena); } +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest >(arena); +} template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest >(Arena* arena) { return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest >(arena); diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h index 0752a674640..3de8ca08ae5 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h +++ b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h @@ -145,6 +145,9 @@ extern Aggregation_AggregationPartitionDefaultTypeInternal _Aggregation_Aggregat class Aggregation_AggregationRowKey; struct Aggregation_AggregationRowKeyDefaultTypeInternal; extern Aggregation_AggregationRowKeyDefaultTypeInternal _Aggregation_AggregationRowKey_default_instance_; +class AjRajTablesRequest; +struct AjRajTablesRequestDefaultTypeInternal; +extern AjRajTablesRequestDefaultTypeInternal _AjRajTablesRequest_default_instance_; class AndCondition; struct AndConditionDefaultTypeInternal; extern AndConditionDefaultTypeInternal _AndCondition_default_instance_; @@ -443,6 +446,7 @@ template<> ::io::deephaven::proto::backplane::grpc::Aggregation_AggregationColum template<> ::io::deephaven::proto::backplane::grpc::Aggregation_AggregationCount* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Aggregation_AggregationCount>(Arena*); template<> ::io::deephaven::proto::backplane::grpc::Aggregation_AggregationPartition* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Aggregation_AggregationPartition>(Arena*); template<> ::io::deephaven::proto::backplane::grpc::Aggregation_AggregationRowKey* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Aggregation_AggregationRowKey>(Arena*); +template<> ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::AjRajTablesRequest>(Arena*); template<> ::io::deephaven::proto::backplane::grpc::AndCondition* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::AndCondition>(Arena*); template<> ::io::deephaven::proto::backplane::grpc::ApplyPreviewColumnsRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::ApplyPreviewColumnsRequest>(Arena*); template<> ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest>(Arena*); @@ -11176,6 +11180,266 @@ class AsOfJoinTablesRequest final : }; // ------------------------------------------------------------------- +class AjRajTablesRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) */ { + public: + inline AjRajTablesRequest() : AjRajTablesRequest(nullptr) {} + ~AjRajTablesRequest() override; + explicit PROTOBUF_CONSTEXPR AjRajTablesRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + AjRajTablesRequest(const AjRajTablesRequest& from); + AjRajTablesRequest(AjRajTablesRequest&& from) noexcept + : AjRajTablesRequest() { + *this = ::std::move(from); + } + + inline AjRajTablesRequest& operator=(const AjRajTablesRequest& from) { + CopyFrom(from); + return *this; + } + inline AjRajTablesRequest& operator=(AjRajTablesRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const AjRajTablesRequest& default_instance() { + return *internal_default_instance(); + } + static inline const AjRajTablesRequest* internal_default_instance() { + return reinterpret_cast( + &_AjRajTablesRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 54; + + friend void swap(AjRajTablesRequest& a, AjRajTablesRequest& b) { + a.Swap(&b); + } + inline void Swap(AjRajTablesRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AjRajTablesRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + AjRajTablesRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const AjRajTablesRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const AjRajTablesRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(AjRajTablesRequest* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.grpc.AjRajTablesRequest"; + } + protected: + explicit AjRajTablesRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kExactMatchColumnsFieldNumber = 4, + kColumnsToAddFieldNumber = 6, + kAsOfColumnFieldNumber = 5, + kResultIdFieldNumber = 1, + kLeftIdFieldNumber = 2, + kRightIdFieldNumber = 3, + }; + // repeated string exact_match_columns = 4; + int exact_match_columns_size() const; + private: + int _internal_exact_match_columns_size() const; + public: + void clear_exact_match_columns(); + const std::string& exact_match_columns(int index) const; + std::string* mutable_exact_match_columns(int index); + void set_exact_match_columns(int index, const std::string& value); + void set_exact_match_columns(int index, std::string&& value); + void set_exact_match_columns(int index, const char* value); + void set_exact_match_columns(int index, const char* value, size_t size); + std::string* add_exact_match_columns(); + void add_exact_match_columns(const std::string& value); + void add_exact_match_columns(std::string&& value); + void add_exact_match_columns(const char* value); + void add_exact_match_columns(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& exact_match_columns() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_exact_match_columns(); + private: + const std::string& _internal_exact_match_columns(int index) const; + std::string* _internal_add_exact_match_columns(); + public: + + // repeated string columns_to_add = 6; + int columns_to_add_size() const; + private: + int _internal_columns_to_add_size() const; + public: + void clear_columns_to_add(); + const std::string& columns_to_add(int index) const; + std::string* mutable_columns_to_add(int index); + void set_columns_to_add(int index, const std::string& value); + void set_columns_to_add(int index, std::string&& value); + void set_columns_to_add(int index, const char* value); + void set_columns_to_add(int index, const char* value, size_t size); + std::string* add_columns_to_add(); + void add_columns_to_add(const std::string& value); + void add_columns_to_add(std::string&& value); + void add_columns_to_add(const char* value); + void add_columns_to_add(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& columns_to_add() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_columns_to_add(); + private: + const std::string& _internal_columns_to_add(int index) const; + std::string* _internal_add_columns_to_add(); + public: + + // string as_of_column = 5; + void clear_as_of_column(); + const std::string& as_of_column() const; + template + void set_as_of_column(ArgT0&& arg0, ArgT... args); + std::string* mutable_as_of_column(); + PROTOBUF_NODISCARD std::string* release_as_of_column(); + void set_allocated_as_of_column(std::string* as_of_column); + private: + const std::string& _internal_as_of_column() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_as_of_column(const std::string& value); + std::string* _internal_mutable_as_of_column(); + public: + + // .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; + bool has_result_id() const; + private: + bool _internal_has_result_id() const; + public: + void clear_result_id(); + const ::io::deephaven::proto::backplane::grpc::Ticket& result_id() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::Ticket* release_result_id(); + ::io::deephaven::proto::backplane::grpc::Ticket* mutable_result_id(); + void set_allocated_result_id(::io::deephaven::proto::backplane::grpc::Ticket* result_id); + private: + const ::io::deephaven::proto::backplane::grpc::Ticket& _internal_result_id() const; + ::io::deephaven::proto::backplane::grpc::Ticket* _internal_mutable_result_id(); + public: + void unsafe_arena_set_allocated_result_id( + ::io::deephaven::proto::backplane::grpc::Ticket* result_id); + ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_result_id(); + + // .io.deephaven.proto.backplane.grpc.TableReference left_id = 2; + bool has_left_id() const; + private: + bool _internal_has_left_id() const; + public: + void clear_left_id(); + const ::io::deephaven::proto::backplane::grpc::TableReference& left_id() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::TableReference* release_left_id(); + ::io::deephaven::proto::backplane::grpc::TableReference* mutable_left_id(); + void set_allocated_left_id(::io::deephaven::proto::backplane::grpc::TableReference* left_id); + private: + const ::io::deephaven::proto::backplane::grpc::TableReference& _internal_left_id() const; + ::io::deephaven::proto::backplane::grpc::TableReference* _internal_mutable_left_id(); + public: + void unsafe_arena_set_allocated_left_id( + ::io::deephaven::proto::backplane::grpc::TableReference* left_id); + ::io::deephaven::proto::backplane::grpc::TableReference* unsafe_arena_release_left_id(); + + // .io.deephaven.proto.backplane.grpc.TableReference right_id = 3; + bool has_right_id() const; + private: + bool _internal_has_right_id() const; + public: + void clear_right_id(); + const ::io::deephaven::proto::backplane::grpc::TableReference& right_id() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::TableReference* release_right_id(); + ::io::deephaven::proto::backplane::grpc::TableReference* mutable_right_id(); + void set_allocated_right_id(::io::deephaven::proto::backplane::grpc::TableReference* right_id); + private: + const ::io::deephaven::proto::backplane::grpc::TableReference& _internal_right_id() const; + ::io::deephaven::proto::backplane::grpc::TableReference* _internal_mutable_right_id(); + public: + void unsafe_arena_set_allocated_right_id( + ::io::deephaven::proto::backplane::grpc::TableReference* right_id); + ::io::deephaven::proto::backplane::grpc::TableReference* unsafe_arena_release_right_id(); + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.grpc.AjRajTablesRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField exact_match_columns_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField columns_to_add_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr as_of_column_; + ::io::deephaven::proto::backplane::grpc::Ticket* result_id_; + ::io::deephaven::proto::backplane::grpc::TableReference* left_id_; + ::io::deephaven::proto::backplane::grpc::TableReference* right_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2ftable_2eproto; +}; +// ------------------------------------------------------------------- + class RangeJoinTablesRequest final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest) */ { public: @@ -11224,7 +11488,7 @@ class RangeJoinTablesRequest final : &_RangeJoinTablesRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 54; + 55; friend void swap(RangeJoinTablesRequest& a, RangeJoinTablesRequest& b) { a.Swap(&b); @@ -11600,7 +11864,7 @@ class ComboAggregateRequest_Aggregate final : &_ComboAggregateRequest_Aggregate_default_instance_); } static constexpr int kIndexInFileMessages = - 55; + 56; friend void swap(ComboAggregateRequest_Aggregate& a, ComboAggregateRequest_Aggregate& b) { a.Swap(&b); @@ -11807,7 +12071,7 @@ class ComboAggregateRequest final : &_ComboAggregateRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 56; + 57; friend void swap(ComboAggregateRequest& a, ComboAggregateRequest& b) { a.Swap(&b); @@ -12092,7 +12356,7 @@ class AggregateAllRequest final : &_AggregateAllRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 57; + 58; friend void swap(AggregateAllRequest& a, AggregateAllRequest& b) { a.Swap(&b); @@ -12310,7 +12574,7 @@ class AggSpec_AggSpecApproximatePercentile final : &_AggSpec_AggSpecApproximatePercentile_default_instance_); } static constexpr int kIndexInFileMessages = - 58; + 59; friend void swap(AggSpec_AggSpecApproximatePercentile& a, AggSpec_AggSpecApproximatePercentile& b) { a.Swap(&b); @@ -12469,7 +12733,7 @@ class AggSpec_AggSpecCountDistinct final : &_AggSpec_AggSpecCountDistinct_default_instance_); } static constexpr int kIndexInFileMessages = - 59; + 60; friend void swap(AggSpec_AggSpecCountDistinct& a, AggSpec_AggSpecCountDistinct& b) { a.Swap(&b); @@ -12612,7 +12876,7 @@ class AggSpec_AggSpecDistinct final : &_AggSpec_AggSpecDistinct_default_instance_); } static constexpr int kIndexInFileMessages = - 60; + 61; friend void swap(AggSpec_AggSpecDistinct& a, AggSpec_AggSpecDistinct& b) { a.Swap(&b); @@ -12755,7 +13019,7 @@ class AggSpec_AggSpecFormula final : &_AggSpec_AggSpecFormula_default_instance_); } static constexpr int kIndexInFileMessages = - 61; + 62; friend void swap(AggSpec_AggSpecFormula& a, AggSpec_AggSpecFormula& b) { a.Swap(&b); @@ -12919,7 +13183,7 @@ class AggSpec_AggSpecMedian final : &_AggSpec_AggSpecMedian_default_instance_); } static constexpr int kIndexInFileMessages = - 62; + 63; friend void swap(AggSpec_AggSpecMedian& a, AggSpec_AggSpecMedian& b) { a.Swap(&b); @@ -13062,7 +13326,7 @@ class AggSpec_AggSpecPercentile final : &_AggSpec_AggSpecPercentile_default_instance_); } static constexpr int kIndexInFileMessages = - 63; + 64; friend void swap(AggSpec_AggSpecPercentile& a, AggSpec_AggSpecPercentile& b) { a.Swap(&b); @@ -13216,7 +13480,7 @@ class AggSpec_AggSpecSorted final : &_AggSpec_AggSpecSorted_default_instance_); } static constexpr int kIndexInFileMessages = - 64; + 65; friend void swap(AggSpec_AggSpecSorted& a, AggSpec_AggSpecSorted& b) { a.Swap(&b); @@ -13368,7 +13632,7 @@ class AggSpec_AggSpecSortedColumn final : &_AggSpec_AggSpecSortedColumn_default_instance_); } static constexpr int kIndexInFileMessages = - 65; + 66; friend void swap(AggSpec_AggSpecSortedColumn& a, AggSpec_AggSpecSortedColumn& b) { a.Swap(&b); @@ -13516,7 +13780,7 @@ class AggSpec_AggSpecTDigest final : &_AggSpec_AggSpecTDigest_default_instance_); } static constexpr int kIndexInFileMessages = - 66; + 67; friend void swap(AggSpec_AggSpecTDigest& a, AggSpec_AggSpecTDigest& b) { a.Swap(&b); @@ -13664,7 +13928,7 @@ class AggSpec_AggSpecUnique final : &_AggSpec_AggSpecUnique_default_instance_); } static constexpr int kIndexInFileMessages = - 67; + 68; friend void swap(AggSpec_AggSpecUnique& a, AggSpec_AggSpecUnique& b) { a.Swap(&b); @@ -13841,7 +14105,7 @@ class AggSpec_AggSpecNonUniqueSentinel final : &_AggSpec_AggSpecNonUniqueSentinel_default_instance_); } static constexpr int kIndexInFileMessages = - 68; + 69; friend void swap(AggSpec_AggSpecNonUniqueSentinel& a, AggSpec_AggSpecNonUniqueSentinel& b) { a.Swap(&b); @@ -14149,7 +14413,7 @@ class AggSpec_AggSpecWeighted final : &_AggSpec_AggSpecWeighted_default_instance_); } static constexpr int kIndexInFileMessages = - 69; + 70; friend void swap(AggSpec_AggSpecWeighted& a, AggSpec_AggSpecWeighted& b) { a.Swap(&b); @@ -14296,7 +14560,7 @@ class AggSpec_AggSpecAbsSum final : &_AggSpec_AggSpecAbsSum_default_instance_); } static constexpr int kIndexInFileMessages = - 70; + 71; friend void swap(AggSpec_AggSpecAbsSum& a, AggSpec_AggSpecAbsSum& b) { a.Swap(&b); @@ -14412,7 +14676,7 @@ class AggSpec_AggSpecAvg final : &_AggSpec_AggSpecAvg_default_instance_); } static constexpr int kIndexInFileMessages = - 71; + 72; friend void swap(AggSpec_AggSpecAvg& a, AggSpec_AggSpecAvg& b) { a.Swap(&b); @@ -14528,7 +14792,7 @@ class AggSpec_AggSpecFirst final : &_AggSpec_AggSpecFirst_default_instance_); } static constexpr int kIndexInFileMessages = - 72; + 73; friend void swap(AggSpec_AggSpecFirst& a, AggSpec_AggSpecFirst& b) { a.Swap(&b); @@ -14644,7 +14908,7 @@ class AggSpec_AggSpecFreeze final : &_AggSpec_AggSpecFreeze_default_instance_); } static constexpr int kIndexInFileMessages = - 73; + 74; friend void swap(AggSpec_AggSpecFreeze& a, AggSpec_AggSpecFreeze& b) { a.Swap(&b); @@ -14760,7 +15024,7 @@ class AggSpec_AggSpecGroup final : &_AggSpec_AggSpecGroup_default_instance_); } static constexpr int kIndexInFileMessages = - 74; + 75; friend void swap(AggSpec_AggSpecGroup& a, AggSpec_AggSpecGroup& b) { a.Swap(&b); @@ -14876,7 +15140,7 @@ class AggSpec_AggSpecLast final : &_AggSpec_AggSpecLast_default_instance_); } static constexpr int kIndexInFileMessages = - 75; + 76; friend void swap(AggSpec_AggSpecLast& a, AggSpec_AggSpecLast& b) { a.Swap(&b); @@ -14992,7 +15256,7 @@ class AggSpec_AggSpecMax final : &_AggSpec_AggSpecMax_default_instance_); } static constexpr int kIndexInFileMessages = - 76; + 77; friend void swap(AggSpec_AggSpecMax& a, AggSpec_AggSpecMax& b) { a.Swap(&b); @@ -15108,7 +15372,7 @@ class AggSpec_AggSpecMin final : &_AggSpec_AggSpecMin_default_instance_); } static constexpr int kIndexInFileMessages = - 77; + 78; friend void swap(AggSpec_AggSpecMin& a, AggSpec_AggSpecMin& b) { a.Swap(&b); @@ -15224,7 +15488,7 @@ class AggSpec_AggSpecStd final : &_AggSpec_AggSpecStd_default_instance_); } static constexpr int kIndexInFileMessages = - 78; + 79; friend void swap(AggSpec_AggSpecStd& a, AggSpec_AggSpecStd& b) { a.Swap(&b); @@ -15340,7 +15604,7 @@ class AggSpec_AggSpecSum final : &_AggSpec_AggSpecSum_default_instance_); } static constexpr int kIndexInFileMessages = - 79; + 80; friend void swap(AggSpec_AggSpecSum& a, AggSpec_AggSpecSum& b) { a.Swap(&b); @@ -15456,7 +15720,7 @@ class AggSpec_AggSpecVar final : &_AggSpec_AggSpecVar_default_instance_); } static constexpr int kIndexInFileMessages = - 80; + 81; friend void swap(AggSpec_AggSpecVar& a, AggSpec_AggSpecVar& b) { a.Swap(&b); @@ -15600,7 +15864,7 @@ class AggSpec final : &_AggSpec_default_instance_); } static constexpr int kIndexInFileMessages = - 81; + 82; friend void swap(AggSpec& a, AggSpec& b) { a.Swap(&b); @@ -16250,7 +16514,7 @@ class AggregateRequest final : &_AggregateRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 82; + 83; friend void swap(AggregateRequest& a, AggregateRequest& b) { a.Swap(&b); @@ -16499,7 +16763,7 @@ class Aggregation_AggregationColumns final : &_Aggregation_AggregationColumns_default_instance_); } static constexpr int kIndexInFileMessages = - 83; + 84; friend void swap(Aggregation_AggregationColumns& a, Aggregation_AggregationColumns& b) { a.Swap(&b); @@ -16677,7 +16941,7 @@ class Aggregation_AggregationCount final : &_Aggregation_AggregationCount_default_instance_); } static constexpr int kIndexInFileMessages = - 84; + 85; friend void swap(Aggregation_AggregationCount& a, Aggregation_AggregationCount& b) { a.Swap(&b); @@ -16825,7 +17089,7 @@ class Aggregation_AggregationRowKey final : &_Aggregation_AggregationRowKey_default_instance_); } static constexpr int kIndexInFileMessages = - 85; + 86; friend void swap(Aggregation_AggregationRowKey& a, Aggregation_AggregationRowKey& b) { a.Swap(&b); @@ -16973,7 +17237,7 @@ class Aggregation_AggregationPartition final : &_Aggregation_AggregationPartition_default_instance_); } static constexpr int kIndexInFileMessages = - 86; + 87; friend void swap(Aggregation_AggregationPartition& a, Aggregation_AggregationPartition& b) { a.Swap(&b); @@ -17141,7 +17405,7 @@ class Aggregation final : &_Aggregation_default_instance_); } static constexpr int kIndexInFileMessages = - 87; + 88; friend void swap(Aggregation& a, Aggregation& b) { a.Swap(&b); @@ -17394,7 +17658,7 @@ class SortDescriptor final : &_SortDescriptor_default_instance_); } static constexpr int kIndexInFileMessages = - 88; + 89; friend void swap(SortDescriptor& a, SortDescriptor& b) { a.Swap(&b); @@ -17598,7 +17862,7 @@ class SortTableRequest final : &_SortTableRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 89; + 90; friend void swap(SortTableRequest& a, SortTableRequest& b) { a.Swap(&b); @@ -17790,7 +18054,7 @@ class FilterTableRequest final : &_FilterTableRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 90; + 91; friend void swap(FilterTableRequest& a, FilterTableRequest& b) { a.Swap(&b); @@ -17982,7 +18246,7 @@ class SeekRowRequest final : &_SeekRowRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 91; + 92; friend void swap(SeekRowRequest& a, SeekRowRequest& b) { a.Swap(&b); @@ -18214,7 +18478,7 @@ class SeekRowResponse final : &_SeekRowResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 92; + 93; friend void swap(SeekRowResponse& a, SeekRowResponse& b) { a.Swap(&b); @@ -18357,7 +18621,7 @@ class Reference final : &_Reference_default_instance_); } static constexpr int kIndexInFileMessages = - 93; + 94; friend void swap(Reference& a, Reference& b) { a.Swap(&b); @@ -18514,7 +18778,7 @@ class Literal final : &_Literal_default_instance_); } static constexpr int kIndexInFileMessages = - 94; + 95; friend void swap(Literal& a, Literal& b) { a.Swap(&b); @@ -18748,7 +19012,7 @@ class Value final : &_Value_default_instance_); } static constexpr int kIndexInFileMessages = - 95; + 96; friend void swap(Value& a, Value& b) { a.Swap(&b); @@ -18947,7 +19211,7 @@ class Condition final : &_Condition_default_instance_); } static constexpr int kIndexInFileMessages = - 96; + 97; friend void swap(Condition& a, Condition& b) { a.Swap(&b); @@ -19300,7 +19564,7 @@ class AndCondition final : &_AndCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 97; + 98; friend void swap(AndCondition& a, AndCondition& b) { a.Swap(&b); @@ -19452,7 +19716,7 @@ class OrCondition final : &_OrCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 98; + 99; friend void swap(OrCondition& a, OrCondition& b) { a.Swap(&b); @@ -19604,7 +19868,7 @@ class NotCondition final : &_NotCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 99; + 100; friend void swap(NotCondition& a, NotCondition& b) { a.Swap(&b); @@ -19756,7 +20020,7 @@ class CompareCondition final : &_CompareCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 100; + 101; friend void swap(CompareCondition& a, CompareCondition& b) { a.Swap(&b); @@ -19988,7 +20252,7 @@ class InCondition final : &_InCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 101; + 102; friend void swap(InCondition& a, InCondition& b) { a.Swap(&b); @@ -20182,7 +20446,7 @@ class InvokeCondition final : &_InvokeCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 102; + 103; friend void swap(InvokeCondition& a, InvokeCondition& b) { a.Swap(&b); @@ -20370,7 +20634,7 @@ class IsNullCondition final : &_IsNullCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 103; + 104; friend void swap(IsNullCondition& a, IsNullCondition& b) { a.Swap(&b); @@ -20522,7 +20786,7 @@ class MatchesCondition final : &_MatchesCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 104; + 105; friend void swap(MatchesCondition& a, MatchesCondition& b) { a.Swap(&b); @@ -20712,7 +20976,7 @@ class ContainsCondition final : &_ContainsCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 105; + 106; friend void swap(ContainsCondition& a, ContainsCondition& b) { a.Swap(&b); @@ -20902,7 +21166,7 @@ class SearchCondition final : &_SearchCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 106; + 107; friend void swap(SearchCondition& a, SearchCondition& b) { a.Swap(&b); @@ -21070,7 +21334,7 @@ class FlattenRequest final : &_FlattenRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 107; + 108; friend void swap(FlattenRequest& a, FlattenRequest& b) { a.Swap(&b); @@ -21242,7 +21506,7 @@ class MetaTableRequest final : &_MetaTableRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 108; + 109; friend void swap(MetaTableRequest& a, MetaTableRequest& b) { a.Swap(&b); @@ -21414,7 +21678,7 @@ class RunChartDownsampleRequest_ZoomRange final : &_RunChartDownsampleRequest_ZoomRange_default_instance_); } static constexpr int kIndexInFileMessages = - 109; + 110; friend void swap(RunChartDownsampleRequest_ZoomRange& a, RunChartDownsampleRequest_ZoomRange& b) { a.Swap(&b); @@ -21577,7 +21841,7 @@ class RunChartDownsampleRequest final : &_RunChartDownsampleRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 110; + 111; friend void swap(RunChartDownsampleRequest& a, RunChartDownsampleRequest& b) { a.Swap(&b); @@ -21823,7 +22087,7 @@ class CreateInputTableRequest_InputTableKind_InMemoryAppendOnly final : &_CreateInputTableRequest_InputTableKind_InMemoryAppendOnly_default_instance_); } static constexpr int kIndexInFileMessages = - 111; + 112; friend void swap(CreateInputTableRequest_InputTableKind_InMemoryAppendOnly& a, CreateInputTableRequest_InputTableKind_InMemoryAppendOnly& b) { a.Swap(&b); @@ -21940,7 +22204,7 @@ class CreateInputTableRequest_InputTableKind_InMemoryKeyBacked final : &_CreateInputTableRequest_InputTableKind_InMemoryKeyBacked_default_instance_); } static constexpr int kIndexInFileMessages = - 112; + 113; friend void swap(CreateInputTableRequest_InputTableKind_InMemoryKeyBacked& a, CreateInputTableRequest_InputTableKind_InMemoryKeyBacked& b) { a.Swap(&b); @@ -22104,7 +22368,7 @@ class CreateInputTableRequest_InputTableKind final : &_CreateInputTableRequest_InputTableKind_default_instance_); } static constexpr int kIndexInFileMessages = - 113; + 114; friend void swap(CreateInputTableRequest_InputTableKind& a, CreateInputTableRequest_InputTableKind& b) { a.Swap(&b); @@ -22298,7 +22562,7 @@ class CreateInputTableRequest final : &_CreateInputTableRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 114; + 115; friend void swap(CreateInputTableRequest& a, CreateInputTableRequest& b) { a.Swap(&b); @@ -22525,7 +22789,7 @@ class WhereInRequest final : &_WhereInRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 115; + 116; friend void swap(WhereInRequest& a, WhereInRequest& b) { a.Swap(&b); @@ -22787,6 +23051,8 @@ class BatchTableRequest_Operation final : kSnapshotWhen = 37, kMetaTable = 38, kRangeJoin = 39, + kAj = 40, + kRaj = 41, OP_NOT_SET = 0, }; @@ -22795,7 +23061,7 @@ class BatchTableRequest_Operation final : &_BatchTableRequest_Operation_default_instance_); } static constexpr int kIndexInFileMessages = - 116; + 117; friend void swap(BatchTableRequest_Operation& a, BatchTableRequest_Operation& b) { a.Swap(&b); @@ -22903,6 +23169,8 @@ class BatchTableRequest_Operation final : kSnapshotWhenFieldNumber = 37, kMetaTableFieldNumber = 38, kRangeJoinFieldNumber = 39, + kAjFieldNumber = 40, + kRajFieldNumber = 41, }; // .io.deephaven.proto.backplane.grpc.EmptyTableRequest empty_table = 1; bool has_empty_table() const; @@ -23354,23 +23622,23 @@ class BatchTableRequest_Operation final : ::io::deephaven::proto::backplane::grpc::LeftJoinTablesRequest* left_join); ::io::deephaven::proto::backplane::grpc::LeftJoinTablesRequest* unsafe_arena_release_left_join(); - // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest as_of_join = 27; - bool has_as_of_join() const; + // .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest as_of_join = 27 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_as_of_join() const; private: bool _internal_has_as_of_join() const; public: - void clear_as_of_join(); - const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest& as_of_join() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* release_as_of_join(); - ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* mutable_as_of_join(); - void set_allocated_as_of_join(::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* as_of_join); + PROTOBUF_DEPRECATED void clear_as_of_join(); + PROTOBUF_DEPRECATED const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest& as_of_join() const; + PROTOBUF_NODISCARD PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* release_as_of_join(); + PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* mutable_as_of_join(); + PROTOBUF_DEPRECATED void set_allocated_as_of_join(::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* as_of_join); private: const ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest& _internal_as_of_join() const; ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* _internal_mutable_as_of_join(); public: - void unsafe_arena_set_allocated_as_of_join( + PROTOBUF_DEPRECATED void unsafe_arena_set_allocated_as_of_join( ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* as_of_join); - ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* unsafe_arena_release_as_of_join(); + PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::AsOfJoinTablesRequest* unsafe_arena_release_as_of_join(); // .io.deephaven.proto.backplane.grpc.FetchTableRequest fetch_table = 28; bool has_fetch_table() const; @@ -23570,6 +23838,42 @@ class BatchTableRequest_Operation final : ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* range_join); ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* unsafe_arena_release_range_join(); + // .io.deephaven.proto.backplane.grpc.AjRajTablesRequest aj = 40; + bool has_aj() const; + private: + bool _internal_has_aj() const; + public: + void clear_aj(); + const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& aj() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* release_aj(); + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* mutable_aj(); + void set_allocated_aj(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* aj); + private: + const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& _internal_aj() const; + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* _internal_mutable_aj(); + public: + void unsafe_arena_set_allocated_aj( + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* aj); + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* unsafe_arena_release_aj(); + + // .io.deephaven.proto.backplane.grpc.AjRajTablesRequest raj = 41; + bool has_raj() const; + private: + bool _internal_has_raj() const; + public: + void clear_raj(); + const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& raj() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* release_raj(); + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* mutable_raj(); + void set_allocated_raj(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* raj); + private: + const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& _internal_raj() const; + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* _internal_mutable_raj(); + public: + void unsafe_arena_set_allocated_raj( + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* raj); + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* unsafe_arena_release_raj(); + void clear_op(); OpCase op_case() const; // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation) @@ -23612,6 +23916,8 @@ class BatchTableRequest_Operation final : void set_has_snapshot_when(); void set_has_meta_table(); void set_has_range_join(); + void set_has_aj(); + void set_has_raj(); inline bool has_op() const; inline void clear_has_op(); @@ -23659,6 +23965,8 @@ class BatchTableRequest_Operation final : ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest* snapshot_when_; ::io::deephaven::proto::backplane::grpc::MetaTableRequest* meta_table_; ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* range_join_; + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* aj_; + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* raj_; } op_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; uint32_t _oneof_case_[1]; @@ -23715,7 +24023,7 @@ class BatchTableRequest final : &_BatchTableRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 117; + 118; friend void swap(BatchTableRequest& a, BatchTableRequest& b) { a.Swap(&b); @@ -35274,6 +35582,475 @@ inline void AsOfJoinTablesRequest::set_as_of_match_rule(::io::deephaven::proto:: // ------------------------------------------------------------------- +// AjRajTablesRequest + +// .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; +inline bool AjRajTablesRequest::_internal_has_result_id() const { + return this != internal_default_instance() && result_id_ != nullptr; +} +inline bool AjRajTablesRequest::has_result_id() const { + return _internal_has_result_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& AjRajTablesRequest::_internal_result_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = result_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& AjRajTablesRequest::result_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.result_id) + return _internal_result_id(); +} +inline void AjRajTablesRequest::unsafe_arena_set_allocated_result_id( + ::io::deephaven::proto::backplane::grpc::Ticket* result_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + } + result_id_ = result_id; + if (result_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.result_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* AjRajTablesRequest::release_result_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; + result_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* AjRajTablesRequest::unsafe_arena_release_result_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.result_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; + result_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* AjRajTablesRequest::_internal_mutable_result_id() { + + if (result_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + result_id_ = p; + } + return result_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* AjRajTablesRequest::mutable_result_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_result_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.result_id) + return _msg; +} +inline void AjRajTablesRequest::set_allocated_result_id(::io::deephaven::proto::backplane::grpc::Ticket* result_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + } + if (result_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id)); + if (message_arena != submessage_arena) { + result_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, result_id, submessage_arena); + } + + } else { + + } + result_id_ = result_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.result_id) +} + +// .io.deephaven.proto.backplane.grpc.TableReference left_id = 2; +inline bool AjRajTablesRequest::_internal_has_left_id() const { + return this != internal_default_instance() && left_id_ != nullptr; +} +inline bool AjRajTablesRequest::has_left_id() const { + return _internal_has_left_id(); +} +inline void AjRajTablesRequest::clear_left_id() { + if (GetArenaForAllocation() == nullptr && left_id_ != nullptr) { + delete left_id_; + } + left_id_ = nullptr; +} +inline const ::io::deephaven::proto::backplane::grpc::TableReference& AjRajTablesRequest::_internal_left_id() const { + const ::io::deephaven::proto::backplane::grpc::TableReference* p = left_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_TableReference_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::TableReference& AjRajTablesRequest::left_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.left_id) + return _internal_left_id(); +} +inline void AjRajTablesRequest::unsafe_arena_set_allocated_left_id( + ::io::deephaven::proto::backplane::grpc::TableReference* left_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(left_id_); + } + left_id_ = left_id; + if (left_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.left_id) +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* AjRajTablesRequest::release_left_id() { + + ::io::deephaven::proto::backplane::grpc::TableReference* temp = left_id_; + left_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* AjRajTablesRequest::unsafe_arena_release_left_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.left_id) + + ::io::deephaven::proto::backplane::grpc::TableReference* temp = left_id_; + left_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* AjRajTablesRequest::_internal_mutable_left_id() { + + if (left_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::TableReference>(GetArenaForAllocation()); + left_id_ = p; + } + return left_id_; +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* AjRajTablesRequest::mutable_left_id() { + ::io::deephaven::proto::backplane::grpc::TableReference* _msg = _internal_mutable_left_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.left_id) + return _msg; +} +inline void AjRajTablesRequest::set_allocated_left_id(::io::deephaven::proto::backplane::grpc::TableReference* left_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete left_id_; + } + if (left_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(left_id); + if (message_arena != submessage_arena) { + left_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, left_id, submessage_arena); + } + + } else { + + } + left_id_ = left_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.left_id) +} + +// .io.deephaven.proto.backplane.grpc.TableReference right_id = 3; +inline bool AjRajTablesRequest::_internal_has_right_id() const { + return this != internal_default_instance() && right_id_ != nullptr; +} +inline bool AjRajTablesRequest::has_right_id() const { + return _internal_has_right_id(); +} +inline void AjRajTablesRequest::clear_right_id() { + if (GetArenaForAllocation() == nullptr && right_id_ != nullptr) { + delete right_id_; + } + right_id_ = nullptr; +} +inline const ::io::deephaven::proto::backplane::grpc::TableReference& AjRajTablesRequest::_internal_right_id() const { + const ::io::deephaven::proto::backplane::grpc::TableReference* p = right_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_TableReference_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::TableReference& AjRajTablesRequest::right_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.right_id) + return _internal_right_id(); +} +inline void AjRajTablesRequest::unsafe_arena_set_allocated_right_id( + ::io::deephaven::proto::backplane::grpc::TableReference* right_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(right_id_); + } + right_id_ = right_id; + if (right_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.right_id) +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* AjRajTablesRequest::release_right_id() { + + ::io::deephaven::proto::backplane::grpc::TableReference* temp = right_id_; + right_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* AjRajTablesRequest::unsafe_arena_release_right_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.right_id) + + ::io::deephaven::proto::backplane::grpc::TableReference* temp = right_id_; + right_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* AjRajTablesRequest::_internal_mutable_right_id() { + + if (right_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::TableReference>(GetArenaForAllocation()); + right_id_ = p; + } + return right_id_; +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* AjRajTablesRequest::mutable_right_id() { + ::io::deephaven::proto::backplane::grpc::TableReference* _msg = _internal_mutable_right_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.right_id) + return _msg; +} +inline void AjRajTablesRequest::set_allocated_right_id(::io::deephaven::proto::backplane::grpc::TableReference* right_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete right_id_; + } + if (right_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(right_id); + if (message_arena != submessage_arena) { + right_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, right_id, submessage_arena); + } + + } else { + + } + right_id_ = right_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.right_id) +} + +// repeated string exact_match_columns = 4; +inline int AjRajTablesRequest::_internal_exact_match_columns_size() const { + return exact_match_columns_.size(); +} +inline int AjRajTablesRequest::exact_match_columns_size() const { + return _internal_exact_match_columns_size(); +} +inline void AjRajTablesRequest::clear_exact_match_columns() { + exact_match_columns_.Clear(); +} +inline std::string* AjRajTablesRequest::add_exact_match_columns() { + std::string* _s = _internal_add_exact_match_columns(); + // @@protoc_insertion_point(field_add_mutable:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) + return _s; +} +inline const std::string& AjRajTablesRequest::_internal_exact_match_columns(int index) const { + return exact_match_columns_.Get(index); +} +inline const std::string& AjRajTablesRequest::exact_match_columns(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) + return _internal_exact_match_columns(index); +} +inline std::string* AjRajTablesRequest::mutable_exact_match_columns(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) + return exact_match_columns_.Mutable(index); +} +inline void AjRajTablesRequest::set_exact_match_columns(int index, const std::string& value) { + exact_match_columns_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) +} +inline void AjRajTablesRequest::set_exact_match_columns(int index, std::string&& value) { + exact_match_columns_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) +} +inline void AjRajTablesRequest::set_exact_match_columns(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + exact_match_columns_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) +} +inline void AjRajTablesRequest::set_exact_match_columns(int index, const char* value, size_t size) { + exact_match_columns_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) +} +inline std::string* AjRajTablesRequest::_internal_add_exact_match_columns() { + return exact_match_columns_.Add(); +} +inline void AjRajTablesRequest::add_exact_match_columns(const std::string& value) { + exact_match_columns_.Add()->assign(value); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) +} +inline void AjRajTablesRequest::add_exact_match_columns(std::string&& value) { + exact_match_columns_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) +} +inline void AjRajTablesRequest::add_exact_match_columns(const char* value) { + GOOGLE_DCHECK(value != nullptr); + exact_match_columns_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) +} +inline void AjRajTablesRequest::add_exact_match_columns(const char* value, size_t size) { + exact_match_columns_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +AjRajTablesRequest::exact_match_columns() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) + return exact_match_columns_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +AjRajTablesRequest::mutable_exact_match_columns() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.exact_match_columns) + return &exact_match_columns_; +} + +// string as_of_column = 5; +inline void AjRajTablesRequest::clear_as_of_column() { + as_of_column_.ClearToEmpty(); +} +inline const std::string& AjRajTablesRequest::as_of_column() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.as_of_column) + return _internal_as_of_column(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void AjRajTablesRequest::set_as_of_column(ArgT0&& arg0, ArgT... args) { + + as_of_column_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.as_of_column) +} +inline std::string* AjRajTablesRequest::mutable_as_of_column() { + std::string* _s = _internal_mutable_as_of_column(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.as_of_column) + return _s; +} +inline const std::string& AjRajTablesRequest::_internal_as_of_column() const { + return as_of_column_.Get(); +} +inline void AjRajTablesRequest::_internal_set_as_of_column(const std::string& value) { + + as_of_column_.Set(value, GetArenaForAllocation()); +} +inline std::string* AjRajTablesRequest::_internal_mutable_as_of_column() { + + return as_of_column_.Mutable(GetArenaForAllocation()); +} +inline std::string* AjRajTablesRequest::release_as_of_column() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.as_of_column) + return as_of_column_.Release(); +} +inline void AjRajTablesRequest::set_allocated_as_of_column(std::string* as_of_column) { + if (as_of_column != nullptr) { + + } else { + + } + as_of_column_.SetAllocated(as_of_column, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (as_of_column_.IsDefault()) { + as_of_column_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.as_of_column) +} + +// repeated string columns_to_add = 6; +inline int AjRajTablesRequest::_internal_columns_to_add_size() const { + return columns_to_add_.size(); +} +inline int AjRajTablesRequest::columns_to_add_size() const { + return _internal_columns_to_add_size(); +} +inline void AjRajTablesRequest::clear_columns_to_add() { + columns_to_add_.Clear(); +} +inline std::string* AjRajTablesRequest::add_columns_to_add() { + std::string* _s = _internal_add_columns_to_add(); + // @@protoc_insertion_point(field_add_mutable:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) + return _s; +} +inline const std::string& AjRajTablesRequest::_internal_columns_to_add(int index) const { + return columns_to_add_.Get(index); +} +inline const std::string& AjRajTablesRequest::columns_to_add(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) + return _internal_columns_to_add(index); +} +inline std::string* AjRajTablesRequest::mutable_columns_to_add(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) + return columns_to_add_.Mutable(index); +} +inline void AjRajTablesRequest::set_columns_to_add(int index, const std::string& value) { + columns_to_add_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) +} +inline void AjRajTablesRequest::set_columns_to_add(int index, std::string&& value) { + columns_to_add_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) +} +inline void AjRajTablesRequest::set_columns_to_add(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + columns_to_add_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) +} +inline void AjRajTablesRequest::set_columns_to_add(int index, const char* value, size_t size) { + columns_to_add_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) +} +inline std::string* AjRajTablesRequest::_internal_add_columns_to_add() { + return columns_to_add_.Add(); +} +inline void AjRajTablesRequest::add_columns_to_add(const std::string& value) { + columns_to_add_.Add()->assign(value); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) +} +inline void AjRajTablesRequest::add_columns_to_add(std::string&& value) { + columns_to_add_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) +} +inline void AjRajTablesRequest::add_columns_to_add(const char* value) { + GOOGLE_DCHECK(value != nullptr); + columns_to_add_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) +} +inline void AjRajTablesRequest::add_columns_to_add(const char* value, size_t size) { + columns_to_add_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +AjRajTablesRequest::columns_to_add() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) + return columns_to_add_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +AjRajTablesRequest::mutable_columns_to_add() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.grpc.AjRajTablesRequest.columns_to_add) + return &columns_to_add_; +} + +// ------------------------------------------------------------------- + // RangeJoinTablesRequest // .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; @@ -47620,7 +48397,7 @@ inline ::io::deephaven::proto::backplane::grpc::LeftJoinTablesRequest* BatchTabl return _msg; } -// .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest as_of_join = 27; +// .io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest as_of_join = 27 [deprecated = true]; inline bool BatchTableRequest_Operation::_internal_has_as_of_join() const { return op_case() == kAsOfJoin; } @@ -48508,6 +49285,154 @@ inline ::io::deephaven::proto::backplane::grpc::RangeJoinTablesRequest* BatchTab return _msg; } +// .io.deephaven.proto.backplane.grpc.AjRajTablesRequest aj = 40; +inline bool BatchTableRequest_Operation::_internal_has_aj() const { + return op_case() == kAj; +} +inline bool BatchTableRequest_Operation::has_aj() const { + return _internal_has_aj(); +} +inline void BatchTableRequest_Operation::set_has_aj() { + _oneof_case_[0] = kAj; +} +inline void BatchTableRequest_Operation::clear_aj() { + if (_internal_has_aj()) { + if (GetArenaForAllocation() == nullptr) { + delete op_.aj_; + } + clear_has_op(); + } +} +inline ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* BatchTableRequest_Operation::release_aj() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aj) + if (_internal_has_aj()) { + clear_has_op(); + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* temp = op_.aj_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + op_.aj_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& BatchTableRequest_Operation::_internal_aj() const { + return _internal_has_aj() + ? *op_.aj_ + : reinterpret_cast< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest&>(::io::deephaven::proto::backplane::grpc::_AjRajTablesRequest_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& BatchTableRequest_Operation::aj() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aj) + return _internal_aj(); +} +inline ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* BatchTableRequest_Operation::unsafe_arena_release_aj() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aj) + if (_internal_has_aj()) { + clear_has_op(); + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* temp = op_.aj_; + op_.aj_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void BatchTableRequest_Operation::unsafe_arena_set_allocated_aj(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* aj) { + clear_op(); + if (aj) { + set_has_aj(); + op_.aj_ = aj; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aj) +} +inline ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* BatchTableRequest_Operation::_internal_mutable_aj() { + if (!_internal_has_aj()) { + clear_op(); + set_has_aj(); + op_.aj_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest >(GetArenaForAllocation()); + } + return op_.aj_; +} +inline ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* BatchTableRequest_Operation::mutable_aj() { + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* _msg = _internal_mutable_aj(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aj) + return _msg; +} + +// .io.deephaven.proto.backplane.grpc.AjRajTablesRequest raj = 41; +inline bool BatchTableRequest_Operation::_internal_has_raj() const { + return op_case() == kRaj; +} +inline bool BatchTableRequest_Operation::has_raj() const { + return _internal_has_raj(); +} +inline void BatchTableRequest_Operation::set_has_raj() { + _oneof_case_[0] = kRaj; +} +inline void BatchTableRequest_Operation::clear_raj() { + if (_internal_has_raj()) { + if (GetArenaForAllocation() == nullptr) { + delete op_.raj_; + } + clear_has_op(); + } +} +inline ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* BatchTableRequest_Operation::release_raj() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.raj) + if (_internal_has_raj()) { + clear_has_op(); + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* temp = op_.raj_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + op_.raj_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& BatchTableRequest_Operation::_internal_raj() const { + return _internal_has_raj() + ? *op_.raj_ + : reinterpret_cast< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest&>(::io::deephaven::proto::backplane::grpc::_AjRajTablesRequest_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest& BatchTableRequest_Operation::raj() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.raj) + return _internal_raj(); +} +inline ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* BatchTableRequest_Operation::unsafe_arena_release_raj() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.raj) + if (_internal_has_raj()) { + clear_has_op(); + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* temp = op_.raj_; + op_.raj_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void BatchTableRequest_Operation::unsafe_arena_set_allocated_raj(::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* raj) { + clear_op(); + if (raj) { + set_has_raj(); + op_.raj_ = raj; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.raj) +} +inline ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* BatchTableRequest_Operation::_internal_mutable_raj() { + if (!_internal_has_raj()) { + clear_op(); + set_has_raj(); + op_.raj_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest >(GetArenaForAllocation()); + } + return op_.raj_; +} +inline ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* BatchTableRequest_Operation::mutable_raj() { + ::io::deephaven::proto::backplane::grpc::AjRajTablesRequest* _msg = _internal_mutable_raj(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.raj) + return _msg; +} + inline bool BatchTableRequest_Operation::has_op() const { return op_case() != OP_NOT_SET; } @@ -48798,6 +49723,8 @@ BatchTableRequest::ops() const { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/go/internal/proto/table/table.pb.go b/go/internal/proto/table/table.pb.go index a2eec5fc97c..85f296f654b 100644 --- a/go/internal/proto/table/table.pb.go +++ b/go/internal/proto/table/table.pb.go @@ -344,6 +344,7 @@ func (MathContext_RoundingMode) EnumDescriptor() ([]byte, []int) { return file_deephaven_proto_table_proto_rawDescGZIP(), []int{9, 0} } +// Deprecated: Do not use. type AsOfJoinTablesRequest_MatchRule int32 const ( @@ -445,7 +446,7 @@ func (x RangeJoinTablesRequest_RangeStartRule) Number() protoreflect.EnumNumber // Deprecated: Use RangeJoinTablesRequest_RangeStartRule.Descriptor instead. func (RangeJoinTablesRequest_RangeStartRule) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{28, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{29, 0} } type RangeJoinTablesRequest_RangeEndRule int32 @@ -497,7 +498,7 @@ func (x RangeJoinTablesRequest_RangeEndRule) Number() protoreflect.EnumNumber { // Deprecated: Use RangeJoinTablesRequest_RangeEndRule.Descriptor instead. func (RangeJoinTablesRequest_RangeEndRule) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{28, 1} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{29, 1} } type ComboAggregateRequest_AggType int32 @@ -579,7 +580,7 @@ func (x ComboAggregateRequest_AggType) Number() protoreflect.EnumNumber { // Deprecated: Use ComboAggregateRequest_AggType.Descriptor instead. func (ComboAggregateRequest_AggType) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{29, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{30, 0} } type SortDescriptor_SortDirection int32 @@ -631,7 +632,7 @@ func (x SortDescriptor_SortDirection) Number() protoreflect.EnumNumber { // Deprecated: Use SortDescriptor_SortDirection.Descriptor instead. func (SortDescriptor_SortDirection) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{34, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{35, 0} } type CompareCondition_CompareOperation int32 @@ -689,7 +690,7 @@ func (x CompareCondition_CompareOperation) Number() protoreflect.EnumNumber { // Deprecated: Use CompareCondition_CompareOperation.Descriptor instead. func (CompareCondition_CompareOperation) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{46, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{47, 0} } type TableReference struct { @@ -2555,6 +2556,7 @@ func (x *LeftJoinTablesRequest) GetColumnsToAdd() []string { return nil } +// Deprecated: Do not use. type AsOfJoinTablesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2644,6 +2646,98 @@ func (x *AsOfJoinTablesRequest) GetAsOfMatchRule() AsOfJoinTablesRequest_MatchRu return AsOfJoinTablesRequest_LESS_THAN_EQUAL } +type AjRajTablesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResultId *ticket.Ticket `protobuf:"bytes,1,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"` + LeftId *TableReference `protobuf:"bytes,2,opt,name=left_id,json=leftId,proto3" json:"left_id,omitempty"` + RightId *TableReference `protobuf:"bytes,3,opt,name=right_id,json=rightId,proto3" json:"right_id,omitempty"` + ExactMatchColumns []string `protobuf:"bytes,4,rep,name=exact_match_columns,json=exactMatchColumns,proto3" json:"exact_match_columns,omitempty"` + // This is a comparison expression for the inexact as-of join match. In the case of an as-of join (aj), the comparison + // operator can be either ">=" or ">"; for example, "Foo>=Bar" or "Foo>Bar". In the case of a reverse-as-of join (raj), + // the comparison operator can be either "<=" or "<"; for example, "Foo<=Bar" or "Foo=Foo"; in the raj case, "Foo" is equivalent to "Foo<=Foo". + AsOfColumn string `protobuf:"bytes,5,opt,name=as_of_column,json=asOfColumn,proto3" json:"as_of_column,omitempty"` + ColumnsToAdd []string `protobuf:"bytes,6,rep,name=columns_to_add,json=columnsToAdd,proto3" json:"columns_to_add,omitempty"` +} + +func (x *AjRajTablesRequest) Reset() { + *x = AjRajTablesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_table_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AjRajTablesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AjRajTablesRequest) ProtoMessage() {} + +func (x *AjRajTablesRequest) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_table_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AjRajTablesRequest.ProtoReflect.Descriptor instead. +func (*AjRajTablesRequest) Descriptor() ([]byte, []int) { + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{28} +} + +func (x *AjRajTablesRequest) GetResultId() *ticket.Ticket { + if x != nil { + return x.ResultId + } + return nil +} + +func (x *AjRajTablesRequest) GetLeftId() *TableReference { + if x != nil { + return x.LeftId + } + return nil +} + +func (x *AjRajTablesRequest) GetRightId() *TableReference { + if x != nil { + return x.RightId + } + return nil +} + +func (x *AjRajTablesRequest) GetExactMatchColumns() []string { + if x != nil { + return x.ExactMatchColumns + } + return nil +} + +func (x *AjRajTablesRequest) GetAsOfColumn() string { + if x != nil { + return x.AsOfColumn + } + return "" +} + +func (x *AjRajTablesRequest) GetColumnsToAdd() []string { + if x != nil { + return x.ColumnsToAdd + } + return nil +} + type RangeJoinTablesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2664,7 +2758,7 @@ type RangeJoinTablesRequest struct { func (x *RangeJoinTablesRequest) Reset() { *x = RangeJoinTablesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[28] + mi := &file_deephaven_proto_table_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2677,7 +2771,7 @@ func (x *RangeJoinTablesRequest) String() string { func (*RangeJoinTablesRequest) ProtoMessage() {} func (x *RangeJoinTablesRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[28] + mi := &file_deephaven_proto_table_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2690,7 +2784,7 @@ func (x *RangeJoinTablesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RangeJoinTablesRequest.ProtoReflect.Descriptor instead. func (*RangeJoinTablesRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{28} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{29} } func (x *RangeJoinTablesRequest) GetResultId() *ticket.Ticket { @@ -2779,7 +2873,7 @@ type ComboAggregateRequest struct { func (x *ComboAggregateRequest) Reset() { *x = ComboAggregateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[29] + mi := &file_deephaven_proto_table_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2792,7 +2886,7 @@ func (x *ComboAggregateRequest) String() string { func (*ComboAggregateRequest) ProtoMessage() {} func (x *ComboAggregateRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[29] + mi := &file_deephaven_proto_table_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2805,7 +2899,7 @@ func (x *ComboAggregateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ComboAggregateRequest.ProtoReflect.Descriptor instead. func (*ComboAggregateRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{29} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{30} } func (x *ComboAggregateRequest) GetResultId() *ticket.Ticket { @@ -2857,7 +2951,7 @@ type AggregateAllRequest struct { func (x *AggregateAllRequest) Reset() { *x = AggregateAllRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[30] + mi := &file_deephaven_proto_table_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2870,7 +2964,7 @@ func (x *AggregateAllRequest) String() string { func (*AggregateAllRequest) ProtoMessage() {} func (x *AggregateAllRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[30] + mi := &file_deephaven_proto_table_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2883,7 +2977,7 @@ func (x *AggregateAllRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregateAllRequest.ProtoReflect.Descriptor instead. func (*AggregateAllRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{30} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31} } func (x *AggregateAllRequest) GetResultId() *ticket.Ticket { @@ -2950,7 +3044,7 @@ type AggSpec struct { func (x *AggSpec) Reset() { *x = AggSpec{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[31] + mi := &file_deephaven_proto_table_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2963,7 +3057,7 @@ func (x *AggSpec) String() string { func (*AggSpec) ProtoMessage() {} func (x *AggSpec) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[31] + mi := &file_deephaven_proto_table_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2976,7 +3070,7 @@ func (x *AggSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec.ProtoReflect.Descriptor instead. func (*AggSpec) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32} } func (m *AggSpec) GetType() isAggSpec_Type { @@ -3314,7 +3408,7 @@ type AggregateRequest struct { func (x *AggregateRequest) Reset() { *x = AggregateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[32] + mi := &file_deephaven_proto_table_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3327,7 +3421,7 @@ func (x *AggregateRequest) String() string { func (*AggregateRequest) ProtoMessage() {} func (x *AggregateRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[32] + mi := &file_deephaven_proto_table_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3340,7 +3434,7 @@ func (x *AggregateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregateRequest.ProtoReflect.Descriptor instead. func (*AggregateRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{33} } func (x *AggregateRequest) GetResultId() *ticket.Ticket { @@ -3403,7 +3497,7 @@ type Aggregation struct { func (x *Aggregation) Reset() { *x = Aggregation{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[33] + mi := &file_deephaven_proto_table_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3416,7 +3510,7 @@ func (x *Aggregation) String() string { func (*Aggregation) ProtoMessage() {} func (x *Aggregation) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[33] + mi := &file_deephaven_proto_table_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3429,7 +3523,7 @@ func (x *Aggregation) ProtoReflect() protoreflect.Message { // Deprecated: Use Aggregation.ProtoReflect.Descriptor instead. func (*Aggregation) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{33} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{34} } func (m *Aggregation) GetType() isAggregation_Type { @@ -3521,7 +3615,7 @@ type SortDescriptor struct { func (x *SortDescriptor) Reset() { *x = SortDescriptor{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[34] + mi := &file_deephaven_proto_table_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3534,7 +3628,7 @@ func (x *SortDescriptor) String() string { func (*SortDescriptor) ProtoMessage() {} func (x *SortDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[34] + mi := &file_deephaven_proto_table_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3547,7 +3641,7 @@ func (x *SortDescriptor) ProtoReflect() protoreflect.Message { // Deprecated: Use SortDescriptor.ProtoReflect.Descriptor instead. func (*SortDescriptor) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{34} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{35} } func (x *SortDescriptor) GetColumnName() string { @@ -3584,7 +3678,7 @@ type SortTableRequest struct { func (x *SortTableRequest) Reset() { *x = SortTableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[35] + mi := &file_deephaven_proto_table_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3597,7 +3691,7 @@ func (x *SortTableRequest) String() string { func (*SortTableRequest) ProtoMessage() {} func (x *SortTableRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[35] + mi := &file_deephaven_proto_table_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3610,7 +3704,7 @@ func (x *SortTableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SortTableRequest.ProtoReflect.Descriptor instead. func (*SortTableRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{35} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{36} } func (x *SortTableRequest) GetResultId() *ticket.Ticket { @@ -3647,7 +3741,7 @@ type FilterTableRequest struct { func (x *FilterTableRequest) Reset() { *x = FilterTableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[36] + mi := &file_deephaven_proto_table_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3660,7 +3754,7 @@ func (x *FilterTableRequest) String() string { func (*FilterTableRequest) ProtoMessage() {} func (x *FilterTableRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[36] + mi := &file_deephaven_proto_table_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3673,7 +3767,7 @@ func (x *FilterTableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FilterTableRequest.ProtoReflect.Descriptor instead. func (*FilterTableRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{36} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{37} } func (x *FilterTableRequest) GetResultId() *ticket.Ticket { @@ -3714,7 +3808,7 @@ type SeekRowRequest struct { func (x *SeekRowRequest) Reset() { *x = SeekRowRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[37] + mi := &file_deephaven_proto_table_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3727,7 +3821,7 @@ func (x *SeekRowRequest) String() string { func (*SeekRowRequest) ProtoMessage() {} func (x *SeekRowRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[37] + mi := &file_deephaven_proto_table_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3740,7 +3834,7 @@ func (x *SeekRowRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SeekRowRequest.ProtoReflect.Descriptor instead. func (*SeekRowRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{37} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{38} } func (x *SeekRowRequest) GetSourceId() *ticket.Ticket { @@ -3803,7 +3897,7 @@ type SeekRowResponse struct { func (x *SeekRowResponse) Reset() { *x = SeekRowResponse{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[38] + mi := &file_deephaven_proto_table_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3816,7 +3910,7 @@ func (x *SeekRowResponse) String() string { func (*SeekRowResponse) ProtoMessage() {} func (x *SeekRowResponse) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[38] + mi := &file_deephaven_proto_table_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3829,7 +3923,7 @@ func (x *SeekRowResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SeekRowResponse.ProtoReflect.Descriptor instead. func (*SeekRowResponse) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{38} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{39} } func (x *SeekRowResponse) GetResultRow() int64 { @@ -3850,7 +3944,7 @@ type Reference struct { func (x *Reference) Reset() { *x = Reference{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[39] + mi := &file_deephaven_proto_table_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3863,7 +3957,7 @@ func (x *Reference) String() string { func (*Reference) ProtoMessage() {} func (x *Reference) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[39] + mi := &file_deephaven_proto_table_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3876,7 +3970,7 @@ func (x *Reference) ProtoReflect() protoreflect.Message { // Deprecated: Use Reference.ProtoReflect.Descriptor instead. func (*Reference) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{39} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{40} } func (x *Reference) GetColumnName() string { @@ -3904,7 +3998,7 @@ type Literal struct { func (x *Literal) Reset() { *x = Literal{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[40] + mi := &file_deephaven_proto_table_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3917,7 +4011,7 @@ func (x *Literal) String() string { func (*Literal) ProtoMessage() {} func (x *Literal) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[40] + mi := &file_deephaven_proto_table_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3930,7 +4024,7 @@ func (x *Literal) ProtoReflect() protoreflect.Message { // Deprecated: Use Literal.ProtoReflect.Descriptor instead. func (*Literal) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{40} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{41} } func (m *Literal) GetValue() isLiteral_Value { @@ -4025,7 +4119,7 @@ type Value struct { func (x *Value) Reset() { *x = Value{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[41] + mi := &file_deephaven_proto_table_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4038,7 +4132,7 @@ func (x *Value) String() string { func (*Value) ProtoMessage() {} func (x *Value) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[41] + mi := &file_deephaven_proto_table_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4051,7 +4145,7 @@ func (x *Value) ProtoReflect() protoreflect.Message { // Deprecated: Use Value.ProtoReflect.Descriptor instead. func (*Value) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{41} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{42} } func (m *Value) GetData() isValue_Data { @@ -4114,7 +4208,7 @@ type Condition struct { func (x *Condition) Reset() { *x = Condition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[42] + mi := &file_deephaven_proto_table_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4127,7 +4221,7 @@ func (x *Condition) String() string { func (*Condition) ProtoMessage() {} func (x *Condition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[42] + mi := &file_deephaven_proto_table_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4140,7 +4234,7 @@ func (x *Condition) ProtoReflect() protoreflect.Message { // Deprecated: Use Condition.ProtoReflect.Descriptor instead. func (*Condition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{42} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{43} } func (m *Condition) GetData() isCondition_Data { @@ -4296,7 +4390,7 @@ type AndCondition struct { func (x *AndCondition) Reset() { *x = AndCondition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[43] + mi := &file_deephaven_proto_table_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4309,7 +4403,7 @@ func (x *AndCondition) String() string { func (*AndCondition) ProtoMessage() {} func (x *AndCondition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[43] + mi := &file_deephaven_proto_table_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4322,7 +4416,7 @@ func (x *AndCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use AndCondition.ProtoReflect.Descriptor instead. func (*AndCondition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{43} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{44} } func (x *AndCondition) GetFilters() []*Condition { @@ -4343,7 +4437,7 @@ type OrCondition struct { func (x *OrCondition) Reset() { *x = OrCondition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[44] + mi := &file_deephaven_proto_table_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4356,7 +4450,7 @@ func (x *OrCondition) String() string { func (*OrCondition) ProtoMessage() {} func (x *OrCondition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[44] + mi := &file_deephaven_proto_table_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4369,7 +4463,7 @@ func (x *OrCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use OrCondition.ProtoReflect.Descriptor instead. func (*OrCondition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{44} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{45} } func (x *OrCondition) GetFilters() []*Condition { @@ -4390,7 +4484,7 @@ type NotCondition struct { func (x *NotCondition) Reset() { *x = NotCondition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[45] + mi := &file_deephaven_proto_table_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4403,7 +4497,7 @@ func (x *NotCondition) String() string { func (*NotCondition) ProtoMessage() {} func (x *NotCondition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[45] + mi := &file_deephaven_proto_table_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4416,7 +4510,7 @@ func (x *NotCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use NotCondition.ProtoReflect.Descriptor instead. func (*NotCondition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{45} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{46} } func (x *NotCondition) GetFilter() *Condition { @@ -4440,7 +4534,7 @@ type CompareCondition struct { func (x *CompareCondition) Reset() { *x = CompareCondition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[46] + mi := &file_deephaven_proto_table_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4453,7 +4547,7 @@ func (x *CompareCondition) String() string { func (*CompareCondition) ProtoMessage() {} func (x *CompareCondition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[46] + mi := &file_deephaven_proto_table_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4466,7 +4560,7 @@ func (x *CompareCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use CompareCondition.ProtoReflect.Descriptor instead. func (*CompareCondition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{46} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{47} } func (x *CompareCondition) GetOperation() CompareCondition_CompareOperation { @@ -4511,7 +4605,7 @@ type InCondition struct { func (x *InCondition) Reset() { *x = InCondition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[47] + mi := &file_deephaven_proto_table_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4524,7 +4618,7 @@ func (x *InCondition) String() string { func (*InCondition) ProtoMessage() {} func (x *InCondition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[47] + mi := &file_deephaven_proto_table_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4537,7 +4631,7 @@ func (x *InCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use InCondition.ProtoReflect.Descriptor instead. func (*InCondition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{47} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{48} } func (x *InCondition) GetTarget() *Value { @@ -4581,7 +4675,7 @@ type InvokeCondition struct { func (x *InvokeCondition) Reset() { *x = InvokeCondition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[48] + mi := &file_deephaven_proto_table_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4594,7 +4688,7 @@ func (x *InvokeCondition) String() string { func (*InvokeCondition) ProtoMessage() {} func (x *InvokeCondition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[48] + mi := &file_deephaven_proto_table_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4607,7 +4701,7 @@ func (x *InvokeCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use InvokeCondition.ProtoReflect.Descriptor instead. func (*InvokeCondition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{48} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{49} } func (x *InvokeCondition) GetMethod() string { @@ -4642,7 +4736,7 @@ type IsNullCondition struct { func (x *IsNullCondition) Reset() { *x = IsNullCondition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[49] + mi := &file_deephaven_proto_table_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4655,7 +4749,7 @@ func (x *IsNullCondition) String() string { func (*IsNullCondition) ProtoMessage() {} func (x *IsNullCondition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[49] + mi := &file_deephaven_proto_table_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4668,7 +4762,7 @@ func (x *IsNullCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use IsNullCondition.ProtoReflect.Descriptor instead. func (*IsNullCondition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{49} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{50} } func (x *IsNullCondition) GetReference() *Reference { @@ -4692,7 +4786,7 @@ type MatchesCondition struct { func (x *MatchesCondition) Reset() { *x = MatchesCondition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[50] + mi := &file_deephaven_proto_table_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4705,7 +4799,7 @@ func (x *MatchesCondition) String() string { func (*MatchesCondition) ProtoMessage() {} func (x *MatchesCondition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[50] + mi := &file_deephaven_proto_table_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4718,7 +4812,7 @@ func (x *MatchesCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use MatchesCondition.ProtoReflect.Descriptor instead. func (*MatchesCondition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{50} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{51} } func (x *MatchesCondition) GetReference() *Reference { @@ -4763,7 +4857,7 @@ type ContainsCondition struct { func (x *ContainsCondition) Reset() { *x = ContainsCondition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[51] + mi := &file_deephaven_proto_table_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4776,7 +4870,7 @@ func (x *ContainsCondition) String() string { func (*ContainsCondition) ProtoMessage() {} func (x *ContainsCondition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[51] + mi := &file_deephaven_proto_table_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4789,7 +4883,7 @@ func (x *ContainsCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainsCondition.ProtoReflect.Descriptor instead. func (*ContainsCondition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{51} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{52} } func (x *ContainsCondition) GetReference() *Reference { @@ -4833,7 +4927,7 @@ type SearchCondition struct { func (x *SearchCondition) Reset() { *x = SearchCondition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[52] + mi := &file_deephaven_proto_table_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4846,7 +4940,7 @@ func (x *SearchCondition) String() string { func (*SearchCondition) ProtoMessage() {} func (x *SearchCondition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[52] + mi := &file_deephaven_proto_table_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4859,7 +4953,7 @@ func (x *SearchCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchCondition.ProtoReflect.Descriptor instead. func (*SearchCondition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{52} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{53} } func (x *SearchCondition) GetSearchString() string { @@ -4888,7 +4982,7 @@ type FlattenRequest struct { func (x *FlattenRequest) Reset() { *x = FlattenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[53] + mi := &file_deephaven_proto_table_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4901,7 +4995,7 @@ func (x *FlattenRequest) String() string { func (*FlattenRequest) ProtoMessage() {} func (x *FlattenRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[53] + mi := &file_deephaven_proto_table_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4914,7 +5008,7 @@ func (x *FlattenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FlattenRequest.ProtoReflect.Descriptor instead. func (*FlattenRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{53} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{54} } func (x *FlattenRequest) GetResultId() *ticket.Ticket { @@ -4943,7 +5037,7 @@ type MetaTableRequest struct { func (x *MetaTableRequest) Reset() { *x = MetaTableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[54] + mi := &file_deephaven_proto_table_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4956,7 +5050,7 @@ func (x *MetaTableRequest) String() string { func (*MetaTableRequest) ProtoMessage() {} func (x *MetaTableRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[54] + mi := &file_deephaven_proto_table_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4969,7 +5063,7 @@ func (x *MetaTableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaTableRequest.ProtoReflect.Descriptor instead. func (*MetaTableRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{54} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{55} } func (x *MetaTableRequest) GetResultId() *ticket.Ticket { @@ -5002,7 +5096,7 @@ type RunChartDownsampleRequest struct { func (x *RunChartDownsampleRequest) Reset() { *x = RunChartDownsampleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[55] + mi := &file_deephaven_proto_table_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5015,7 +5109,7 @@ func (x *RunChartDownsampleRequest) String() string { func (*RunChartDownsampleRequest) ProtoMessage() {} func (x *RunChartDownsampleRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[55] + mi := &file_deephaven_proto_table_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5028,7 +5122,7 @@ func (x *RunChartDownsampleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RunChartDownsampleRequest.ProtoReflect.Descriptor instead. func (*RunChartDownsampleRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{55} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{56} } func (x *RunChartDownsampleRequest) GetResultId() *ticket.Ticket { @@ -5091,7 +5185,7 @@ type CreateInputTableRequest struct { func (x *CreateInputTableRequest) Reset() { *x = CreateInputTableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[56] + mi := &file_deephaven_proto_table_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5104,7 +5198,7 @@ func (x *CreateInputTableRequest) String() string { func (*CreateInputTableRequest) ProtoMessage() {} func (x *CreateInputTableRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[56] + mi := &file_deephaven_proto_table_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5117,7 +5211,7 @@ func (x *CreateInputTableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInputTableRequest.ProtoReflect.Descriptor instead. func (*CreateInputTableRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{56} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{57} } func (x *CreateInputTableRequest) GetResultId() *ticket.Ticket { @@ -5189,7 +5283,7 @@ type WhereInRequest struct { func (x *WhereInRequest) Reset() { *x = WhereInRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[57] + mi := &file_deephaven_proto_table_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5202,7 +5296,7 @@ func (x *WhereInRequest) String() string { func (*WhereInRequest) ProtoMessage() {} func (x *WhereInRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[57] + mi := &file_deephaven_proto_table_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5215,7 +5309,7 @@ func (x *WhereInRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WhereInRequest.ProtoReflect.Descriptor instead. func (*WhereInRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{57} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{58} } func (x *WhereInRequest) GetResultId() *ticket.Ticket { @@ -5264,7 +5358,7 @@ type BatchTableRequest struct { func (x *BatchTableRequest) Reset() { *x = BatchTableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[58] + mi := &file_deephaven_proto_table_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5277,7 +5371,7 @@ func (x *BatchTableRequest) String() string { func (*BatchTableRequest) ProtoMessage() {} func (x *BatchTableRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[58] + mi := &file_deephaven_proto_table_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5290,7 +5384,7 @@ func (x *BatchTableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchTableRequest.ProtoReflect.Descriptor instead. func (*BatchTableRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{58} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{59} } func (x *BatchTableRequest) GetOps() []*BatchTableRequest_Operation { @@ -5311,7 +5405,7 @@ type UpdateByWindowScale_UpdateByWindowTicks struct { func (x *UpdateByWindowScale_UpdateByWindowTicks) Reset() { *x = UpdateByWindowScale_UpdateByWindowTicks{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[59] + mi := &file_deephaven_proto_table_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5324,7 +5418,7 @@ func (x *UpdateByWindowScale_UpdateByWindowTicks) String() string { func (*UpdateByWindowScale_UpdateByWindowTicks) ProtoMessage() {} func (x *UpdateByWindowScale_UpdateByWindowTicks) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[59] + mi := &file_deephaven_proto_table_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5359,7 +5453,7 @@ type UpdateByWindowScale_UpdateByWindowTime struct { func (x *UpdateByWindowScale_UpdateByWindowTime) Reset() { *x = UpdateByWindowScale_UpdateByWindowTime{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[60] + mi := &file_deephaven_proto_table_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5372,7 +5466,7 @@ func (x *UpdateByWindowScale_UpdateByWindowTime) String() string { func (*UpdateByWindowScale_UpdateByWindowTime) ProtoMessage() {} func (x *UpdateByWindowScale_UpdateByWindowTime) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[60] + mi := &file_deephaven_proto_table_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5434,7 +5528,7 @@ type UpdateByRequest_UpdateByOptions struct { func (x *UpdateByRequest_UpdateByOptions) Reset() { *x = UpdateByRequest_UpdateByOptions{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[61] + mi := &file_deephaven_proto_table_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5447,7 +5541,7 @@ func (x *UpdateByRequest_UpdateByOptions) String() string { func (*UpdateByRequest_UpdateByOptions) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOptions) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[61] + mi := &file_deephaven_proto_table_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5526,7 +5620,7 @@ type UpdateByRequest_UpdateByOperation struct { func (x *UpdateByRequest_UpdateByOperation) Reset() { *x = UpdateByRequest_UpdateByOperation{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[62] + mi := &file_deephaven_proto_table_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5539,7 +5633,7 @@ func (x *UpdateByRequest_UpdateByOperation) String() string { func (*UpdateByRequest_UpdateByOperation) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[62] + mi := &file_deephaven_proto_table_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5591,7 +5685,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn struct { func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[63] + mi := &file_deephaven_proto_table_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5604,7 +5698,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn) String() string { func (*UpdateByRequest_UpdateByOperation_UpdateByColumn) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[63] + mi := &file_deephaven_proto_table_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5667,7 +5761,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec struct { func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[64] + mi := &file_deephaven_proto_table_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5680,7 +5774,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec) String() func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[64] + mi := &file_deephaven_proto_table_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5996,7 +6090,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumul func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[65] + mi := &file_deephaven_proto_table_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6010,7 +6104,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCum } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[65] + mi := &file_deephaven_proto_table_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6035,7 +6129,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumul func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[66] + mi := &file_deephaven_proto_table_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6049,7 +6143,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCum } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[66] + mi := &file_deephaven_proto_table_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6074,7 +6168,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumul func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[67] + mi := &file_deephaven_proto_table_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6088,7 +6182,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCum } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[67] + mi := &file_deephaven_proto_table_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6113,7 +6207,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumul func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[68] + mi := &file_deephaven_proto_table_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6127,7 +6221,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCum } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[68] + mi := &file_deephaven_proto_table_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6152,7 +6246,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[69] + mi := &file_deephaven_proto_table_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6165,7 +6259,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByF func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[69] + mi := &file_deephaven_proto_table_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6193,7 +6287,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma s func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[70] + mi := &file_deephaven_proto_table_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6206,7 +6300,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByE func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[70] + mi := &file_deephaven_proto_table_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6248,7 +6342,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEms s func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEms) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEms{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[71] + mi := &file_deephaven_proto_table_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6261,7 +6355,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByE func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEms) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEms) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[71] + mi := &file_deephaven_proto_table_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6303,7 +6397,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMin func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMin) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMin{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[72] + mi := &file_deephaven_proto_table_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6316,7 +6410,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByE func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMin) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMin) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[72] + mi := &file_deephaven_proto_table_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6358,7 +6452,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMax func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMax) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMax{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[73] + mi := &file_deephaven_proto_table_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6371,7 +6465,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByE func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMax) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMax) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[73] + mi := &file_deephaven_proto_table_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6413,7 +6507,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmStd func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmStd) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmStd{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[74] + mi := &file_deephaven_proto_table_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6426,7 +6520,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByE func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmStd) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmStd) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[74] + mi := &file_deephaven_proto_table_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6467,7 +6561,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByDelta func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByDelta) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByDelta{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[75] + mi := &file_deephaven_proto_table_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6480,7 +6574,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByD func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByDelta) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByDelta) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[75] + mi := &file_deephaven_proto_table_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6515,7 +6609,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRolli func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingSum) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingSum{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[76] + mi := &file_deephaven_proto_table_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6529,7 +6623,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRol } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingSum) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[76] + mi := &file_deephaven_proto_table_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6571,7 +6665,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRolli func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingGroup) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingGroup{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[77] + mi := &file_deephaven_proto_table_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6585,7 +6679,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRol } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingGroup) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[77] + mi := &file_deephaven_proto_table_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6627,7 +6721,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRolli func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingAvg) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingAvg{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[78] + mi := &file_deephaven_proto_table_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6641,7 +6735,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRol } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingAvg) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[78] + mi := &file_deephaven_proto_table_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6683,7 +6777,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRolli func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMin) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMin{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[79] + mi := &file_deephaven_proto_table_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6697,7 +6791,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRol } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMin) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[79] + mi := &file_deephaven_proto_table_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6739,7 +6833,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRolli func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMax) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMax{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[80] + mi := &file_deephaven_proto_table_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6753,7 +6847,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRol } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMax) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[80] + mi := &file_deephaven_proto_table_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6795,7 +6889,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRolli func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingProduct) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingProduct{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[81] + mi := &file_deephaven_proto_table_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6809,7 +6903,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRol } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingProduct) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[81] + mi := &file_deephaven_proto_table_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6851,7 +6945,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRolli func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingCount) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingCount{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[82] + mi := &file_deephaven_proto_table_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6865,7 +6959,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRol } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingCount) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[82] + mi := &file_deephaven_proto_table_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6907,7 +7001,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRolli func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingStd) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingStd{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[83] + mi := &file_deephaven_proto_table_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6921,7 +7015,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRol } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingStd) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[83] + mi := &file_deephaven_proto_table_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6965,7 +7059,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRolli func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingWAvg) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingWAvg{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[84] + mi := &file_deephaven_proto_table_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6979,7 +7073,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRol } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingWAvg) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[84] + mi := &file_deephaven_proto_table_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7031,7 +7125,7 @@ type ComboAggregateRequest_Aggregate struct { func (x *ComboAggregateRequest_Aggregate) Reset() { *x = ComboAggregateRequest_Aggregate{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[85] + mi := &file_deephaven_proto_table_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7044,7 +7138,7 @@ func (x *ComboAggregateRequest_Aggregate) String() string { func (*ComboAggregateRequest_Aggregate) ProtoMessage() {} func (x *ComboAggregateRequest_Aggregate) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[85] + mi := &file_deephaven_proto_table_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7057,7 +7151,7 @@ func (x *ComboAggregateRequest_Aggregate) ProtoReflect() protoreflect.Message { // Deprecated: Use ComboAggregateRequest_Aggregate.ProtoReflect.Descriptor instead. func (*ComboAggregateRequest_Aggregate) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{29, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{30, 0} } func (x *ComboAggregateRequest_Aggregate) GetType() ComboAggregateRequest_AggType { @@ -7110,7 +7204,7 @@ type AggSpec_AggSpecApproximatePercentile struct { func (x *AggSpec_AggSpecApproximatePercentile) Reset() { *x = AggSpec_AggSpecApproximatePercentile{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[86] + mi := &file_deephaven_proto_table_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7123,7 +7217,7 @@ func (x *AggSpec_AggSpecApproximatePercentile) String() string { func (*AggSpec_AggSpecApproximatePercentile) ProtoMessage() {} func (x *AggSpec_AggSpecApproximatePercentile) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[86] + mi := &file_deephaven_proto_table_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7136,7 +7230,7 @@ func (x *AggSpec_AggSpecApproximatePercentile) ProtoReflect() protoreflect.Messa // Deprecated: Use AggSpec_AggSpecApproximatePercentile.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecApproximatePercentile) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 0} } func (x *AggSpec_AggSpecApproximatePercentile) GetPercentile() float64 { @@ -7165,7 +7259,7 @@ type AggSpec_AggSpecCountDistinct struct { func (x *AggSpec_AggSpecCountDistinct) Reset() { *x = AggSpec_AggSpecCountDistinct{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[87] + mi := &file_deephaven_proto_table_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7178,7 +7272,7 @@ func (x *AggSpec_AggSpecCountDistinct) String() string { func (*AggSpec_AggSpecCountDistinct) ProtoMessage() {} func (x *AggSpec_AggSpecCountDistinct) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[87] + mi := &file_deephaven_proto_table_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7191,7 +7285,7 @@ func (x *AggSpec_AggSpecCountDistinct) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecCountDistinct.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecCountDistinct) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 1} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 1} } func (x *AggSpec_AggSpecCountDistinct) GetCountNulls() bool { @@ -7213,7 +7307,7 @@ type AggSpec_AggSpecDistinct struct { func (x *AggSpec_AggSpecDistinct) Reset() { *x = AggSpec_AggSpecDistinct{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[88] + mi := &file_deephaven_proto_table_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7226,7 +7320,7 @@ func (x *AggSpec_AggSpecDistinct) String() string { func (*AggSpec_AggSpecDistinct) ProtoMessage() {} func (x *AggSpec_AggSpecDistinct) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[88] + mi := &file_deephaven_proto_table_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7239,7 +7333,7 @@ func (x *AggSpec_AggSpecDistinct) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecDistinct.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecDistinct) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 2} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 2} } func (x *AggSpec_AggSpecDistinct) GetIncludeNulls() bool { @@ -7263,7 +7357,7 @@ type AggSpec_AggSpecFormula struct { func (x *AggSpec_AggSpecFormula) Reset() { *x = AggSpec_AggSpecFormula{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[89] + mi := &file_deephaven_proto_table_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7276,7 +7370,7 @@ func (x *AggSpec_AggSpecFormula) String() string { func (*AggSpec_AggSpecFormula) ProtoMessage() {} func (x *AggSpec_AggSpecFormula) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[89] + mi := &file_deephaven_proto_table_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7289,7 +7383,7 @@ func (x *AggSpec_AggSpecFormula) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecFormula.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecFormula) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 3} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 3} } func (x *AggSpec_AggSpecFormula) GetFormula() string { @@ -7319,7 +7413,7 @@ type AggSpec_AggSpecMedian struct { func (x *AggSpec_AggSpecMedian) Reset() { *x = AggSpec_AggSpecMedian{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[90] + mi := &file_deephaven_proto_table_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7332,7 +7426,7 @@ func (x *AggSpec_AggSpecMedian) String() string { func (*AggSpec_AggSpecMedian) ProtoMessage() {} func (x *AggSpec_AggSpecMedian) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[90] + mi := &file_deephaven_proto_table_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7345,7 +7439,7 @@ func (x *AggSpec_AggSpecMedian) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecMedian.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecMedian) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 4} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 4} } func (x *AggSpec_AggSpecMedian) GetAverageEvenlyDivided() bool { @@ -7370,7 +7464,7 @@ type AggSpec_AggSpecPercentile struct { func (x *AggSpec_AggSpecPercentile) Reset() { *x = AggSpec_AggSpecPercentile{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[91] + mi := &file_deephaven_proto_table_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7383,7 +7477,7 @@ func (x *AggSpec_AggSpecPercentile) String() string { func (*AggSpec_AggSpecPercentile) ProtoMessage() {} func (x *AggSpec_AggSpecPercentile) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[91] + mi := &file_deephaven_proto_table_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7396,7 +7490,7 @@ func (x *AggSpec_AggSpecPercentile) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecPercentile.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecPercentile) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 5} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 5} } func (x *AggSpec_AggSpecPercentile) GetPercentile() float64 { @@ -7425,7 +7519,7 @@ type AggSpec_AggSpecSorted struct { func (x *AggSpec_AggSpecSorted) Reset() { *x = AggSpec_AggSpecSorted{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[92] + mi := &file_deephaven_proto_table_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7438,7 +7532,7 @@ func (x *AggSpec_AggSpecSorted) String() string { func (*AggSpec_AggSpecSorted) ProtoMessage() {} func (x *AggSpec_AggSpecSorted) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[92] + mi := &file_deephaven_proto_table_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7451,7 +7545,7 @@ func (x *AggSpec_AggSpecSorted) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecSorted.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecSorted) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 6} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 6} } func (x *AggSpec_AggSpecSorted) GetColumns() []*AggSpec_AggSpecSortedColumn { @@ -7473,7 +7567,7 @@ type AggSpec_AggSpecSortedColumn struct { func (x *AggSpec_AggSpecSortedColumn) Reset() { *x = AggSpec_AggSpecSortedColumn{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[93] + mi := &file_deephaven_proto_table_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7486,7 +7580,7 @@ func (x *AggSpec_AggSpecSortedColumn) String() string { func (*AggSpec_AggSpecSortedColumn) ProtoMessage() {} func (x *AggSpec_AggSpecSortedColumn) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[93] + mi := &file_deephaven_proto_table_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7499,7 +7593,7 @@ func (x *AggSpec_AggSpecSortedColumn) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecSortedColumn.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecSortedColumn) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 7} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 7} } func (x *AggSpec_AggSpecSortedColumn) GetColumnName() string { @@ -7522,7 +7616,7 @@ type AggSpec_AggSpecTDigest struct { func (x *AggSpec_AggSpecTDigest) Reset() { *x = AggSpec_AggSpecTDigest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[94] + mi := &file_deephaven_proto_table_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7535,7 +7629,7 @@ func (x *AggSpec_AggSpecTDigest) String() string { func (*AggSpec_AggSpecTDigest) ProtoMessage() {} func (x *AggSpec_AggSpecTDigest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[94] + mi := &file_deephaven_proto_table_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7548,7 +7642,7 @@ func (x *AggSpec_AggSpecTDigest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecTDigest.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecTDigest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 8} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 8} } func (x *AggSpec_AggSpecTDigest) GetCompression() float64 { @@ -7572,7 +7666,7 @@ type AggSpec_AggSpecUnique struct { func (x *AggSpec_AggSpecUnique) Reset() { *x = AggSpec_AggSpecUnique{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[95] + mi := &file_deephaven_proto_table_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7585,7 +7679,7 @@ func (x *AggSpec_AggSpecUnique) String() string { func (*AggSpec_AggSpecUnique) ProtoMessage() {} func (x *AggSpec_AggSpecUnique) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[95] + mi := &file_deephaven_proto_table_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7598,7 +7692,7 @@ func (x *AggSpec_AggSpecUnique) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecUnique.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecUnique) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 9} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 9} } func (x *AggSpec_AggSpecUnique) GetIncludeNulls() bool { @@ -7638,7 +7732,7 @@ type AggSpec_AggSpecNonUniqueSentinel struct { func (x *AggSpec_AggSpecNonUniqueSentinel) Reset() { *x = AggSpec_AggSpecNonUniqueSentinel{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[96] + mi := &file_deephaven_proto_table_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7651,7 +7745,7 @@ func (x *AggSpec_AggSpecNonUniqueSentinel) String() string { func (*AggSpec_AggSpecNonUniqueSentinel) ProtoMessage() {} func (x *AggSpec_AggSpecNonUniqueSentinel) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[96] + mi := &file_deephaven_proto_table_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7664,7 +7758,7 @@ func (x *AggSpec_AggSpecNonUniqueSentinel) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecNonUniqueSentinel.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecNonUniqueSentinel) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 10} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 10} } func (m *AggSpec_AggSpecNonUniqueSentinel) GetType() isAggSpec_AggSpecNonUniqueSentinel_Type { @@ -7823,7 +7917,7 @@ type AggSpec_AggSpecWeighted struct { func (x *AggSpec_AggSpecWeighted) Reset() { *x = AggSpec_AggSpecWeighted{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[97] + mi := &file_deephaven_proto_table_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7836,7 +7930,7 @@ func (x *AggSpec_AggSpecWeighted) String() string { func (*AggSpec_AggSpecWeighted) ProtoMessage() {} func (x *AggSpec_AggSpecWeighted) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[97] + mi := &file_deephaven_proto_table_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7849,7 +7943,7 @@ func (x *AggSpec_AggSpecWeighted) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecWeighted.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecWeighted) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 11} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 11} } func (x *AggSpec_AggSpecWeighted) GetWeightColumn() string { @@ -7868,7 +7962,7 @@ type AggSpec_AggSpecAbsSum struct { func (x *AggSpec_AggSpecAbsSum) Reset() { *x = AggSpec_AggSpecAbsSum{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[98] + mi := &file_deephaven_proto_table_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7881,7 +7975,7 @@ func (x *AggSpec_AggSpecAbsSum) String() string { func (*AggSpec_AggSpecAbsSum) ProtoMessage() {} func (x *AggSpec_AggSpecAbsSum) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[98] + mi := &file_deephaven_proto_table_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7894,7 +7988,7 @@ func (x *AggSpec_AggSpecAbsSum) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecAbsSum.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecAbsSum) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 12} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 12} } type AggSpec_AggSpecAvg struct { @@ -7906,7 +8000,7 @@ type AggSpec_AggSpecAvg struct { func (x *AggSpec_AggSpecAvg) Reset() { *x = AggSpec_AggSpecAvg{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[99] + mi := &file_deephaven_proto_table_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7919,7 +8013,7 @@ func (x *AggSpec_AggSpecAvg) String() string { func (*AggSpec_AggSpecAvg) ProtoMessage() {} func (x *AggSpec_AggSpecAvg) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[99] + mi := &file_deephaven_proto_table_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7932,7 +8026,7 @@ func (x *AggSpec_AggSpecAvg) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecAvg.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecAvg) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 13} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 13} } type AggSpec_AggSpecFirst struct { @@ -7944,7 +8038,7 @@ type AggSpec_AggSpecFirst struct { func (x *AggSpec_AggSpecFirst) Reset() { *x = AggSpec_AggSpecFirst{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[100] + mi := &file_deephaven_proto_table_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7957,7 +8051,7 @@ func (x *AggSpec_AggSpecFirst) String() string { func (*AggSpec_AggSpecFirst) ProtoMessage() {} func (x *AggSpec_AggSpecFirst) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[100] + mi := &file_deephaven_proto_table_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7970,7 +8064,7 @@ func (x *AggSpec_AggSpecFirst) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecFirst.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecFirst) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 14} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 14} } type AggSpec_AggSpecFreeze struct { @@ -7982,7 +8076,7 @@ type AggSpec_AggSpecFreeze struct { func (x *AggSpec_AggSpecFreeze) Reset() { *x = AggSpec_AggSpecFreeze{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[101] + mi := &file_deephaven_proto_table_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7995,7 +8089,7 @@ func (x *AggSpec_AggSpecFreeze) String() string { func (*AggSpec_AggSpecFreeze) ProtoMessage() {} func (x *AggSpec_AggSpecFreeze) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[101] + mi := &file_deephaven_proto_table_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8008,7 +8102,7 @@ func (x *AggSpec_AggSpecFreeze) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecFreeze.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecFreeze) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 15} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 15} } type AggSpec_AggSpecGroup struct { @@ -8020,7 +8114,7 @@ type AggSpec_AggSpecGroup struct { func (x *AggSpec_AggSpecGroup) Reset() { *x = AggSpec_AggSpecGroup{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[102] + mi := &file_deephaven_proto_table_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8033,7 +8127,7 @@ func (x *AggSpec_AggSpecGroup) String() string { func (*AggSpec_AggSpecGroup) ProtoMessage() {} func (x *AggSpec_AggSpecGroup) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[102] + mi := &file_deephaven_proto_table_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8046,7 +8140,7 @@ func (x *AggSpec_AggSpecGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecGroup.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecGroup) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 16} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 16} } type AggSpec_AggSpecLast struct { @@ -8058,7 +8152,7 @@ type AggSpec_AggSpecLast struct { func (x *AggSpec_AggSpecLast) Reset() { *x = AggSpec_AggSpecLast{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[103] + mi := &file_deephaven_proto_table_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8071,7 +8165,7 @@ func (x *AggSpec_AggSpecLast) String() string { func (*AggSpec_AggSpecLast) ProtoMessage() {} func (x *AggSpec_AggSpecLast) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[103] + mi := &file_deephaven_proto_table_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8084,7 +8178,7 @@ func (x *AggSpec_AggSpecLast) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecLast.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecLast) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 17} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 17} } type AggSpec_AggSpecMax struct { @@ -8096,7 +8190,7 @@ type AggSpec_AggSpecMax struct { func (x *AggSpec_AggSpecMax) Reset() { *x = AggSpec_AggSpecMax{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[104] + mi := &file_deephaven_proto_table_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8109,7 +8203,7 @@ func (x *AggSpec_AggSpecMax) String() string { func (*AggSpec_AggSpecMax) ProtoMessage() {} func (x *AggSpec_AggSpecMax) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[104] + mi := &file_deephaven_proto_table_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8122,7 +8216,7 @@ func (x *AggSpec_AggSpecMax) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecMax.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecMax) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 18} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 18} } type AggSpec_AggSpecMin struct { @@ -8134,7 +8228,7 @@ type AggSpec_AggSpecMin struct { func (x *AggSpec_AggSpecMin) Reset() { *x = AggSpec_AggSpecMin{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[105] + mi := &file_deephaven_proto_table_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8147,7 +8241,7 @@ func (x *AggSpec_AggSpecMin) String() string { func (*AggSpec_AggSpecMin) ProtoMessage() {} func (x *AggSpec_AggSpecMin) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[105] + mi := &file_deephaven_proto_table_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8160,7 +8254,7 @@ func (x *AggSpec_AggSpecMin) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecMin.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecMin) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 19} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 19} } type AggSpec_AggSpecStd struct { @@ -8172,7 +8266,7 @@ type AggSpec_AggSpecStd struct { func (x *AggSpec_AggSpecStd) Reset() { *x = AggSpec_AggSpecStd{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[106] + mi := &file_deephaven_proto_table_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8185,7 +8279,7 @@ func (x *AggSpec_AggSpecStd) String() string { func (*AggSpec_AggSpecStd) ProtoMessage() {} func (x *AggSpec_AggSpecStd) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[106] + mi := &file_deephaven_proto_table_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8198,7 +8292,7 @@ func (x *AggSpec_AggSpecStd) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecStd.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecStd) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 20} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 20} } type AggSpec_AggSpecSum struct { @@ -8210,7 +8304,7 @@ type AggSpec_AggSpecSum struct { func (x *AggSpec_AggSpecSum) Reset() { *x = AggSpec_AggSpecSum{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[107] + mi := &file_deephaven_proto_table_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8223,7 +8317,7 @@ func (x *AggSpec_AggSpecSum) String() string { func (*AggSpec_AggSpecSum) ProtoMessage() {} func (x *AggSpec_AggSpecSum) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[107] + mi := &file_deephaven_proto_table_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8236,7 +8330,7 @@ func (x *AggSpec_AggSpecSum) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecSum.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecSum) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 21} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 21} } type AggSpec_AggSpecVar struct { @@ -8248,7 +8342,7 @@ type AggSpec_AggSpecVar struct { func (x *AggSpec_AggSpecVar) Reset() { *x = AggSpec_AggSpecVar{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[108] + mi := &file_deephaven_proto_table_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8261,7 +8355,7 @@ func (x *AggSpec_AggSpecVar) String() string { func (*AggSpec_AggSpecVar) ProtoMessage() {} func (x *AggSpec_AggSpecVar) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[108] + mi := &file_deephaven_proto_table_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8274,7 +8368,7 @@ func (x *AggSpec_AggSpecVar) ProtoReflect() protoreflect.Message { // Deprecated: Use AggSpec_AggSpecVar.ProtoReflect.Descriptor instead. func (*AggSpec_AggSpecVar) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{31, 22} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{32, 22} } type Aggregation_AggregationColumns struct { @@ -8289,7 +8383,7 @@ type Aggregation_AggregationColumns struct { func (x *Aggregation_AggregationColumns) Reset() { *x = Aggregation_AggregationColumns{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[109] + mi := &file_deephaven_proto_table_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8302,7 +8396,7 @@ func (x *Aggregation_AggregationColumns) String() string { func (*Aggregation_AggregationColumns) ProtoMessage() {} func (x *Aggregation_AggregationColumns) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[109] + mi := &file_deephaven_proto_table_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8315,7 +8409,7 @@ func (x *Aggregation_AggregationColumns) ProtoReflect() protoreflect.Message { // Deprecated: Use Aggregation_AggregationColumns.ProtoReflect.Descriptor instead. func (*Aggregation_AggregationColumns) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{33, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{34, 0} } func (x *Aggregation_AggregationColumns) GetSpec() *AggSpec { @@ -8344,7 +8438,7 @@ type Aggregation_AggregationCount struct { func (x *Aggregation_AggregationCount) Reset() { *x = Aggregation_AggregationCount{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[110] + mi := &file_deephaven_proto_table_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8357,7 +8451,7 @@ func (x *Aggregation_AggregationCount) String() string { func (*Aggregation_AggregationCount) ProtoMessage() {} func (x *Aggregation_AggregationCount) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[110] + mi := &file_deephaven_proto_table_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8370,7 +8464,7 @@ func (x *Aggregation_AggregationCount) ProtoReflect() protoreflect.Message { // Deprecated: Use Aggregation_AggregationCount.ProtoReflect.Descriptor instead. func (*Aggregation_AggregationCount) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{33, 1} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{34, 1} } func (x *Aggregation_AggregationCount) GetColumnName() string { @@ -8391,7 +8485,7 @@ type Aggregation_AggregationRowKey struct { func (x *Aggregation_AggregationRowKey) Reset() { *x = Aggregation_AggregationRowKey{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[111] + mi := &file_deephaven_proto_table_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8404,7 +8498,7 @@ func (x *Aggregation_AggregationRowKey) String() string { func (*Aggregation_AggregationRowKey) ProtoMessage() {} func (x *Aggregation_AggregationRowKey) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[111] + mi := &file_deephaven_proto_table_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8417,7 +8511,7 @@ func (x *Aggregation_AggregationRowKey) ProtoReflect() protoreflect.Message { // Deprecated: Use Aggregation_AggregationRowKey.ProtoReflect.Descriptor instead. func (*Aggregation_AggregationRowKey) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{33, 2} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{34, 2} } func (x *Aggregation_AggregationRowKey) GetColumnName() string { @@ -8439,7 +8533,7 @@ type Aggregation_AggregationPartition struct { func (x *Aggregation_AggregationPartition) Reset() { *x = Aggregation_AggregationPartition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[112] + mi := &file_deephaven_proto_table_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8452,7 +8546,7 @@ func (x *Aggregation_AggregationPartition) String() string { func (*Aggregation_AggregationPartition) ProtoMessage() {} func (x *Aggregation_AggregationPartition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[112] + mi := &file_deephaven_proto_table_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8465,7 +8559,7 @@ func (x *Aggregation_AggregationPartition) ProtoReflect() protoreflect.Message { // Deprecated: Use Aggregation_AggregationPartition.ProtoReflect.Descriptor instead. func (*Aggregation_AggregationPartition) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{33, 3} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{34, 3} } func (x *Aggregation_AggregationPartition) GetColumnName() string { @@ -8494,7 +8588,7 @@ type RunChartDownsampleRequest_ZoomRange struct { func (x *RunChartDownsampleRequest_ZoomRange) Reset() { *x = RunChartDownsampleRequest_ZoomRange{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[113] + mi := &file_deephaven_proto_table_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8507,7 +8601,7 @@ func (x *RunChartDownsampleRequest_ZoomRange) String() string { func (*RunChartDownsampleRequest_ZoomRange) ProtoMessage() {} func (x *RunChartDownsampleRequest_ZoomRange) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[113] + mi := &file_deephaven_proto_table_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8520,7 +8614,7 @@ func (x *RunChartDownsampleRequest_ZoomRange) ProtoReflect() protoreflect.Messag // Deprecated: Use RunChartDownsampleRequest_ZoomRange.ProtoReflect.Descriptor instead. func (*RunChartDownsampleRequest_ZoomRange) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{55, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{56, 0} } func (x *RunChartDownsampleRequest_ZoomRange) GetMinDateNanos() int64 { @@ -8552,7 +8646,7 @@ type CreateInputTableRequest_InputTableKind struct { func (x *CreateInputTableRequest_InputTableKind) Reset() { *x = CreateInputTableRequest_InputTableKind{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[114] + mi := &file_deephaven_proto_table_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8565,7 +8659,7 @@ func (x *CreateInputTableRequest_InputTableKind) String() string { func (*CreateInputTableRequest_InputTableKind) ProtoMessage() {} func (x *CreateInputTableRequest_InputTableKind) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[114] + mi := &file_deephaven_proto_table_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8578,7 +8672,7 @@ func (x *CreateInputTableRequest_InputTableKind) ProtoReflect() protoreflect.Mes // Deprecated: Use CreateInputTableRequest_InputTableKind.ProtoReflect.Descriptor instead. func (*CreateInputTableRequest_InputTableKind) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{56, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{57, 0} } func (m *CreateInputTableRequest_InputTableKind) GetKind() isCreateInputTableRequest_InputTableKind_Kind { @@ -8630,7 +8724,7 @@ type CreateInputTableRequest_InputTableKind_InMemoryAppendOnly struct { func (x *CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) Reset() { *x = CreateInputTableRequest_InputTableKind_InMemoryAppendOnly{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[115] + mi := &file_deephaven_proto_table_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8643,7 +8737,7 @@ func (x *CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) String() str func (*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) ProtoMessage() {} func (x *CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[115] + mi := &file_deephaven_proto_table_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8656,7 +8750,7 @@ func (x *CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) ProtoReflect // Deprecated: Use CreateInputTableRequest_InputTableKind_InMemoryAppendOnly.ProtoReflect.Descriptor instead. func (*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{56, 0, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{57, 0, 0} } // Creates an in-memory table that supports updates and deletes by keys. @@ -8671,7 +8765,7 @@ type CreateInputTableRequest_InputTableKind_InMemoryKeyBacked struct { func (x *CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) Reset() { *x = CreateInputTableRequest_InputTableKind_InMemoryKeyBacked{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[116] + mi := &file_deephaven_proto_table_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8684,7 +8778,7 @@ func (x *CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) String() stri func (*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) ProtoMessage() {} func (x *CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[116] + mi := &file_deephaven_proto_table_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8697,7 +8791,7 @@ func (x *CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) ProtoReflect( // Deprecated: Use CreateInputTableRequest_InputTableKind_InMemoryKeyBacked.ProtoReflect.Descriptor instead. func (*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{56, 0, 1} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{57, 0, 1} } func (x *CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) GetKeyColumns() []string { @@ -8751,13 +8845,15 @@ type BatchTableRequest_Operation struct { // *BatchTableRequest_Operation_SnapshotWhen // *BatchTableRequest_Operation_MetaTable // *BatchTableRequest_Operation_RangeJoin + // *BatchTableRequest_Operation_Aj + // *BatchTableRequest_Operation_Raj Op isBatchTableRequest_Operation_Op `protobuf_oneof:"op"` } func (x *BatchTableRequest_Operation) Reset() { *x = BatchTableRequest_Operation{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[117] + mi := &file_deephaven_proto_table_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8770,7 +8866,7 @@ func (x *BatchTableRequest_Operation) String() string { func (*BatchTableRequest_Operation) ProtoMessage() {} func (x *BatchTableRequest_Operation) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[117] + mi := &file_deephaven_proto_table_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8783,7 +8879,7 @@ func (x *BatchTableRequest_Operation) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchTableRequest_Operation.ProtoReflect.Descriptor instead. func (*BatchTableRequest_Operation) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{58, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{59, 0} } func (m *BatchTableRequest_Operation) GetOp() isBatchTableRequest_Operation_Op { @@ -8968,6 +9064,7 @@ func (x *BatchTableRequest_Operation) GetLeftJoin() *LeftJoinTablesRequest { return nil } +// Deprecated: Do not use. func (x *BatchTableRequest_Operation) GetAsOfJoin() *AsOfJoinTablesRequest { if x, ok := x.GetOp().(*BatchTableRequest_Operation_AsOfJoin); ok { return x.AsOfJoin @@ -9052,6 +9149,20 @@ func (x *BatchTableRequest_Operation) GetRangeJoin() *RangeJoinTablesRequest { return nil } +func (x *BatchTableRequest_Operation) GetAj() *AjRajTablesRequest { + if x, ok := x.GetOp().(*BatchTableRequest_Operation_Aj); ok { + return x.Aj + } + return nil +} + +func (x *BatchTableRequest_Operation) GetRaj() *AjRajTablesRequest { + if x, ok := x.GetOp().(*BatchTableRequest_Operation_Raj); ok { + return x.Raj + } + return nil +} + type isBatchTableRequest_Operation_Op interface { isBatchTableRequest_Operation_Op() } @@ -9157,6 +9268,7 @@ type BatchTableRequest_Operation_LeftJoin struct { } type BatchTableRequest_Operation_AsOfJoin struct { + // Deprecated: Do not use. AsOfJoin *AsOfJoinTablesRequest `protobuf:"bytes,27,opt,name=as_of_join,json=asOfJoin,proto3,oneof"` } @@ -9204,6 +9316,14 @@ type BatchTableRequest_Operation_RangeJoin struct { RangeJoin *RangeJoinTablesRequest `protobuf:"bytes,39,opt,name=range_join,json=rangeJoin,proto3,oneof"` } +type BatchTableRequest_Operation_Aj struct { + Aj *AjRajTablesRequest `protobuf:"bytes,40,opt,name=aj,proto3,oneof"` +} + +type BatchTableRequest_Operation_Raj struct { + Raj *AjRajTablesRequest `protobuf:"bytes,41,opt,name=raj,proto3,oneof"` +} + func (*BatchTableRequest_Operation_EmptyTable) isBatchTableRequest_Operation_Op() {} func (*BatchTableRequest_Operation_TimeTable) isBatchTableRequest_Operation_Op() {} @@ -9278,6 +9398,10 @@ func (*BatchTableRequest_Operation_MetaTable) isBatchTableRequest_Operation_Op() func (*BatchTableRequest_Operation_RangeJoin) isBatchTableRequest_Operation_Op() {} +func (*BatchTableRequest_Operation_Aj) isBatchTableRequest_Operation_Op() {} + +func (*BatchTableRequest_Operation_Raj) isBatchTableRequest_Operation_Op() {} + var File_deephaven_proto_table_proto protoreflect.FileDescriptor var file_deephaven_proto_table_proto_rawDesc = []byte{ @@ -10154,7 +10278,7 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x22, 0x91, 0x04, 0x0a, 0x15, 0x41, 0x73, 0x4f, + 0x6d, 0x6e, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x22, 0x99, 0x04, 0x0a, 0x15, 0x41, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, @@ -10182,363 +10306,146 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x70, 0x63, 0x2e, 0x41, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x61, 0x73, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, - 0x65, 0x22, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x13, + 0x65, 0x22, 0x5d, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, 0x22, 0xd7, 0x07, 0x0a, - 0x16, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, - 0x4a, 0x0a, 0x07, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, 0x65, 0x66, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x08, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x52, 0x07, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x78, 0x61, - 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x65, 0x66, - 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x65, 0x66, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x72, 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x48, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x69, 0x67, 0x68, 0x74, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x6c, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x46, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x45, 0x6e, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, - 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x65, 0x6e, - 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6c, 0x65, 0x66, 0x74, 0x45, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x52, 0x0a, - 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x76, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, - 0x75, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, - 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, - 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, - 0x02, 0x12, 0x26, 0x0a, 0x22, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, - 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, - 0x45, 0x43, 0x45, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x22, 0x7b, 0x0a, 0x0c, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x45, 0x6e, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x44, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, - 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, - 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, - 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x47, - 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, - 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, - 0x57, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x22, 0xef, 0x05, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x62, 0x6f, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, 0x1a, 0x02, 0x18, 0x01, + 0x3a, 0x02, 0x18, 0x01, 0x22, 0xee, 0x02, 0x0a, 0x12, 0x41, 0x6a, 0x52, 0x61, 0x6a, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, 0x65, 0x66, 0x74, 0x49, 0x64, 0x12, + 0x4c, 0x0a, 0x08, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, + 0x13, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x61, 0x63, + 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x20, 0x0a, + 0x0c, 0x61, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x73, 0x4f, 0x66, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, + 0x24, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, + 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x54, 0x6f, 0x41, 0x64, 0x64, 0x22, 0xd7, 0x07, 0x0a, 0x16, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x62, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x69, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x6c, 0x65, 0x66, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, 0x65, + 0x66, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x11, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, + 0x65, 0x66, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x72, + 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x72, 0x69, 0x67, 0x68, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x12, 0x6c, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x26, + 0x0a, 0x0f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x66, 0x74, 0x45, 0x6e, 0x64, + 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x52, 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, - 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x1a, 0xe2, 0x01, 0x0a, 0x09, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x67, - 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x76, 0x67, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x61, 0x76, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x22, 0xa5, 0x01, 0x0a, - 0x07, 0x41, 0x67, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x55, 0x4d, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x53, 0x5f, 0x53, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x09, - 0x0a, 0x05, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x56, 0x47, - 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x09, 0x0a, - 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x53, 0x54, - 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x49, 0x4e, 0x10, 0x07, 0x12, 0x07, 0x0a, 0x03, 0x4d, - 0x41, 0x58, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x4e, 0x10, 0x09, - 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x10, 0x0a, - 0x12, 0x07, 0x0a, 0x03, 0x53, 0x54, 0x44, 0x10, 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x41, 0x52, - 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x45, 0x44, 0x5f, 0x41, - 0x56, 0x47, 0x10, 0x0d, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x97, 0x02, 0x0a, 0x13, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x73, 0x22, 0xef, 0x1b, 0x0a, 0x07, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, - 0x0a, 0x07, 0x61, 0x62, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, - 0x70, 0x65, 0x63, 0x41, 0x62, 0x73, 0x53, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x61, 0x62, 0x73, - 0x53, 0x75, 0x6d, 0x12, 0x80, 0x01, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, - 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, - 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, - 0x15, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x03, 0x61, 0x76, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, - 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x76, 0x67, 0x48, 0x00, 0x52, 0x03, 0x61, 0x76, - 0x67, 0x12, 0x68, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, - 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x58, 0x0a, 0x08, 0x64, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, - 0x63, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, - 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, - 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x6f, 0x72, 0x6d, 0x75, - 0x6c, 0x61, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, 0x52, 0x0a, - 0x06, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, - 0x63, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x06, 0x66, 0x72, 0x65, 0x65, 0x7a, - 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x4c, 0x0a, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x61, 0x73, 0x74, - 0x12, 0x49, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, - 0x63, 0x4d, 0x61, 0x78, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x52, 0x0a, 0x06, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, - 0x65, 0x64, 0x69, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x12, - 0x49, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, + 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x76, 0x0a, 0x0e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, + 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, + 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x4c, 0x45, + 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, + 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x45, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x03, 0x22, 0x7b, 0x0a, 0x0c, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, + 0x41, 0x4c, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, + 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x41, 0x4c, + 0x4c, 0x4f, 0x57, 0x5f, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x22, + 0xef, 0x05, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x4d, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x5e, 0x0a, 0x0a, 0x70, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0a, - 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x0c, 0x73, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x0b, 0x73, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x03, 0x73, 0x74, 0x64, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, - 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x74, 0x64, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, - 0x64, 0x12, 0x49, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x53, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x03, 0x73, 0x75, 0x6d, 0x12, 0x56, 0x0a, 0x08, - 0x74, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x54, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x74, 0x44, 0x69, - 0x67, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, + 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x48, 0x00, - 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x5f, 0x0a, 0x0c, 0x77, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x76, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x41, 0x76, 0x67, 0x12, 0x5f, 0x0a, 0x0c, 0x77, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, - 0x70, 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x77, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x12, 0x49, 0x0a, 0x03, 0x76, 0x61, - 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, - 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x56, 0x61, 0x72, 0x48, 0x00, - 0x52, 0x03, 0x76, 0x61, 0x72, 0x1a, 0x75, 0x0a, 0x1c, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x41, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, - 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x0a, 0x14, - 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, - 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x1a, 0x36, 0x0a, 0x0f, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x1a, 0x4b, 0x0a, - 0x0e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, - 0x18, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x45, 0x0a, 0x0d, 0x41, 0x67, - 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x61, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x5f, 0x64, 0x69, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x76, 0x65, - 0x72, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x1a, 0x69, 0x0a, 0x11, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x50, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x1a, 0x69, 0x0a, 0x0d, - 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x58, 0x0a, - 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x36, 0x0a, 0x13, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, - 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, - 0x47, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x54, 0x44, 0x69, 0x67, 0x65, 0x73, - 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6d, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xa9, 0x01, 0x0a, 0x0d, 0x41, 0x67, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x12, - 0x73, 0x0a, 0x13, 0x6e, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x73, 0x65, - 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x62, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, + 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x6f, + 0x1a, 0xe2, 0x01, 0x0a, 0x09, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x54, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x4e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, - 0x6c, 0x52, 0x11, 0x6e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x53, 0x65, 0x6e, 0x74, - 0x69, 0x6e, 0x65, 0x6c, 0x1a, 0xa8, 0x03, 0x0a, 0x18, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x4e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, - 0x6c, 0x12, 0x4d, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x09, - 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, - 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, - 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, - 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, - 0x36, 0x0a, 0x0f, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x1a, 0x0f, 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x41, 0x62, 0x73, 0x53, 0x75, 0x6d, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, - 0x70, 0x65, 0x63, 0x41, 0x76, 0x67, 0x1a, 0x0e, 0x0a, 0x0c, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, - 0x63, 0x46, 0x69, 0x72, 0x73, 0x74, 0x1a, 0x0f, 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, - 0x63, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x1a, 0x0e, 0x0a, 0x0c, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x0d, 0x0a, 0x0b, 0x41, 0x67, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, - 0x63, 0x4d, 0x61, 0x78, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, - 0x69, 0x6e, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x74, 0x64, - 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x75, 0x6d, 0x1a, 0x0c, - 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x56, 0x61, 0x72, 0x42, 0x06, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x22, 0xae, 0x03, 0x0a, 0x10, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, + 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x67, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, + 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x67, 0x5f, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x76, 0x67, 0x4d, + 0x65, 0x64, 0x69, 0x61, 0x6e, 0x22, 0xa5, 0x01, 0x0a, 0x07, 0x41, 0x67, 0x67, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x55, 0x4d, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, + 0x53, 0x5f, 0x53, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x4f, 0x55, 0x50, + 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x56, 0x47, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x43, + 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, + 0x05, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x53, 0x54, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x4d, + 0x49, 0x4e, 0x10, 0x07, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x41, 0x58, 0x10, 0x08, 0x12, 0x0a, 0x0a, + 0x06, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x4e, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52, + 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x10, 0x0a, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x54, 0x44, + 0x10, 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x41, 0x52, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x57, + 0x45, 0x49, 0x47, 0x48, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x56, 0x47, 0x10, 0x0d, 0x3a, 0x02, 0x18, + 0x01, 0x22, 0x97, 0x02, 0x0a, 0x13, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, @@ -10548,354 +10455,350 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x64, 0x12, 0x5d, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, + 0x64, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, + 0x63, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xef, 0x1b, 0x0a, 0x07, + 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x07, 0x61, 0x62, 0x73, 0x5f, 0x73, + 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x62, 0x73, 0x53, + 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x61, 0x62, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x80, 0x01, 0x0a, + 0x16, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x15, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, + 0x69, 0x6d, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, + 0x49, 0x0a, 0x03, 0x61, 0x76, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, - 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x64, - 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x52, 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x41, 0x76, 0x67, 0x48, 0x00, 0x52, 0x03, 0x61, 0x76, 0x67, 0x12, 0x68, 0x0a, 0x0e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, + 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x12, 0x58, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x4f, + 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xd4, 0x06, 0x0a, 0x0b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, + 0x55, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x48, 0x00, 0x52, 0x07, 0x66, + 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, 0x52, 0x0a, 0x06, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x66, 0x0a, - 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x52, - 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x64, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x6f, - 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, - 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x63, 0x0a, 0x09, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x75, 0x0a, 0x12, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, + 0x48, 0x00, 0x52, 0x06, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4c, 0x0a, 0x04, 0x6c, + 0x61, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4c, 0x61, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x03, 0x6d, 0x61, 0x78, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x61, 0x78, 0x48, 0x00, 0x52, + 0x03, 0x6d, 0x61, 0x78, 0x12, 0x52, 0x0a, 0x06, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x50, 0x61, 0x69, 0x72, 0x73, 0x1a, 0x33, 0x0a, 0x10, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x34, 0x0a, 0x11, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x4b, 0x65, - 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x1a, 0x70, 0x0a, 0x14, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x84, 0x02, 0x0a, - 0x0e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, - 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, - 0x65, 0x12, 0x5d, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x51, 0x0a, 0x0d, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x17, - 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, - 0x45, 0x10, 0x02, 0x22, 0xf3, 0x01, 0x0a, 0x10, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, - 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, - 0x12, 0x47, 0x0a, 0x05, 0x73, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x6f, 0x72, 0x52, 0x05, 0x73, 0x6f, 0x72, 0x74, 0x73, 0x22, 0xf4, 0x01, 0x0a, 0x12, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x48, 0x00, + 0x52, 0x06, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x12, 0x49, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x03, + 0x6d, 0x69, 0x6e, 0x12, 0x5e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, + 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x50, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x69, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x0c, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x22, 0xca, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x12, 0x42, 0x02, 0x30, 0x01, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x6f, 0x77, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x46, 0x69, 0x72, + 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x73, + 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x74, 0x65, - 0x72, 0x61, 0x6c, 0x52, 0x09, 0x73, 0x65, 0x65, 0x6b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, - 0x69, 0x73, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x22, 0x34, 0x0a, - 0x0f, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x21, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x6f, 0x77, 0x22, 0x2c, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x07, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x23, 0x0a, - 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, - 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, - 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, - 0x0f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x61, - 0x6e, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4c, - 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x07, - 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x12, + 0x49, 0x0a, 0x03, 0x73, 0x74, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x53, 0x74, 0x64, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x64, 0x12, 0x49, 0x0a, 0x03, 0x73, 0x75, + 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x75, 0x6d, 0x48, 0x00, + 0x52, 0x03, 0x73, 0x75, 0x6d, 0x12, 0x56, 0x0a, 0x08, 0x74, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x54, 0x44, 0x69, 0x67, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x74, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, + 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x82, 0x06, 0x0a, - 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x03, 0x61, 0x6e, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6e, 0x64, 0x43, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x64, 0x12, - 0x40, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x4f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x02, 0x6f, - 0x72, 0x12, 0x43, 0x0a, 0x03, 0x6e, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x03, 0x6e, 0x6f, 0x74, 0x12, 0x4f, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x48, 0x00, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x12, 0x5f, 0x0a, 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x76, + 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, - 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x4c, 0x0a, 0x06, 0x69, 0x6e, 0x76, - 0x6f, 0x6b, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, - 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x06, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6e, 0x75, - 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x41, + 0x76, 0x67, 0x12, 0x5f, 0x0a, 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x73, + 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x4e, - 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, - 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x4f, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x06, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x56, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x55, 0x0a, 0x0b, 0x4f, 0x72, 0x43, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x22, 0x54, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x44, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, + 0x53, 0x75, 0x6d, 0x12, 0x49, 0x0a, 0x03, 0x76, 0x61, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xd2, 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x61, - 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x09, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x56, 0x61, 0x72, 0x48, 0x00, 0x52, 0x03, 0x76, 0x61, 0x72, 0x1a, 0x75, + 0x0a, 0x1c, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, + 0x6d, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x25, + 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x0a, 0x14, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x1a, 0x36, + 0x0a, 0x0f, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, + 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6c, + 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x1a, 0x4b, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, + 0x75, 0x6c, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, + 0x6c, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x1a, 0x45, 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x65, + 0x64, 0x69, 0x61, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x6c, 0x79, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x1a, 0x69, 0x0a, 0x11, 0x41, 0x67, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, + 0x34, 0x0a, 0x16, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x6c, + 0x79, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x14, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x6c, 0x79, 0x44, 0x69, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x1a, 0x69, 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x58, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x1a, 0x36, 0x0a, 0x13, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x47, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x54, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x6f, + 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x1a, 0xa9, 0x01, 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x55, 0x6e, 0x69, + 0x71, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6e, + 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x12, 0x73, 0x0a, 0x13, 0x6e, 0x6f, 0x6e, 0x5f, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x52, 0x11, 0x6e, 0x6f, 0x6e, 0x55, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x1a, 0xa8, 0x03, + 0x0a, 0x18, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x12, 0x4d, 0x0a, 0x0a, 0x6e, 0x75, + 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, - 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, - 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x3a, - 0x0a, 0x03, 0x6c, 0x68, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6c, 0x68, 0x73, 0x12, 0x3a, 0x0a, 0x03, 0x72, 0x68, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x03, 0x72, 0x68, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x61, - 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x4c, - 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, - 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, - 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, - 0x41, 0x4e, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, - 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x03, 0x12, - 0x0a, 0x0a, 0x06, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, - 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x05, 0x22, 0xc5, 0x02, 0x0a, 0x0b, - 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x48, 0x0a, - 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x61, 0x6e, - 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, - 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, - 0x79, 0x70, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, - 0x40, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x70, 0x63, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, + 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, + 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x11, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, + 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x12, 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, + 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, + 0x79, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x48, + 0x00, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x11, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1f, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x11, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x36, 0x0a, 0x0f, 0x41, 0x67, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x1a, 0x0f, 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x62, 0x73, 0x53, 0x75, + 0x6d, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x41, 0x76, 0x67, 0x1a, + 0x0e, 0x0a, 0x0c, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x69, 0x72, 0x73, 0x74, 0x1a, + 0x0f, 0x0a, 0x0d, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, + 0x1a, 0x0e, 0x0a, 0x0c, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x1a, 0x0d, 0x0a, 0x0b, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4c, 0x61, 0x73, 0x74, 0x1a, + 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x61, 0x78, 0x1a, 0x0c, 0x0a, + 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x69, 0x6e, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, + 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x53, 0x74, 0x64, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x53, 0x75, 0x6d, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x56, 0x61, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xae, 0x03, + 0x0a, 0x10, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x5d, 0x0a, 0x11, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x52, 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, + 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xd4, + 0x06, 0x0a, 0x0b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, + 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x57, 0x0a, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x66, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, + 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x48, + 0x00, 0x52, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x64, + 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, - 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x0f, 0x49, 0x73, 0x4e, - 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x09, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xa0, 0x02, 0x0a, 0x10, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, - 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, - 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, - 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, - 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, - 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x4b, - 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x11, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x6f, + 0x77, 0x4b, 0x65, 0x79, 0x12, 0x63, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x75, 0x0a, 0x12, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, + 0x3e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, + 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x69, 0x72, 0x73, + 0x1a, 0x33, 0x0a, 0x10, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x34, 0x0a, 0x11, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x70, 0x0a, 0x14, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x42, 0x06, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x84, 0x02, 0x0a, 0x0e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, + 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x69, 0x73, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x0d, 0x53, 0x6f, 0x72, + 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, + 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, + 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x10, 0x02, 0x22, 0xf3, 0x01, 0x0a, + 0x10, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, - 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, - 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x5d, 0x0a, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x0e, 0x46, 0x6c, 0x61, 0x74, 0x74, - 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x6f, 0x72, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, + 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x73, 0x6f, 0x72, + 0x74, 0x73, 0x22, 0xf4, 0x01, 0x0a, 0x12, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, @@ -10905,718 +10808,989 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, - 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x97, - 0x04, 0x0a, 0x19, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x64, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0xca, 0x02, 0x0a, 0x0e, 0x53, 0x65, + 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x52, 0x0b, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x77, 0x12, 0x1f, 0x0a, 0x0b, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0a, + 0x73, 0x65, 0x65, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x09, 0x73, 0x65, + 0x65, 0x6b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x6e, + 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x63, 0x6b, + 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x42, 0x61, + 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x22, 0x34, 0x0a, 0x0f, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, + 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0a, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, + 0x01, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x77, 0x22, 0x2c, 0x0a, 0x09, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x07, 0x4c, + 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x12, 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x6e, 0x61, 0x6e, 0x6f, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x42, + 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x61, 0x6e, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa5, 0x01, + 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x42, 0x06, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x82, 0x06, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x03, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x02, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x03, 0x6e, 0x6f, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x65, 0x0a, 0x0a, 0x7a, 0x6f, 0x6f, 0x6d, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x74, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x6e, 0x6f, 0x74, 0x12, + 0x4f, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, + 0x12, 0x40, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x02, + 0x69, 0x6e, 0x12, 0x4c, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, + 0x12, 0x4d, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x12, + 0x4f, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x12, 0x52, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x56, 0x0a, 0x0c, 0x41, 0x6e, + 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x22, 0x55, 0x0a, 0x0b, 0x4f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x54, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, - 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x5a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x52, 0x09, 0x7a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0d, - 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x78, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x24, 0x0a, 0x0e, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x8f, 0x01, 0x0a, 0x09, 0x5a, 0x6f, 0x6f, 0x6d, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, - 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x48, - 0x01, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x88, - 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x22, 0xd1, 0x05, 0x0a, 0x17, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, + 0xd2, 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x0f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, + 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x03, 0x6c, 0x68, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, + 0x6c, 0x68, 0x73, 0x12, 0x3a, 0x0a, 0x03, 0x72, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x72, 0x68, 0x73, 0x22, + 0x82, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, + 0x4e, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, + 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x47, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x19, 0x0a, + 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, + 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x51, 0x55, 0x41, + 0x4c, 0x53, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, + 0x4c, 0x53, 0x10, 0x05, 0x22, 0xc5, 0x02, 0x0a, 0x0b, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, + 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, + 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, + 0x4b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb3, 0x01, 0x0a, + 0x0f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x40, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x72, + 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x0f, 0x49, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x22, 0xa0, 0x02, 0x0a, 0x10, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, + 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x54, 0x79, 0x70, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x5d, 0x0a, 0x10, 0x63, + 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x12, 0x5d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x1a, 0x89, 0x03, 0x0a, 0x0e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x91, 0x01, 0x0a, 0x15, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, + 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x53, + 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x12, 0x5d, 0x0a, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, + 0xa8, 0x01, 0x0a, 0x0e, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, - 0x2e, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, - 0x6e, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x12, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, - 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x8e, 0x01, 0x0a, 0x14, 0x69, 0x6e, - 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, - 0x69, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x1a, 0x14, 0x0a, 0x12, 0x49, 0x6e, - 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, - 0x1a, 0x34, 0x0a, 0x11, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x65, 0x79, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0c, - 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x02, 0x0a, - 0x0e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x4d, + 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x6c, 0x65, 0x66, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, 0x65, 0x66, - 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, - 0x10, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x54, 0x6f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x86, 0x1b, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, - 0x03, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x1a, - 0x9e, 0x1a, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, - 0x0b, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0c, - 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x6f, - 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x97, 0x04, 0x0a, 0x19, 0x52, 0x75, 0x6e, 0x43, + 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x0b, - 0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, + 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x65, + 0x0a, 0x0a, 0x7a, 0x6f, 0x6f, 0x6d, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, + 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x5a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x7a, 0x6f, 0x6f, 0x6d, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x78, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x79, 0x5f, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, + 0x8f, 0x01, 0x0a, 0x09, 0x5a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2d, 0x0a, + 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x6e, + 0x44, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, + 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x48, 0x01, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x44, + 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42, 0x11, + 0x0a, 0x0f, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, + 0x73, 0x22, 0xd1, 0x05, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, + 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x49, 0x64, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x5d, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0x89, 0x03, 0x0a, 0x0e, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x91, + 0x01, 0x0a, 0x15, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x70, 0x70, + 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5c, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x12, + 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, + 0x6c, 0x79, 0x12, 0x8e, 0x01, 0x0a, 0x14, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x5b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x4d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x48, 0x00, + 0x52, 0x11, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x1a, 0x14, 0x0a, 0x12, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, + 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0x34, 0x0a, 0x11, 0x49, 0x6e, 0x4d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x42, + 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x02, 0x0a, 0x0e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, + 0x12, 0x4a, 0x0a, 0x07, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, 0x65, 0x66, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x08, + 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x07, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x22, 0x9e, 0x1c, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x1a, 0xb6, 0x1b, 0x0a, 0x09, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x54, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x12, 0x52, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6c, - 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x04, 0x76, 0x69, 0x65, - 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x0b, 0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x76, 0x69, + 0x65, 0x77, 0x12, 0x5b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x69, 0x65, + 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x5b, 0x0a, 0x0b, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x52, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x63, 0x0a, 0x0f, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, - 0x4f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x74, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, + 0x52, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x12, 0x74, 0x0a, 0x13, 0x75, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, - 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x12, 0x63, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x74, 0x0a, 0x13, 0x75, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x75, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x49, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x12, 0x75, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x68, 0x65, + 0x61, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, + 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x4a, 0x0a, 0x04, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x73, 0x6f, 0x72, - 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, + 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, + 0x69, 0x6c, 0x12, 0x51, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, + 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x68, + 0x65, 0x61, 0x64, 0x42, 0x79, 0x12, 0x51, 0x0a, 0x07, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x62, 0x79, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, + 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x06, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x12, 0x4d, 0x0a, 0x07, 0x75, 0x6e, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, + 0x75, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4d, 0x0a, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x5f, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x4a, 0x0a, - 0x04, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x51, 0x0a, 0x07, 0x68, 0x65, 0x61, - 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, + 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6d, + 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x66, + 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x70, 0x0a, 0x14, 0x72, 0x75, + 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, + 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x72, 0x75, 0x6e, 0x43, 0x68, 0x61, + 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0a, + 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, + 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x60, 0x0a, 0x0c, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x61, 0x6c, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x5a, 0x0a, 0x0a, 0x65, 0x78, + 0x61, 0x63, 0x74, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x61, + 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6a, + 0x6f, 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, + 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, + 0x5c, 0x0a, 0x0a, 0x61, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x02, 0x18, + 0x01, 0x48, 0x00, 0x52, 0x08, 0x61, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x57, 0x0a, + 0x0b, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x65, 0x74, 0x63, + 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x73, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, + 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, + 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, + 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x6a, 0x0a, 0x12, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x62, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, - 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x42, 0x79, 0x12, 0x51, 0x0a, 0x07, - 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x62, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x12, - 0x4d, 0x0a, 0x07, 0x75, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x77, 0x68, + 0x65, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x07, 0x77, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x5d, 0x0a, 0x0d, 0x61, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x53, 0x0a, 0x09, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x55, + 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x75, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4d, - 0x0a, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x62, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x54, 0x0a, 0x0a, 0x6d, 0x65, 0x74, + 0x61, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x12, 0x63, 0x0a, - 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x5a, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x27, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, - 0x6e, 0x12, 0x70, 0x0a, 0x14, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x5f, 0x64, - 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x12, 0x72, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x6a, 0x6f, 0x69, - 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x47, 0x0a, 0x02, 0x61, + 0x6a, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x6f, 0x73, - 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x12, - 0x60, 0x0a, 0x0c, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, - 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, - 0x6e, 0x12, 0x5a, 0x0a, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x57, 0x0a, - 0x09, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x65, - 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x0a, 0x61, 0x73, 0x5f, 0x6f, 0x66, 0x5f, - 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6a, 0x52, 0x61, + 0x6a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x02, 0x61, 0x6a, 0x12, 0x49, 0x0a, 0x03, 0x72, 0x61, 0x6a, 0x18, 0x29, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6a, 0x52, 0x61, 0x6a, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x03, 0x72, 0x61, 0x6a, 0x42, + 0x04, 0x0a, 0x02, 0x6f, 0x70, 0x4a, 0x04, 0x08, 0x14, 0x10, 0x15, 0x4a, 0x04, 0x08, 0x1d, 0x10, + 0x1e, 0x2a, 0x62, 0x0a, 0x0f, 0x42, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x42, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x41, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x48, 0x52, + 0x4f, 0x57, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x02, 0x12, + 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x4f, 0x49, + 0x53, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x74, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, + 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1f, 0x0a, + 0x1b, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4e, + 0x4f, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, + 0x0a, 0x0e, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x44, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x53, + 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x44, 0x4f, 0x4d, 0x49, + 0x4e, 0x41, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x5a, 0x45, 0x52, 0x4f, 0x5f, + 0x44, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x53, 0x10, 0x03, 0x2a, 0x1b, 0x0a, 0x09, 0x4e, + 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c, 0x4c, + 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x2a, 0x32, 0x0a, 0x0f, 0x43, 0x61, 0x73, 0x65, + 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, + 0x41, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, + 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x01, 0x2a, 0x26, 0x0a, 0x09, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x47, + 0x55, 0x4c, 0x41, 0x52, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, + 0x45, 0x44, 0x10, 0x01, 0x32, 0x8c, 0x2f, 0x0a, 0x0c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, - 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, - 0x12, 0x57, 0x0a, 0x0b, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, - 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x73, 0x0a, 0x15, 0x61, 0x70, 0x70, - 0x6c, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x0a, 0x46, 0x65, + 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, - 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x6a, - 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, + 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, + 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x4e, 0x0a, - 0x08, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x77, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x5d, 0x0a, - 0x0d, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x22, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, + 0x0a, 0x0a, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x53, 0x0a, 0x09, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x12, 0x55, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x24, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x62, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x54, 0x0a, 0x0a, - 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, - 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x04, - 0x0a, 0x02, 0x6f, 0x70, 0x4a, 0x04, 0x08, 0x14, 0x10, 0x15, 0x4a, 0x04, 0x08, 0x1d, 0x10, 0x1e, - 0x2a, 0x62, 0x0a, 0x0f, 0x42, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x42, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x41, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, - 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x48, 0x52, 0x4f, - 0x57, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x02, 0x12, 0x08, - 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x4f, 0x49, 0x53, - 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x74, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, - 0x4e, 0x75, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x1b, - 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, - 0x0e, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x44, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x53, 0x10, - 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x44, 0x4f, 0x4d, 0x49, 0x4e, - 0x41, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x5a, 0x45, 0x52, 0x4f, 0x5f, 0x44, - 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x53, 0x10, 0x03, 0x2a, 0x1b, 0x0a, 0x09, 0x4e, 0x75, - 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, - 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x2a, 0x32, 0x0a, 0x0f, 0x43, 0x61, 0x73, 0x65, 0x53, - 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, - 0x54, 0x43, 0x48, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x47, - 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x01, 0x2a, 0x26, 0x0a, 0x09, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x47, 0x55, - 0x4c, 0x41, 0x52, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, - 0x44, 0x10, 0x01, 0x32, 0xf8, 0x2c, 0x0a, 0x0c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, + 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x35, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x0a, 0x46, 0x65, 0x74, - 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, - 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, - 0x0a, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x4c, 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, + 0x01, 0x0a, 0x04, 0x56, 0x69, 0x65, 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x56, 0x69, 0x65, 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, + 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x38, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x08, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, - 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x4c, 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, - 0x0a, 0x04, 0x56, 0x69, 0x65, 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, - 0x69, 0x65, 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x63, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x38, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x08, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x8e, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x63, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x83, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x12, 0x55, 0x6e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x41, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x2e, 0x69, + 0x00, 0x12, 0x83, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x12, 0x55, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x41, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x34, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x54, 0x61, 0x69, - 0x6c, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x06, - 0x48, 0x65, 0x61, 0x64, 0x42, 0x79, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, - 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x06, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x12, 0x36, 0x2e, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, + 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, + 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x55, 0x6e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x54, 0x61, + 0x69, 0x6c, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, - 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x6f, 0x73, - 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, + 0x06, 0x48, 0x65, 0x61, 0x64, 0x42, 0x79, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, + 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x06, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x12, 0x36, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x94, 0x01, 0x0a, 0x11, 0x4e, - 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x12, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x55, + 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, + 0x0a, 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, - 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x63, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x66, 0x74, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x94, 0x01, 0x0a, 0x11, + 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x12, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x41, 0x73, 0x4f, 0x66, 0x4a, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, 0x4f, - 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x66, + 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x0e, 0x43, 0x6f, - 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x8a, 0x01, - 0x0a, 0x0c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x36, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x87, 0x01, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x37, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x0e, 0x41, 0x73, 0x4f, 0x66, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, + 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x08, 0x41, + 0x6a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6a, 0x52, 0x61, + 0x6a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x09, 0x52, 0x61, 0x6a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6a, 0x52, 0x61, 0x6a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x0c, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x3b, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, - 0x0a, 0x07, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6c, - 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, + 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, + 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, + 0x02, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x41, 0x6c, 0x6c, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x84, 0x01, 0x0a, 0x09, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x12, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x96, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, - 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, - 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x10, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3a, + 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, + 0x6e, 0x12, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, + 0x65, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, - 0x01, 0x0a, 0x07, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, - 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x83, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x31, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x99, 0x01, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, - 0x12, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, - 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x07, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x12, 0x31, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, + 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x41, - 0x48, 0x01, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, + 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, + 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x99, 0x01, 0x0a, + 0x14, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x07, 0x53, 0x65, 0x65, 0x6b, + 0x52, 0x6f, 0x77, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, + 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, + 0x09, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x42, 0x41, 0x48, 0x01, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2f, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, + 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -11632,7 +11806,7 @@ func file_deephaven_proto_table_proto_rawDescGZIP() []byte { } var file_deephaven_proto_table_proto_enumTypes = make([]protoimpl.EnumInfo, 12) -var file_deephaven_proto_table_proto_msgTypes = make([]protoimpl.MessageInfo, 118) +var file_deephaven_proto_table_proto_msgTypes = make([]protoimpl.MessageInfo, 119) var file_deephaven_proto_table_proto_goTypes = []interface{}{ (BadDataBehavior)(0), // 0: io.deephaven.proto.backplane.grpc.BadDataBehavior (UpdateByNullBehavior)(0), // 1: io.deephaven.proto.backplane.grpc.UpdateByNullBehavior @@ -11674,113 +11848,114 @@ var file_deephaven_proto_table_proto_goTypes = []interface{}{ (*ExactJoinTablesRequest)(nil), // 37: io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest (*LeftJoinTablesRequest)(nil), // 38: io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest (*AsOfJoinTablesRequest)(nil), // 39: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest - (*RangeJoinTablesRequest)(nil), // 40: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest - (*ComboAggregateRequest)(nil), // 41: io.deephaven.proto.backplane.grpc.ComboAggregateRequest - (*AggregateAllRequest)(nil), // 42: io.deephaven.proto.backplane.grpc.AggregateAllRequest - (*AggSpec)(nil), // 43: io.deephaven.proto.backplane.grpc.AggSpec - (*AggregateRequest)(nil), // 44: io.deephaven.proto.backplane.grpc.AggregateRequest - (*Aggregation)(nil), // 45: io.deephaven.proto.backplane.grpc.Aggregation - (*SortDescriptor)(nil), // 46: io.deephaven.proto.backplane.grpc.SortDescriptor - (*SortTableRequest)(nil), // 47: io.deephaven.proto.backplane.grpc.SortTableRequest - (*FilterTableRequest)(nil), // 48: io.deephaven.proto.backplane.grpc.FilterTableRequest - (*SeekRowRequest)(nil), // 49: io.deephaven.proto.backplane.grpc.SeekRowRequest - (*SeekRowResponse)(nil), // 50: io.deephaven.proto.backplane.grpc.SeekRowResponse - (*Reference)(nil), // 51: io.deephaven.proto.backplane.grpc.Reference - (*Literal)(nil), // 52: io.deephaven.proto.backplane.grpc.Literal - (*Value)(nil), // 53: io.deephaven.proto.backplane.grpc.Value - (*Condition)(nil), // 54: io.deephaven.proto.backplane.grpc.Condition - (*AndCondition)(nil), // 55: io.deephaven.proto.backplane.grpc.AndCondition - (*OrCondition)(nil), // 56: io.deephaven.proto.backplane.grpc.OrCondition - (*NotCondition)(nil), // 57: io.deephaven.proto.backplane.grpc.NotCondition - (*CompareCondition)(nil), // 58: io.deephaven.proto.backplane.grpc.CompareCondition - (*InCondition)(nil), // 59: io.deephaven.proto.backplane.grpc.InCondition - (*InvokeCondition)(nil), // 60: io.deephaven.proto.backplane.grpc.InvokeCondition - (*IsNullCondition)(nil), // 61: io.deephaven.proto.backplane.grpc.IsNullCondition - (*MatchesCondition)(nil), // 62: io.deephaven.proto.backplane.grpc.MatchesCondition - (*ContainsCondition)(nil), // 63: io.deephaven.proto.backplane.grpc.ContainsCondition - (*SearchCondition)(nil), // 64: io.deephaven.proto.backplane.grpc.SearchCondition - (*FlattenRequest)(nil), // 65: io.deephaven.proto.backplane.grpc.FlattenRequest - (*MetaTableRequest)(nil), // 66: io.deephaven.proto.backplane.grpc.MetaTableRequest - (*RunChartDownsampleRequest)(nil), // 67: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest - (*CreateInputTableRequest)(nil), // 68: io.deephaven.proto.backplane.grpc.CreateInputTableRequest - (*WhereInRequest)(nil), // 69: io.deephaven.proto.backplane.grpc.WhereInRequest - (*BatchTableRequest)(nil), // 70: io.deephaven.proto.backplane.grpc.BatchTableRequest - (*UpdateByWindowScale_UpdateByWindowTicks)(nil), // 71: io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTicks - (*UpdateByWindowScale_UpdateByWindowTime)(nil), // 72: io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTime - (*UpdateByRequest_UpdateByOptions)(nil), // 73: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions - (*UpdateByRequest_UpdateByOperation)(nil), // 74: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation - (*UpdateByRequest_UpdateByOperation_UpdateByColumn)(nil), // 75: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec)(nil), // 76: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum)(nil), // 77: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSum - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin)(nil), // 78: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMin - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax)(nil), // 79: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMax - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct)(nil), // 80: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProduct - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill)(nil), // 81: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFill - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma)(nil), // 82: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEms)(nil), // 83: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEms - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMin)(nil), // 84: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMin - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMax)(nil), // 85: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMax - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmStd)(nil), // 86: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStd - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByDelta)(nil), // 87: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByDelta - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingSum)(nil), // 88: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSum - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingGroup)(nil), // 89: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroup - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingAvg)(nil), // 90: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvg - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMin)(nil), // 91: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMin - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMax)(nil), // 92: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMax - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingProduct)(nil), // 93: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProduct - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingCount)(nil), // 94: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCount - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingStd)(nil), // 95: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStd - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingWAvg)(nil), // 96: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvg - (*ComboAggregateRequest_Aggregate)(nil), // 97: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate - (*AggSpec_AggSpecApproximatePercentile)(nil), // 98: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentile - (*AggSpec_AggSpecCountDistinct)(nil), // 99: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinct - (*AggSpec_AggSpecDistinct)(nil), // 100: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinct - (*AggSpec_AggSpecFormula)(nil), // 101: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormula - (*AggSpec_AggSpecMedian)(nil), // 102: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedian - (*AggSpec_AggSpecPercentile)(nil), // 103: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentile - (*AggSpec_AggSpecSorted)(nil), // 104: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted - (*AggSpec_AggSpecSortedColumn)(nil), // 105: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn - (*AggSpec_AggSpecTDigest)(nil), // 106: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigest - (*AggSpec_AggSpecUnique)(nil), // 107: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique - (*AggSpec_AggSpecNonUniqueSentinel)(nil), // 108: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel - (*AggSpec_AggSpecWeighted)(nil), // 109: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted - (*AggSpec_AggSpecAbsSum)(nil), // 110: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSum - (*AggSpec_AggSpecAvg)(nil), // 111: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvg - (*AggSpec_AggSpecFirst)(nil), // 112: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirst - (*AggSpec_AggSpecFreeze)(nil), // 113: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreeze - (*AggSpec_AggSpecGroup)(nil), // 114: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroup - (*AggSpec_AggSpecLast)(nil), // 115: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLast - (*AggSpec_AggSpecMax)(nil), // 116: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMax - (*AggSpec_AggSpecMin)(nil), // 117: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMin - (*AggSpec_AggSpecStd)(nil), // 118: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStd - (*AggSpec_AggSpecSum)(nil), // 119: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSum - (*AggSpec_AggSpecVar)(nil), // 120: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVar - (*Aggregation_AggregationColumns)(nil), // 121: io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns - (*Aggregation_AggregationCount)(nil), // 122: io.deephaven.proto.backplane.grpc.Aggregation.AggregationCount - (*Aggregation_AggregationRowKey)(nil), // 123: io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey - (*Aggregation_AggregationPartition)(nil), // 124: io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartition - (*RunChartDownsampleRequest_ZoomRange)(nil), // 125: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange - (*CreateInputTableRequest_InputTableKind)(nil), // 126: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind - (*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly)(nil), // 127: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnly - (*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked)(nil), // 128: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBacked - (*BatchTableRequest_Operation)(nil), // 129: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation - (*ticket.Ticket)(nil), // 130: io.deephaven.proto.backplane.grpc.Ticket + (*AjRajTablesRequest)(nil), // 40: io.deephaven.proto.backplane.grpc.AjRajTablesRequest + (*RangeJoinTablesRequest)(nil), // 41: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest + (*ComboAggregateRequest)(nil), // 42: io.deephaven.proto.backplane.grpc.ComboAggregateRequest + (*AggregateAllRequest)(nil), // 43: io.deephaven.proto.backplane.grpc.AggregateAllRequest + (*AggSpec)(nil), // 44: io.deephaven.proto.backplane.grpc.AggSpec + (*AggregateRequest)(nil), // 45: io.deephaven.proto.backplane.grpc.AggregateRequest + (*Aggregation)(nil), // 46: io.deephaven.proto.backplane.grpc.Aggregation + (*SortDescriptor)(nil), // 47: io.deephaven.proto.backplane.grpc.SortDescriptor + (*SortTableRequest)(nil), // 48: io.deephaven.proto.backplane.grpc.SortTableRequest + (*FilterTableRequest)(nil), // 49: io.deephaven.proto.backplane.grpc.FilterTableRequest + (*SeekRowRequest)(nil), // 50: io.deephaven.proto.backplane.grpc.SeekRowRequest + (*SeekRowResponse)(nil), // 51: io.deephaven.proto.backplane.grpc.SeekRowResponse + (*Reference)(nil), // 52: io.deephaven.proto.backplane.grpc.Reference + (*Literal)(nil), // 53: io.deephaven.proto.backplane.grpc.Literal + (*Value)(nil), // 54: io.deephaven.proto.backplane.grpc.Value + (*Condition)(nil), // 55: io.deephaven.proto.backplane.grpc.Condition + (*AndCondition)(nil), // 56: io.deephaven.proto.backplane.grpc.AndCondition + (*OrCondition)(nil), // 57: io.deephaven.proto.backplane.grpc.OrCondition + (*NotCondition)(nil), // 58: io.deephaven.proto.backplane.grpc.NotCondition + (*CompareCondition)(nil), // 59: io.deephaven.proto.backplane.grpc.CompareCondition + (*InCondition)(nil), // 60: io.deephaven.proto.backplane.grpc.InCondition + (*InvokeCondition)(nil), // 61: io.deephaven.proto.backplane.grpc.InvokeCondition + (*IsNullCondition)(nil), // 62: io.deephaven.proto.backplane.grpc.IsNullCondition + (*MatchesCondition)(nil), // 63: io.deephaven.proto.backplane.grpc.MatchesCondition + (*ContainsCondition)(nil), // 64: io.deephaven.proto.backplane.grpc.ContainsCondition + (*SearchCondition)(nil), // 65: io.deephaven.proto.backplane.grpc.SearchCondition + (*FlattenRequest)(nil), // 66: io.deephaven.proto.backplane.grpc.FlattenRequest + (*MetaTableRequest)(nil), // 67: io.deephaven.proto.backplane.grpc.MetaTableRequest + (*RunChartDownsampleRequest)(nil), // 68: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest + (*CreateInputTableRequest)(nil), // 69: io.deephaven.proto.backplane.grpc.CreateInputTableRequest + (*WhereInRequest)(nil), // 70: io.deephaven.proto.backplane.grpc.WhereInRequest + (*BatchTableRequest)(nil), // 71: io.deephaven.proto.backplane.grpc.BatchTableRequest + (*UpdateByWindowScale_UpdateByWindowTicks)(nil), // 72: io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTicks + (*UpdateByWindowScale_UpdateByWindowTime)(nil), // 73: io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTime + (*UpdateByRequest_UpdateByOptions)(nil), // 74: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions + (*UpdateByRequest_UpdateByOperation)(nil), // 75: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation + (*UpdateByRequest_UpdateByOperation_UpdateByColumn)(nil), // 76: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec)(nil), // 77: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum)(nil), // 78: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSum + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin)(nil), // 79: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMin + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax)(nil), // 80: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMax + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct)(nil), // 81: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProduct + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill)(nil), // 82: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFill + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma)(nil), // 83: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEms)(nil), // 84: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEms + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMin)(nil), // 85: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMin + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMax)(nil), // 86: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMax + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmStd)(nil), // 87: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStd + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByDelta)(nil), // 88: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByDelta + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingSum)(nil), // 89: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSum + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingGroup)(nil), // 90: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroup + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingAvg)(nil), // 91: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvg + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMin)(nil), // 92: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMin + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMax)(nil), // 93: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMax + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingProduct)(nil), // 94: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProduct + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingCount)(nil), // 95: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCount + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingStd)(nil), // 96: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStd + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingWAvg)(nil), // 97: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvg + (*ComboAggregateRequest_Aggregate)(nil), // 98: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate + (*AggSpec_AggSpecApproximatePercentile)(nil), // 99: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentile + (*AggSpec_AggSpecCountDistinct)(nil), // 100: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinct + (*AggSpec_AggSpecDistinct)(nil), // 101: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinct + (*AggSpec_AggSpecFormula)(nil), // 102: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormula + (*AggSpec_AggSpecMedian)(nil), // 103: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedian + (*AggSpec_AggSpecPercentile)(nil), // 104: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentile + (*AggSpec_AggSpecSorted)(nil), // 105: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted + (*AggSpec_AggSpecSortedColumn)(nil), // 106: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn + (*AggSpec_AggSpecTDigest)(nil), // 107: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigest + (*AggSpec_AggSpecUnique)(nil), // 108: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique + (*AggSpec_AggSpecNonUniqueSentinel)(nil), // 109: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel + (*AggSpec_AggSpecWeighted)(nil), // 110: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted + (*AggSpec_AggSpecAbsSum)(nil), // 111: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSum + (*AggSpec_AggSpecAvg)(nil), // 112: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvg + (*AggSpec_AggSpecFirst)(nil), // 113: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirst + (*AggSpec_AggSpecFreeze)(nil), // 114: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreeze + (*AggSpec_AggSpecGroup)(nil), // 115: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroup + (*AggSpec_AggSpecLast)(nil), // 116: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLast + (*AggSpec_AggSpecMax)(nil), // 117: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMax + (*AggSpec_AggSpecMin)(nil), // 118: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMin + (*AggSpec_AggSpecStd)(nil), // 119: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStd + (*AggSpec_AggSpecSum)(nil), // 120: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSum + (*AggSpec_AggSpecVar)(nil), // 121: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVar + (*Aggregation_AggregationColumns)(nil), // 122: io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns + (*Aggregation_AggregationCount)(nil), // 123: io.deephaven.proto.backplane.grpc.Aggregation.AggregationCount + (*Aggregation_AggregationRowKey)(nil), // 124: io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey + (*Aggregation_AggregationPartition)(nil), // 125: io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartition + (*RunChartDownsampleRequest_ZoomRange)(nil), // 126: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange + (*CreateInputTableRequest_InputTableKind)(nil), // 127: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind + (*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly)(nil), // 128: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnly + (*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked)(nil), // 129: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBacked + (*BatchTableRequest_Operation)(nil), // 130: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation + (*ticket.Ticket)(nil), // 131: io.deephaven.proto.backplane.grpc.Ticket } var file_deephaven_proto_table_proto_depIdxs = []int32{ - 130, // 0: io.deephaven.proto.backplane.grpc.TableReference.ticket:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 0: io.deephaven.proto.backplane.grpc.TableReference.ticket:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 1: io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse.result_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 12, // 2: io.deephaven.proto.backplane.grpc.FetchTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 3: io.deephaven.proto.backplane.grpc.FetchTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 3: io.deephaven.proto.backplane.grpc.FetchTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 4: io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 5: io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 130, // 6: io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage.export_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 130, // 7: io.deephaven.proto.backplane.grpc.EmptyTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 130, // 8: io.deephaven.proto.backplane.grpc.TimeTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 130, // 9: io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 5: io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 6: io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage.export_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 7: io.deephaven.proto.backplane.grpc.EmptyTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 8: io.deephaven.proto.backplane.grpc.TimeTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 9: io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 10: io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 5, // 11: io.deephaven.proto.backplane.grpc.MathContext.rounding_mode:type_name -> io.deephaven.proto.backplane.grpc.MathContext.RoundingMode - 71, // 12: io.deephaven.proto.backplane.grpc.UpdateByWindowScale.ticks:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTicks - 72, // 13: io.deephaven.proto.backplane.grpc.UpdateByWindowScale.time:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTime + 72, // 12: io.deephaven.proto.backplane.grpc.UpdateByWindowScale.ticks:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTicks + 73, // 13: io.deephaven.proto.backplane.grpc.UpdateByWindowScale.time:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTime 0, // 14: io.deephaven.proto.backplane.grpc.UpdateByEmOptions.on_null_value:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior 0, // 15: io.deephaven.proto.backplane.grpc.UpdateByEmOptions.on_nan_value:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior 0, // 16: io.deephaven.proto.backplane.grpc.UpdateByEmOptions.on_null_time:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior @@ -11788,328 +11963,337 @@ var file_deephaven_proto_table_proto_depIdxs = []int32{ 0, // 18: io.deephaven.proto.backplane.grpc.UpdateByEmOptions.on_zero_delta_time:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior 21, // 19: io.deephaven.proto.backplane.grpc.UpdateByEmOptions.big_value_context:type_name -> io.deephaven.proto.backplane.grpc.MathContext 1, // 20: io.deephaven.proto.backplane.grpc.UpdateByDeltaOptions.null_behavior:type_name -> io.deephaven.proto.backplane.grpc.UpdateByNullBehavior - 130, // 21: io.deephaven.proto.backplane.grpc.UpdateByRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 21: io.deephaven.proto.backplane.grpc.UpdateByRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 22: io.deephaven.proto.backplane.grpc.UpdateByRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 73, // 23: io.deephaven.proto.backplane.grpc.UpdateByRequest.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions - 74, // 24: io.deephaven.proto.backplane.grpc.UpdateByRequest.operations:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation - 130, // 25: io.deephaven.proto.backplane.grpc.SelectDistinctRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 74, // 23: io.deephaven.proto.backplane.grpc.UpdateByRequest.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions + 75, // 24: io.deephaven.proto.backplane.grpc.UpdateByRequest.operations:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation + 131, // 25: io.deephaven.proto.backplane.grpc.SelectDistinctRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 26: io.deephaven.proto.backplane.grpc.SelectDistinctRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 27: io.deephaven.proto.backplane.grpc.DropColumnsRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 27: io.deephaven.proto.backplane.grpc.DropColumnsRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 28: io.deephaven.proto.backplane.grpc.DropColumnsRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 29: io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 29: io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 30: io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 31: io.deephaven.proto.backplane.grpc.HeadOrTailRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 31: io.deephaven.proto.backplane.grpc.HeadOrTailRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 32: io.deephaven.proto.backplane.grpc.HeadOrTailRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 33: io.deephaven.proto.backplane.grpc.HeadOrTailByRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 33: io.deephaven.proto.backplane.grpc.HeadOrTailByRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 34: io.deephaven.proto.backplane.grpc.HeadOrTailByRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 35: io.deephaven.proto.backplane.grpc.UngroupRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 35: io.deephaven.proto.backplane.grpc.UngroupRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 36: io.deephaven.proto.backplane.grpc.UngroupRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 37: io.deephaven.proto.backplane.grpc.MergeTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 37: io.deephaven.proto.backplane.grpc.MergeTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 38: io.deephaven.proto.backplane.grpc.MergeTablesRequest.source_ids:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 39: io.deephaven.proto.backplane.grpc.SnapshotTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 39: io.deephaven.proto.backplane.grpc.SnapshotTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 40: io.deephaven.proto.backplane.grpc.SnapshotTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 41: io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 41: io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 42: io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest.base_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 12, // 43: io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest.trigger_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 44: io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 44: io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 45: io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 12, // 46: io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 47: io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 47: io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 48: io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 12, // 49: io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 50: io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 50: io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 51: io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 12, // 52: io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 53: io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 53: io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 54: io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 12, // 55: io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 56: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 131, // 56: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 12, // 57: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 12, // 58: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 6, // 59: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.as_of_match_rule:type_name -> io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule - 130, // 60: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 61: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 12, // 62: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 7, // 63: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.range_start_rule:type_name -> io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeStartRule - 8, // 64: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.range_end_rule:type_name -> io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeEndRule - 45, // 65: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.aggregations:type_name -> io.deephaven.proto.backplane.grpc.Aggregation - 130, // 66: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 67: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 97, // 68: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.aggregates:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate - 130, // 69: io.deephaven.proto.backplane.grpc.AggregateAllRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 70: io.deephaven.proto.backplane.grpc.AggregateAllRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 43, // 71: io.deephaven.proto.backplane.grpc.AggregateAllRequest.spec:type_name -> io.deephaven.proto.backplane.grpc.AggSpec - 110, // 72: io.deephaven.proto.backplane.grpc.AggSpec.abs_sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSum - 98, // 73: io.deephaven.proto.backplane.grpc.AggSpec.approximate_percentile:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentile - 111, // 74: io.deephaven.proto.backplane.grpc.AggSpec.avg:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvg - 99, // 75: io.deephaven.proto.backplane.grpc.AggSpec.count_distinct:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinct - 100, // 76: io.deephaven.proto.backplane.grpc.AggSpec.distinct:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinct - 112, // 77: io.deephaven.proto.backplane.grpc.AggSpec.first:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirst - 101, // 78: io.deephaven.proto.backplane.grpc.AggSpec.formula:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormula - 113, // 79: io.deephaven.proto.backplane.grpc.AggSpec.freeze:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreeze - 114, // 80: io.deephaven.proto.backplane.grpc.AggSpec.group:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroup - 115, // 81: io.deephaven.proto.backplane.grpc.AggSpec.last:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLast - 116, // 82: io.deephaven.proto.backplane.grpc.AggSpec.max:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMax - 102, // 83: io.deephaven.proto.backplane.grpc.AggSpec.median:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedian - 117, // 84: io.deephaven.proto.backplane.grpc.AggSpec.min:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMin - 103, // 85: io.deephaven.proto.backplane.grpc.AggSpec.percentile:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentile - 104, // 86: io.deephaven.proto.backplane.grpc.AggSpec.sorted_first:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted - 104, // 87: io.deephaven.proto.backplane.grpc.AggSpec.sorted_last:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted - 118, // 88: io.deephaven.proto.backplane.grpc.AggSpec.std:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStd - 119, // 89: io.deephaven.proto.backplane.grpc.AggSpec.sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSum - 106, // 90: io.deephaven.proto.backplane.grpc.AggSpec.t_digest:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigest - 107, // 91: io.deephaven.proto.backplane.grpc.AggSpec.unique:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique - 109, // 92: io.deephaven.proto.backplane.grpc.AggSpec.weighted_avg:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted - 109, // 93: io.deephaven.proto.backplane.grpc.AggSpec.weighted_sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted - 120, // 94: io.deephaven.proto.backplane.grpc.AggSpec.var:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVar - 130, // 95: io.deephaven.proto.backplane.grpc.AggregateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 96: io.deephaven.proto.backplane.grpc.AggregateRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 12, // 97: io.deephaven.proto.backplane.grpc.AggregateRequest.initial_groups_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 45, // 98: io.deephaven.proto.backplane.grpc.AggregateRequest.aggregations:type_name -> io.deephaven.proto.backplane.grpc.Aggregation - 121, // 99: io.deephaven.proto.backplane.grpc.Aggregation.columns:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns - 122, // 100: io.deephaven.proto.backplane.grpc.Aggregation.count:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationCount - 123, // 101: io.deephaven.proto.backplane.grpc.Aggregation.first_row_key:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey - 123, // 102: io.deephaven.proto.backplane.grpc.Aggregation.last_row_key:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey - 124, // 103: io.deephaven.proto.backplane.grpc.Aggregation.partition:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartition - 10, // 104: io.deephaven.proto.backplane.grpc.SortDescriptor.direction:type_name -> io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection - 130, // 105: io.deephaven.proto.backplane.grpc.SortTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 106: io.deephaven.proto.backplane.grpc.SortTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 46, // 107: io.deephaven.proto.backplane.grpc.SortTableRequest.sorts:type_name -> io.deephaven.proto.backplane.grpc.SortDescriptor - 130, // 108: io.deephaven.proto.backplane.grpc.FilterTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 109: io.deephaven.proto.backplane.grpc.FilterTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 54, // 110: io.deephaven.proto.backplane.grpc.FilterTableRequest.filters:type_name -> io.deephaven.proto.backplane.grpc.Condition - 130, // 111: io.deephaven.proto.backplane.grpc.SeekRowRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 52, // 112: io.deephaven.proto.backplane.grpc.SeekRowRequest.seek_value:type_name -> io.deephaven.proto.backplane.grpc.Literal - 51, // 113: io.deephaven.proto.backplane.grpc.Value.reference:type_name -> io.deephaven.proto.backplane.grpc.Reference - 52, // 114: io.deephaven.proto.backplane.grpc.Value.literal:type_name -> io.deephaven.proto.backplane.grpc.Literal - 55, // 115: io.deephaven.proto.backplane.grpc.Condition.and:type_name -> io.deephaven.proto.backplane.grpc.AndCondition - 56, // 116: io.deephaven.proto.backplane.grpc.Condition.or:type_name -> io.deephaven.proto.backplane.grpc.OrCondition - 57, // 117: io.deephaven.proto.backplane.grpc.Condition.not:type_name -> io.deephaven.proto.backplane.grpc.NotCondition - 58, // 118: io.deephaven.proto.backplane.grpc.Condition.compare:type_name -> io.deephaven.proto.backplane.grpc.CompareCondition - 59, // 119: io.deephaven.proto.backplane.grpc.Condition.in:type_name -> io.deephaven.proto.backplane.grpc.InCondition - 60, // 120: io.deephaven.proto.backplane.grpc.Condition.invoke:type_name -> io.deephaven.proto.backplane.grpc.InvokeCondition - 61, // 121: io.deephaven.proto.backplane.grpc.Condition.is_null:type_name -> io.deephaven.proto.backplane.grpc.IsNullCondition - 62, // 122: io.deephaven.proto.backplane.grpc.Condition.matches:type_name -> io.deephaven.proto.backplane.grpc.MatchesCondition - 63, // 123: io.deephaven.proto.backplane.grpc.Condition.contains:type_name -> io.deephaven.proto.backplane.grpc.ContainsCondition - 64, // 124: io.deephaven.proto.backplane.grpc.Condition.search:type_name -> io.deephaven.proto.backplane.grpc.SearchCondition - 54, // 125: io.deephaven.proto.backplane.grpc.AndCondition.filters:type_name -> io.deephaven.proto.backplane.grpc.Condition - 54, // 126: io.deephaven.proto.backplane.grpc.OrCondition.filters:type_name -> io.deephaven.proto.backplane.grpc.Condition - 54, // 127: io.deephaven.proto.backplane.grpc.NotCondition.filter:type_name -> io.deephaven.proto.backplane.grpc.Condition - 11, // 128: io.deephaven.proto.backplane.grpc.CompareCondition.operation:type_name -> io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation - 3, // 129: io.deephaven.proto.backplane.grpc.CompareCondition.case_sensitivity:type_name -> io.deephaven.proto.backplane.grpc.CaseSensitivity - 53, // 130: io.deephaven.proto.backplane.grpc.CompareCondition.lhs:type_name -> io.deephaven.proto.backplane.grpc.Value - 53, // 131: io.deephaven.proto.backplane.grpc.CompareCondition.rhs:type_name -> io.deephaven.proto.backplane.grpc.Value - 53, // 132: io.deephaven.proto.backplane.grpc.InCondition.target:type_name -> io.deephaven.proto.backplane.grpc.Value - 53, // 133: io.deephaven.proto.backplane.grpc.InCondition.candidates:type_name -> io.deephaven.proto.backplane.grpc.Value - 3, // 134: io.deephaven.proto.backplane.grpc.InCondition.case_sensitivity:type_name -> io.deephaven.proto.backplane.grpc.CaseSensitivity - 4, // 135: io.deephaven.proto.backplane.grpc.InCondition.match_type:type_name -> io.deephaven.proto.backplane.grpc.MatchType - 53, // 136: io.deephaven.proto.backplane.grpc.InvokeCondition.target:type_name -> io.deephaven.proto.backplane.grpc.Value - 53, // 137: io.deephaven.proto.backplane.grpc.InvokeCondition.arguments:type_name -> io.deephaven.proto.backplane.grpc.Value - 51, // 138: io.deephaven.proto.backplane.grpc.IsNullCondition.reference:type_name -> io.deephaven.proto.backplane.grpc.Reference - 51, // 139: io.deephaven.proto.backplane.grpc.MatchesCondition.reference:type_name -> io.deephaven.proto.backplane.grpc.Reference - 3, // 140: io.deephaven.proto.backplane.grpc.MatchesCondition.case_sensitivity:type_name -> io.deephaven.proto.backplane.grpc.CaseSensitivity - 4, // 141: io.deephaven.proto.backplane.grpc.MatchesCondition.match_type:type_name -> io.deephaven.proto.backplane.grpc.MatchType - 51, // 142: io.deephaven.proto.backplane.grpc.ContainsCondition.reference:type_name -> io.deephaven.proto.backplane.grpc.Reference - 3, // 143: io.deephaven.proto.backplane.grpc.ContainsCondition.case_sensitivity:type_name -> io.deephaven.proto.backplane.grpc.CaseSensitivity - 4, // 144: io.deephaven.proto.backplane.grpc.ContainsCondition.match_type:type_name -> io.deephaven.proto.backplane.grpc.MatchType - 51, // 145: io.deephaven.proto.backplane.grpc.SearchCondition.optional_references:type_name -> io.deephaven.proto.backplane.grpc.Reference - 130, // 146: io.deephaven.proto.backplane.grpc.FlattenRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 147: io.deephaven.proto.backplane.grpc.FlattenRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 148: io.deephaven.proto.backplane.grpc.MetaTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 149: io.deephaven.proto.backplane.grpc.MetaTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 130, // 150: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 151: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 125, // 152: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.zoom_range:type_name -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange - 130, // 153: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 154: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.source_table_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 126, // 155: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.kind:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind - 130, // 156: io.deephaven.proto.backplane.grpc.WhereInRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 12, // 157: io.deephaven.proto.backplane.grpc.WhereInRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 12, // 158: io.deephaven.proto.backplane.grpc.WhereInRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 129, // 159: io.deephaven.proto.backplane.grpc.BatchTableRequest.ops:type_name -> io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation - 21, // 160: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions.math_context:type_name -> io.deephaven.proto.backplane.grpc.MathContext - 75, // 161: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.column:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn - 76, // 162: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.spec:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec - 77, // 163: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.sum:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSum - 78, // 164: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.min:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMin - 79, // 165: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.max:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMax - 80, // 166: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.product:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProduct - 81, // 167: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.fill:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFill - 82, // 168: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.ema:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma - 88, // 169: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_sum:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSum - 89, // 170: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_group:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroup - 90, // 171: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_avg:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvg - 91, // 172: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_min:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMin - 92, // 173: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_max:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMax - 93, // 174: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_product:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProduct - 87, // 175: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.delta:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByDelta - 83, // 176: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.ems:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEms - 84, // 177: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.em_min:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMin - 85, // 178: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.em_max:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMax - 86, // 179: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.em_std:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStd - 94, // 180: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_count:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCount - 95, // 181: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_std:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStd - 96, // 182: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_wavg:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvg - 23, // 183: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByEmOptions - 22, // 184: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 23, // 185: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEms.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByEmOptions - 22, // 186: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEms.window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 23, // 187: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMin.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByEmOptions - 22, // 188: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMin.window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 23, // 189: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMax.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByEmOptions - 22, // 190: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMax.window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 23, // 191: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStd.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByEmOptions - 22, // 192: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStd.window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 24, // 193: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByDelta.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByDeltaOptions - 22, // 194: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSum.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 195: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSum.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 196: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroup.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 197: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroup.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 198: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvg.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 199: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvg.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 200: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMin.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 201: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMin.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 202: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMax.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 203: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMax.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 204: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProduct.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 205: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProduct.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 206: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCount.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 207: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCount.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 208: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStd.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 209: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStd.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 210: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvg.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 22, // 211: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvg.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale - 9, // 212: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate.type:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType - 105, // 213: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted.columns:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn - 108, // 214: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique.non_unique_sentinel:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel - 2, // 215: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel.null_value:type_name -> io.deephaven.proto.backplane.grpc.NullValue - 43, // 216: io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns.spec:type_name -> io.deephaven.proto.backplane.grpc.AggSpec - 127, // 217: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.in_memory_append_only:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnly - 128, // 218: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.in_memory_key_backed:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBacked - 18, // 219: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.empty_table:type_name -> io.deephaven.proto.backplane.grpc.EmptyTableRequest - 19, // 220: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.time_table:type_name -> io.deephaven.proto.backplane.grpc.TimeTableRequest - 27, // 221: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.drop_columns:type_name -> io.deephaven.proto.backplane.grpc.DropColumnsRequest - 20, // 222: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 20, // 223: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.lazy_update:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 20, // 224: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.view:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 20, // 225: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update_view:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 20, // 226: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.select:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 26, // 227: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.select_distinct:type_name -> io.deephaven.proto.backplane.grpc.SelectDistinctRequest - 48, // 228: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.filter:type_name -> io.deephaven.proto.backplane.grpc.FilterTableRequest - 28, // 229: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.unstructured_filter:type_name -> io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest - 47, // 230: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.sort:type_name -> io.deephaven.proto.backplane.grpc.SortTableRequest - 29, // 231: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.head:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest - 29, // 232: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.tail:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest - 30, // 233: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.head_by:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest - 30, // 234: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.tail_by:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest - 31, // 235: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.ungroup:type_name -> io.deephaven.proto.backplane.grpc.UngroupRequest - 32, // 236: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.merge:type_name -> io.deephaven.proto.backplane.grpc.MergeTablesRequest - 41, // 237: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.combo_aggregate:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest - 65, // 238: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.flatten:type_name -> io.deephaven.proto.backplane.grpc.FlattenRequest - 67, // 239: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.run_chart_downsample:type_name -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest - 35, // 240: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.cross_join:type_name -> io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest - 36, // 241: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.natural_join:type_name -> io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest - 37, // 242: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.exact_join:type_name -> io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest - 38, // 243: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.left_join:type_name -> io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest - 39, // 244: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.as_of_join:type_name -> io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest - 14, // 245: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.fetch_table:type_name -> io.deephaven.proto.backplane.grpc.FetchTableRequest - 15, // 246: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.apply_preview_columns:type_name -> io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest - 68, // 247: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.create_input_table:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest - 25, // 248: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update_by:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest - 69, // 249: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.where_in:type_name -> io.deephaven.proto.backplane.grpc.WhereInRequest - 42, // 250: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aggregate_all:type_name -> io.deephaven.proto.backplane.grpc.AggregateAllRequest - 44, // 251: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aggregate:type_name -> io.deephaven.proto.backplane.grpc.AggregateRequest - 33, // 252: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.snapshot:type_name -> io.deephaven.proto.backplane.grpc.SnapshotTableRequest - 34, // 253: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.snapshot_when:type_name -> io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest - 66, // 254: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.meta_table:type_name -> io.deephaven.proto.backplane.grpc.MetaTableRequest - 40, // 255: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.range_join:type_name -> io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest - 130, // 256: io.deephaven.proto.backplane.grpc.TableService.GetExportedTableCreationResponse:input_type -> io.deephaven.proto.backplane.grpc.Ticket - 14, // 257: io.deephaven.proto.backplane.grpc.TableService.FetchTable:input_type -> io.deephaven.proto.backplane.grpc.FetchTableRequest - 15, // 258: io.deephaven.proto.backplane.grpc.TableService.ApplyPreviewColumns:input_type -> io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest - 18, // 259: io.deephaven.proto.backplane.grpc.TableService.EmptyTable:input_type -> io.deephaven.proto.backplane.grpc.EmptyTableRequest - 19, // 260: io.deephaven.proto.backplane.grpc.TableService.TimeTable:input_type -> io.deephaven.proto.backplane.grpc.TimeTableRequest - 27, // 261: io.deephaven.proto.backplane.grpc.TableService.DropColumns:input_type -> io.deephaven.proto.backplane.grpc.DropColumnsRequest - 20, // 262: io.deephaven.proto.backplane.grpc.TableService.Update:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 20, // 263: io.deephaven.proto.backplane.grpc.TableService.LazyUpdate:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 20, // 264: io.deephaven.proto.backplane.grpc.TableService.View:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 20, // 265: io.deephaven.proto.backplane.grpc.TableService.UpdateView:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 20, // 266: io.deephaven.proto.backplane.grpc.TableService.Select:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 25, // 267: io.deephaven.proto.backplane.grpc.TableService.UpdateBy:input_type -> io.deephaven.proto.backplane.grpc.UpdateByRequest - 26, // 268: io.deephaven.proto.backplane.grpc.TableService.SelectDistinct:input_type -> io.deephaven.proto.backplane.grpc.SelectDistinctRequest - 48, // 269: io.deephaven.proto.backplane.grpc.TableService.Filter:input_type -> io.deephaven.proto.backplane.grpc.FilterTableRequest - 28, // 270: io.deephaven.proto.backplane.grpc.TableService.UnstructuredFilter:input_type -> io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest - 47, // 271: io.deephaven.proto.backplane.grpc.TableService.Sort:input_type -> io.deephaven.proto.backplane.grpc.SortTableRequest - 29, // 272: io.deephaven.proto.backplane.grpc.TableService.Head:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest - 29, // 273: io.deephaven.proto.backplane.grpc.TableService.Tail:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest - 30, // 274: io.deephaven.proto.backplane.grpc.TableService.HeadBy:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest - 30, // 275: io.deephaven.proto.backplane.grpc.TableService.TailBy:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest - 31, // 276: io.deephaven.proto.backplane.grpc.TableService.Ungroup:input_type -> io.deephaven.proto.backplane.grpc.UngroupRequest - 32, // 277: io.deephaven.proto.backplane.grpc.TableService.MergeTables:input_type -> io.deephaven.proto.backplane.grpc.MergeTablesRequest - 35, // 278: io.deephaven.proto.backplane.grpc.TableService.CrossJoinTables:input_type -> io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest - 36, // 279: io.deephaven.proto.backplane.grpc.TableService.NaturalJoinTables:input_type -> io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest - 37, // 280: io.deephaven.proto.backplane.grpc.TableService.ExactJoinTables:input_type -> io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest - 38, // 281: io.deephaven.proto.backplane.grpc.TableService.LeftJoinTables:input_type -> io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest - 39, // 282: io.deephaven.proto.backplane.grpc.TableService.AsOfJoinTables:input_type -> io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest - 40, // 283: io.deephaven.proto.backplane.grpc.TableService.RangeJoinTables:input_type -> io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest - 41, // 284: io.deephaven.proto.backplane.grpc.TableService.ComboAggregate:input_type -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest - 42, // 285: io.deephaven.proto.backplane.grpc.TableService.AggregateAll:input_type -> io.deephaven.proto.backplane.grpc.AggregateAllRequest - 44, // 286: io.deephaven.proto.backplane.grpc.TableService.Aggregate:input_type -> io.deephaven.proto.backplane.grpc.AggregateRequest - 33, // 287: io.deephaven.proto.backplane.grpc.TableService.Snapshot:input_type -> io.deephaven.proto.backplane.grpc.SnapshotTableRequest - 34, // 288: io.deephaven.proto.backplane.grpc.TableService.SnapshotWhen:input_type -> io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest - 65, // 289: io.deephaven.proto.backplane.grpc.TableService.Flatten:input_type -> io.deephaven.proto.backplane.grpc.FlattenRequest - 67, // 290: io.deephaven.proto.backplane.grpc.TableService.RunChartDownsample:input_type -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest - 68, // 291: io.deephaven.proto.backplane.grpc.TableService.CreateInputTable:input_type -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest - 69, // 292: io.deephaven.proto.backplane.grpc.TableService.WhereIn:input_type -> io.deephaven.proto.backplane.grpc.WhereInRequest - 70, // 293: io.deephaven.proto.backplane.grpc.TableService.Batch:input_type -> io.deephaven.proto.backplane.grpc.BatchTableRequest - 16, // 294: io.deephaven.proto.backplane.grpc.TableService.ExportedTableUpdates:input_type -> io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest - 49, // 295: io.deephaven.proto.backplane.grpc.TableService.SeekRow:input_type -> io.deephaven.proto.backplane.grpc.SeekRowRequest - 66, // 296: io.deephaven.proto.backplane.grpc.TableService.MetaTable:input_type -> io.deephaven.proto.backplane.grpc.MetaTableRequest - 13, // 297: io.deephaven.proto.backplane.grpc.TableService.GetExportedTableCreationResponse:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 298: io.deephaven.proto.backplane.grpc.TableService.FetchTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 299: io.deephaven.proto.backplane.grpc.TableService.ApplyPreviewColumns:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 300: io.deephaven.proto.backplane.grpc.TableService.EmptyTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 301: io.deephaven.proto.backplane.grpc.TableService.TimeTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 302: io.deephaven.proto.backplane.grpc.TableService.DropColumns:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 303: io.deephaven.proto.backplane.grpc.TableService.Update:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 304: io.deephaven.proto.backplane.grpc.TableService.LazyUpdate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 305: io.deephaven.proto.backplane.grpc.TableService.View:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 306: io.deephaven.proto.backplane.grpc.TableService.UpdateView:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 307: io.deephaven.proto.backplane.grpc.TableService.Select:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 308: io.deephaven.proto.backplane.grpc.TableService.UpdateBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 309: io.deephaven.proto.backplane.grpc.TableService.SelectDistinct:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 310: io.deephaven.proto.backplane.grpc.TableService.Filter:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 311: io.deephaven.proto.backplane.grpc.TableService.UnstructuredFilter:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 312: io.deephaven.proto.backplane.grpc.TableService.Sort:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 313: io.deephaven.proto.backplane.grpc.TableService.Head:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 314: io.deephaven.proto.backplane.grpc.TableService.Tail:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 315: io.deephaven.proto.backplane.grpc.TableService.HeadBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 316: io.deephaven.proto.backplane.grpc.TableService.TailBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 317: io.deephaven.proto.backplane.grpc.TableService.Ungroup:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 318: io.deephaven.proto.backplane.grpc.TableService.MergeTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 319: io.deephaven.proto.backplane.grpc.TableService.CrossJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 320: io.deephaven.proto.backplane.grpc.TableService.NaturalJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 321: io.deephaven.proto.backplane.grpc.TableService.ExactJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 322: io.deephaven.proto.backplane.grpc.TableService.LeftJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 323: io.deephaven.proto.backplane.grpc.TableService.AsOfJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 324: io.deephaven.proto.backplane.grpc.TableService.RangeJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 325: io.deephaven.proto.backplane.grpc.TableService.ComboAggregate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 326: io.deephaven.proto.backplane.grpc.TableService.AggregateAll:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 327: io.deephaven.proto.backplane.grpc.TableService.Aggregate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 328: io.deephaven.proto.backplane.grpc.TableService.Snapshot:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 329: io.deephaven.proto.backplane.grpc.TableService.SnapshotWhen:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 330: io.deephaven.proto.backplane.grpc.TableService.Flatten:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 331: io.deephaven.proto.backplane.grpc.TableService.RunChartDownsample:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 332: io.deephaven.proto.backplane.grpc.TableService.CreateInputTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 333: io.deephaven.proto.backplane.grpc.TableService.WhereIn:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 13, // 334: io.deephaven.proto.backplane.grpc.TableService.Batch:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 17, // 335: io.deephaven.proto.backplane.grpc.TableService.ExportedTableUpdates:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage - 50, // 336: io.deephaven.proto.backplane.grpc.TableService.SeekRow:output_type -> io.deephaven.proto.backplane.grpc.SeekRowResponse - 13, // 337: io.deephaven.proto.backplane.grpc.TableService.MetaTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 297, // [297:338] is the sub-list for method output_type - 256, // [256:297] is the sub-list for method input_type - 256, // [256:256] is the sub-list for extension type_name - 256, // [256:256] is the sub-list for extension extendee - 0, // [0:256] is the sub-list for field type_name + 131, // 60: io.deephaven.proto.backplane.grpc.AjRajTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 61: io.deephaven.proto.backplane.grpc.AjRajTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 12, // 62: io.deephaven.proto.backplane.grpc.AjRajTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 131, // 63: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 64: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 12, // 65: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 7, // 66: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.range_start_rule:type_name -> io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeStartRule + 8, // 67: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.range_end_rule:type_name -> io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeEndRule + 46, // 68: io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.aggregations:type_name -> io.deephaven.proto.backplane.grpc.Aggregation + 131, // 69: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 70: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 98, // 71: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.aggregates:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate + 131, // 72: io.deephaven.proto.backplane.grpc.AggregateAllRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 73: io.deephaven.proto.backplane.grpc.AggregateAllRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 44, // 74: io.deephaven.proto.backplane.grpc.AggregateAllRequest.spec:type_name -> io.deephaven.proto.backplane.grpc.AggSpec + 111, // 75: io.deephaven.proto.backplane.grpc.AggSpec.abs_sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSum + 99, // 76: io.deephaven.proto.backplane.grpc.AggSpec.approximate_percentile:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentile + 112, // 77: io.deephaven.proto.backplane.grpc.AggSpec.avg:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvg + 100, // 78: io.deephaven.proto.backplane.grpc.AggSpec.count_distinct:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinct + 101, // 79: io.deephaven.proto.backplane.grpc.AggSpec.distinct:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinct + 113, // 80: io.deephaven.proto.backplane.grpc.AggSpec.first:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirst + 102, // 81: io.deephaven.proto.backplane.grpc.AggSpec.formula:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormula + 114, // 82: io.deephaven.proto.backplane.grpc.AggSpec.freeze:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreeze + 115, // 83: io.deephaven.proto.backplane.grpc.AggSpec.group:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroup + 116, // 84: io.deephaven.proto.backplane.grpc.AggSpec.last:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLast + 117, // 85: io.deephaven.proto.backplane.grpc.AggSpec.max:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMax + 103, // 86: io.deephaven.proto.backplane.grpc.AggSpec.median:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedian + 118, // 87: io.deephaven.proto.backplane.grpc.AggSpec.min:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMin + 104, // 88: io.deephaven.proto.backplane.grpc.AggSpec.percentile:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentile + 105, // 89: io.deephaven.proto.backplane.grpc.AggSpec.sorted_first:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted + 105, // 90: io.deephaven.proto.backplane.grpc.AggSpec.sorted_last:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted + 119, // 91: io.deephaven.proto.backplane.grpc.AggSpec.std:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStd + 120, // 92: io.deephaven.proto.backplane.grpc.AggSpec.sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSum + 107, // 93: io.deephaven.proto.backplane.grpc.AggSpec.t_digest:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigest + 108, // 94: io.deephaven.proto.backplane.grpc.AggSpec.unique:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique + 110, // 95: io.deephaven.proto.backplane.grpc.AggSpec.weighted_avg:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted + 110, // 96: io.deephaven.proto.backplane.grpc.AggSpec.weighted_sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted + 121, // 97: io.deephaven.proto.backplane.grpc.AggSpec.var:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVar + 131, // 98: io.deephaven.proto.backplane.grpc.AggregateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 99: io.deephaven.proto.backplane.grpc.AggregateRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 12, // 100: io.deephaven.proto.backplane.grpc.AggregateRequest.initial_groups_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 46, // 101: io.deephaven.proto.backplane.grpc.AggregateRequest.aggregations:type_name -> io.deephaven.proto.backplane.grpc.Aggregation + 122, // 102: io.deephaven.proto.backplane.grpc.Aggregation.columns:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns + 123, // 103: io.deephaven.proto.backplane.grpc.Aggregation.count:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationCount + 124, // 104: io.deephaven.proto.backplane.grpc.Aggregation.first_row_key:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey + 124, // 105: io.deephaven.proto.backplane.grpc.Aggregation.last_row_key:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey + 125, // 106: io.deephaven.proto.backplane.grpc.Aggregation.partition:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartition + 10, // 107: io.deephaven.proto.backplane.grpc.SortDescriptor.direction:type_name -> io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection + 131, // 108: io.deephaven.proto.backplane.grpc.SortTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 109: io.deephaven.proto.backplane.grpc.SortTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 47, // 110: io.deephaven.proto.backplane.grpc.SortTableRequest.sorts:type_name -> io.deephaven.proto.backplane.grpc.SortDescriptor + 131, // 111: io.deephaven.proto.backplane.grpc.FilterTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 112: io.deephaven.proto.backplane.grpc.FilterTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 55, // 113: io.deephaven.proto.backplane.grpc.FilterTableRequest.filters:type_name -> io.deephaven.proto.backplane.grpc.Condition + 131, // 114: io.deephaven.proto.backplane.grpc.SeekRowRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 53, // 115: io.deephaven.proto.backplane.grpc.SeekRowRequest.seek_value:type_name -> io.deephaven.proto.backplane.grpc.Literal + 52, // 116: io.deephaven.proto.backplane.grpc.Value.reference:type_name -> io.deephaven.proto.backplane.grpc.Reference + 53, // 117: io.deephaven.proto.backplane.grpc.Value.literal:type_name -> io.deephaven.proto.backplane.grpc.Literal + 56, // 118: io.deephaven.proto.backplane.grpc.Condition.and:type_name -> io.deephaven.proto.backplane.grpc.AndCondition + 57, // 119: io.deephaven.proto.backplane.grpc.Condition.or:type_name -> io.deephaven.proto.backplane.grpc.OrCondition + 58, // 120: io.deephaven.proto.backplane.grpc.Condition.not:type_name -> io.deephaven.proto.backplane.grpc.NotCondition + 59, // 121: io.deephaven.proto.backplane.grpc.Condition.compare:type_name -> io.deephaven.proto.backplane.grpc.CompareCondition + 60, // 122: io.deephaven.proto.backplane.grpc.Condition.in:type_name -> io.deephaven.proto.backplane.grpc.InCondition + 61, // 123: io.deephaven.proto.backplane.grpc.Condition.invoke:type_name -> io.deephaven.proto.backplane.grpc.InvokeCondition + 62, // 124: io.deephaven.proto.backplane.grpc.Condition.is_null:type_name -> io.deephaven.proto.backplane.grpc.IsNullCondition + 63, // 125: io.deephaven.proto.backplane.grpc.Condition.matches:type_name -> io.deephaven.proto.backplane.grpc.MatchesCondition + 64, // 126: io.deephaven.proto.backplane.grpc.Condition.contains:type_name -> io.deephaven.proto.backplane.grpc.ContainsCondition + 65, // 127: io.deephaven.proto.backplane.grpc.Condition.search:type_name -> io.deephaven.proto.backplane.grpc.SearchCondition + 55, // 128: io.deephaven.proto.backplane.grpc.AndCondition.filters:type_name -> io.deephaven.proto.backplane.grpc.Condition + 55, // 129: io.deephaven.proto.backplane.grpc.OrCondition.filters:type_name -> io.deephaven.proto.backplane.grpc.Condition + 55, // 130: io.deephaven.proto.backplane.grpc.NotCondition.filter:type_name -> io.deephaven.proto.backplane.grpc.Condition + 11, // 131: io.deephaven.proto.backplane.grpc.CompareCondition.operation:type_name -> io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation + 3, // 132: io.deephaven.proto.backplane.grpc.CompareCondition.case_sensitivity:type_name -> io.deephaven.proto.backplane.grpc.CaseSensitivity + 54, // 133: io.deephaven.proto.backplane.grpc.CompareCondition.lhs:type_name -> io.deephaven.proto.backplane.grpc.Value + 54, // 134: io.deephaven.proto.backplane.grpc.CompareCondition.rhs:type_name -> io.deephaven.proto.backplane.grpc.Value + 54, // 135: io.deephaven.proto.backplane.grpc.InCondition.target:type_name -> io.deephaven.proto.backplane.grpc.Value + 54, // 136: io.deephaven.proto.backplane.grpc.InCondition.candidates:type_name -> io.deephaven.proto.backplane.grpc.Value + 3, // 137: io.deephaven.proto.backplane.grpc.InCondition.case_sensitivity:type_name -> io.deephaven.proto.backplane.grpc.CaseSensitivity + 4, // 138: io.deephaven.proto.backplane.grpc.InCondition.match_type:type_name -> io.deephaven.proto.backplane.grpc.MatchType + 54, // 139: io.deephaven.proto.backplane.grpc.InvokeCondition.target:type_name -> io.deephaven.proto.backplane.grpc.Value + 54, // 140: io.deephaven.proto.backplane.grpc.InvokeCondition.arguments:type_name -> io.deephaven.proto.backplane.grpc.Value + 52, // 141: io.deephaven.proto.backplane.grpc.IsNullCondition.reference:type_name -> io.deephaven.proto.backplane.grpc.Reference + 52, // 142: io.deephaven.proto.backplane.grpc.MatchesCondition.reference:type_name -> io.deephaven.proto.backplane.grpc.Reference + 3, // 143: io.deephaven.proto.backplane.grpc.MatchesCondition.case_sensitivity:type_name -> io.deephaven.proto.backplane.grpc.CaseSensitivity + 4, // 144: io.deephaven.proto.backplane.grpc.MatchesCondition.match_type:type_name -> io.deephaven.proto.backplane.grpc.MatchType + 52, // 145: io.deephaven.proto.backplane.grpc.ContainsCondition.reference:type_name -> io.deephaven.proto.backplane.grpc.Reference + 3, // 146: io.deephaven.proto.backplane.grpc.ContainsCondition.case_sensitivity:type_name -> io.deephaven.proto.backplane.grpc.CaseSensitivity + 4, // 147: io.deephaven.proto.backplane.grpc.ContainsCondition.match_type:type_name -> io.deephaven.proto.backplane.grpc.MatchType + 52, // 148: io.deephaven.proto.backplane.grpc.SearchCondition.optional_references:type_name -> io.deephaven.proto.backplane.grpc.Reference + 131, // 149: io.deephaven.proto.backplane.grpc.FlattenRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 150: io.deephaven.proto.backplane.grpc.FlattenRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 131, // 151: io.deephaven.proto.backplane.grpc.MetaTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 152: io.deephaven.proto.backplane.grpc.MetaTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 131, // 153: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 154: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 126, // 155: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.zoom_range:type_name -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange + 131, // 156: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 157: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.source_table_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 127, // 158: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.kind:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind + 131, // 159: io.deephaven.proto.backplane.grpc.WhereInRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 12, // 160: io.deephaven.proto.backplane.grpc.WhereInRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 12, // 161: io.deephaven.proto.backplane.grpc.WhereInRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 130, // 162: io.deephaven.proto.backplane.grpc.BatchTableRequest.ops:type_name -> io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation + 21, // 163: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions.math_context:type_name -> io.deephaven.proto.backplane.grpc.MathContext + 76, // 164: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.column:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn + 77, // 165: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.spec:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec + 78, // 166: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.sum:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSum + 79, // 167: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.min:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMin + 80, // 168: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.max:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMax + 81, // 169: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.product:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProduct + 82, // 170: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.fill:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFill + 83, // 171: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.ema:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma + 89, // 172: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_sum:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSum + 90, // 173: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_group:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroup + 91, // 174: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_avg:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvg + 92, // 175: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_min:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMin + 93, // 176: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_max:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMax + 94, // 177: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_product:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProduct + 88, // 178: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.delta:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByDelta + 84, // 179: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.ems:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEms + 85, // 180: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.em_min:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMin + 86, // 181: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.em_max:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMax + 87, // 182: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.em_std:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStd + 95, // 183: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_count:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCount + 96, // 184: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_std:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStd + 97, // 185: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.rolling_wavg:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvg + 23, // 186: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByEmOptions + 22, // 187: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 23, // 188: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEms.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByEmOptions + 22, // 189: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEms.window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 23, // 190: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMin.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByEmOptions + 22, // 191: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMin.window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 23, // 192: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMax.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByEmOptions + 22, // 193: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMax.window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 23, // 194: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStd.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByEmOptions + 22, // 195: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStd.window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 24, // 196: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByDelta.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByDeltaOptions + 22, // 197: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSum.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 198: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSum.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 199: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroup.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 200: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroup.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 201: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvg.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 202: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvg.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 203: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMin.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 204: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMin.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 205: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMax.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 206: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMax.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 207: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProduct.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 208: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProduct.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 209: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCount.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 210: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCount.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 211: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStd.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 212: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStd.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 213: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvg.reverse_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 22, // 214: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvg.forward_window_scale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByWindowScale + 9, // 215: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate.type:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType + 106, // 216: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted.columns:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn + 109, // 217: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique.non_unique_sentinel:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel + 2, // 218: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel.null_value:type_name -> io.deephaven.proto.backplane.grpc.NullValue + 44, // 219: io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns.spec:type_name -> io.deephaven.proto.backplane.grpc.AggSpec + 128, // 220: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.in_memory_append_only:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnly + 129, // 221: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.in_memory_key_backed:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBacked + 18, // 222: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.empty_table:type_name -> io.deephaven.proto.backplane.grpc.EmptyTableRequest + 19, // 223: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.time_table:type_name -> io.deephaven.proto.backplane.grpc.TimeTableRequest + 27, // 224: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.drop_columns:type_name -> io.deephaven.proto.backplane.grpc.DropColumnsRequest + 20, // 225: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 20, // 226: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.lazy_update:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 20, // 227: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.view:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 20, // 228: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update_view:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 20, // 229: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.select:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 26, // 230: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.select_distinct:type_name -> io.deephaven.proto.backplane.grpc.SelectDistinctRequest + 49, // 231: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.filter:type_name -> io.deephaven.proto.backplane.grpc.FilterTableRequest + 28, // 232: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.unstructured_filter:type_name -> io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest + 48, // 233: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.sort:type_name -> io.deephaven.proto.backplane.grpc.SortTableRequest + 29, // 234: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.head:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest + 29, // 235: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.tail:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest + 30, // 236: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.head_by:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest + 30, // 237: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.tail_by:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest + 31, // 238: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.ungroup:type_name -> io.deephaven.proto.backplane.grpc.UngroupRequest + 32, // 239: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.merge:type_name -> io.deephaven.proto.backplane.grpc.MergeTablesRequest + 42, // 240: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.combo_aggregate:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest + 66, // 241: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.flatten:type_name -> io.deephaven.proto.backplane.grpc.FlattenRequest + 68, // 242: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.run_chart_downsample:type_name -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest + 35, // 243: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.cross_join:type_name -> io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest + 36, // 244: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.natural_join:type_name -> io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest + 37, // 245: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.exact_join:type_name -> io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest + 38, // 246: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.left_join:type_name -> io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest + 39, // 247: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.as_of_join:type_name -> io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest + 14, // 248: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.fetch_table:type_name -> io.deephaven.proto.backplane.grpc.FetchTableRequest + 15, // 249: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.apply_preview_columns:type_name -> io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest + 69, // 250: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.create_input_table:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest + 25, // 251: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update_by:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest + 70, // 252: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.where_in:type_name -> io.deephaven.proto.backplane.grpc.WhereInRequest + 43, // 253: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aggregate_all:type_name -> io.deephaven.proto.backplane.grpc.AggregateAllRequest + 45, // 254: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aggregate:type_name -> io.deephaven.proto.backplane.grpc.AggregateRequest + 33, // 255: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.snapshot:type_name -> io.deephaven.proto.backplane.grpc.SnapshotTableRequest + 34, // 256: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.snapshot_when:type_name -> io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest + 67, // 257: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.meta_table:type_name -> io.deephaven.proto.backplane.grpc.MetaTableRequest + 41, // 258: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.range_join:type_name -> io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest + 40, // 259: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aj:type_name -> io.deephaven.proto.backplane.grpc.AjRajTablesRequest + 40, // 260: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.raj:type_name -> io.deephaven.proto.backplane.grpc.AjRajTablesRequest + 131, // 261: io.deephaven.proto.backplane.grpc.TableService.GetExportedTableCreationResponse:input_type -> io.deephaven.proto.backplane.grpc.Ticket + 14, // 262: io.deephaven.proto.backplane.grpc.TableService.FetchTable:input_type -> io.deephaven.proto.backplane.grpc.FetchTableRequest + 15, // 263: io.deephaven.proto.backplane.grpc.TableService.ApplyPreviewColumns:input_type -> io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest + 18, // 264: io.deephaven.proto.backplane.grpc.TableService.EmptyTable:input_type -> io.deephaven.proto.backplane.grpc.EmptyTableRequest + 19, // 265: io.deephaven.proto.backplane.grpc.TableService.TimeTable:input_type -> io.deephaven.proto.backplane.grpc.TimeTableRequest + 27, // 266: io.deephaven.proto.backplane.grpc.TableService.DropColumns:input_type -> io.deephaven.proto.backplane.grpc.DropColumnsRequest + 20, // 267: io.deephaven.proto.backplane.grpc.TableService.Update:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 20, // 268: io.deephaven.proto.backplane.grpc.TableService.LazyUpdate:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 20, // 269: io.deephaven.proto.backplane.grpc.TableService.View:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 20, // 270: io.deephaven.proto.backplane.grpc.TableService.UpdateView:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 20, // 271: io.deephaven.proto.backplane.grpc.TableService.Select:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 25, // 272: io.deephaven.proto.backplane.grpc.TableService.UpdateBy:input_type -> io.deephaven.proto.backplane.grpc.UpdateByRequest + 26, // 273: io.deephaven.proto.backplane.grpc.TableService.SelectDistinct:input_type -> io.deephaven.proto.backplane.grpc.SelectDistinctRequest + 49, // 274: io.deephaven.proto.backplane.grpc.TableService.Filter:input_type -> io.deephaven.proto.backplane.grpc.FilterTableRequest + 28, // 275: io.deephaven.proto.backplane.grpc.TableService.UnstructuredFilter:input_type -> io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest + 48, // 276: io.deephaven.proto.backplane.grpc.TableService.Sort:input_type -> io.deephaven.proto.backplane.grpc.SortTableRequest + 29, // 277: io.deephaven.proto.backplane.grpc.TableService.Head:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest + 29, // 278: io.deephaven.proto.backplane.grpc.TableService.Tail:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest + 30, // 279: io.deephaven.proto.backplane.grpc.TableService.HeadBy:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest + 30, // 280: io.deephaven.proto.backplane.grpc.TableService.TailBy:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest + 31, // 281: io.deephaven.proto.backplane.grpc.TableService.Ungroup:input_type -> io.deephaven.proto.backplane.grpc.UngroupRequest + 32, // 282: io.deephaven.proto.backplane.grpc.TableService.MergeTables:input_type -> io.deephaven.proto.backplane.grpc.MergeTablesRequest + 35, // 283: io.deephaven.proto.backplane.grpc.TableService.CrossJoinTables:input_type -> io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest + 36, // 284: io.deephaven.proto.backplane.grpc.TableService.NaturalJoinTables:input_type -> io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest + 37, // 285: io.deephaven.proto.backplane.grpc.TableService.ExactJoinTables:input_type -> io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest + 38, // 286: io.deephaven.proto.backplane.grpc.TableService.LeftJoinTables:input_type -> io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest + 39, // 287: io.deephaven.proto.backplane.grpc.TableService.AsOfJoinTables:input_type -> io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest + 40, // 288: io.deephaven.proto.backplane.grpc.TableService.AjTables:input_type -> io.deephaven.proto.backplane.grpc.AjRajTablesRequest + 40, // 289: io.deephaven.proto.backplane.grpc.TableService.RajTables:input_type -> io.deephaven.proto.backplane.grpc.AjRajTablesRequest + 41, // 290: io.deephaven.proto.backplane.grpc.TableService.RangeJoinTables:input_type -> io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest + 42, // 291: io.deephaven.proto.backplane.grpc.TableService.ComboAggregate:input_type -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest + 43, // 292: io.deephaven.proto.backplane.grpc.TableService.AggregateAll:input_type -> io.deephaven.proto.backplane.grpc.AggregateAllRequest + 45, // 293: io.deephaven.proto.backplane.grpc.TableService.Aggregate:input_type -> io.deephaven.proto.backplane.grpc.AggregateRequest + 33, // 294: io.deephaven.proto.backplane.grpc.TableService.Snapshot:input_type -> io.deephaven.proto.backplane.grpc.SnapshotTableRequest + 34, // 295: io.deephaven.proto.backplane.grpc.TableService.SnapshotWhen:input_type -> io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest + 66, // 296: io.deephaven.proto.backplane.grpc.TableService.Flatten:input_type -> io.deephaven.proto.backplane.grpc.FlattenRequest + 68, // 297: io.deephaven.proto.backplane.grpc.TableService.RunChartDownsample:input_type -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest + 69, // 298: io.deephaven.proto.backplane.grpc.TableService.CreateInputTable:input_type -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest + 70, // 299: io.deephaven.proto.backplane.grpc.TableService.WhereIn:input_type -> io.deephaven.proto.backplane.grpc.WhereInRequest + 71, // 300: io.deephaven.proto.backplane.grpc.TableService.Batch:input_type -> io.deephaven.proto.backplane.grpc.BatchTableRequest + 16, // 301: io.deephaven.proto.backplane.grpc.TableService.ExportedTableUpdates:input_type -> io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest + 50, // 302: io.deephaven.proto.backplane.grpc.TableService.SeekRow:input_type -> io.deephaven.proto.backplane.grpc.SeekRowRequest + 67, // 303: io.deephaven.proto.backplane.grpc.TableService.MetaTable:input_type -> io.deephaven.proto.backplane.grpc.MetaTableRequest + 13, // 304: io.deephaven.proto.backplane.grpc.TableService.GetExportedTableCreationResponse:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 305: io.deephaven.proto.backplane.grpc.TableService.FetchTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 306: io.deephaven.proto.backplane.grpc.TableService.ApplyPreviewColumns:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 307: io.deephaven.proto.backplane.grpc.TableService.EmptyTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 308: io.deephaven.proto.backplane.grpc.TableService.TimeTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 309: io.deephaven.proto.backplane.grpc.TableService.DropColumns:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 310: io.deephaven.proto.backplane.grpc.TableService.Update:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 311: io.deephaven.proto.backplane.grpc.TableService.LazyUpdate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 312: io.deephaven.proto.backplane.grpc.TableService.View:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 313: io.deephaven.proto.backplane.grpc.TableService.UpdateView:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 314: io.deephaven.proto.backplane.grpc.TableService.Select:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 315: io.deephaven.proto.backplane.grpc.TableService.UpdateBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 316: io.deephaven.proto.backplane.grpc.TableService.SelectDistinct:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 317: io.deephaven.proto.backplane.grpc.TableService.Filter:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 318: io.deephaven.proto.backplane.grpc.TableService.UnstructuredFilter:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 319: io.deephaven.proto.backplane.grpc.TableService.Sort:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 320: io.deephaven.proto.backplane.grpc.TableService.Head:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 321: io.deephaven.proto.backplane.grpc.TableService.Tail:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 322: io.deephaven.proto.backplane.grpc.TableService.HeadBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 323: io.deephaven.proto.backplane.grpc.TableService.TailBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 324: io.deephaven.proto.backplane.grpc.TableService.Ungroup:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 325: io.deephaven.proto.backplane.grpc.TableService.MergeTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 326: io.deephaven.proto.backplane.grpc.TableService.CrossJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 327: io.deephaven.proto.backplane.grpc.TableService.NaturalJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 328: io.deephaven.proto.backplane.grpc.TableService.ExactJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 329: io.deephaven.proto.backplane.grpc.TableService.LeftJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 330: io.deephaven.proto.backplane.grpc.TableService.AsOfJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 331: io.deephaven.proto.backplane.grpc.TableService.AjTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 332: io.deephaven.proto.backplane.grpc.TableService.RajTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 333: io.deephaven.proto.backplane.grpc.TableService.RangeJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 334: io.deephaven.proto.backplane.grpc.TableService.ComboAggregate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 335: io.deephaven.proto.backplane.grpc.TableService.AggregateAll:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 336: io.deephaven.proto.backplane.grpc.TableService.Aggregate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 337: io.deephaven.proto.backplane.grpc.TableService.Snapshot:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 338: io.deephaven.proto.backplane.grpc.TableService.SnapshotWhen:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 339: io.deephaven.proto.backplane.grpc.TableService.Flatten:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 340: io.deephaven.proto.backplane.grpc.TableService.RunChartDownsample:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 341: io.deephaven.proto.backplane.grpc.TableService.CreateInputTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 342: io.deephaven.proto.backplane.grpc.TableService.WhereIn:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 13, // 343: io.deephaven.proto.backplane.grpc.TableService.Batch:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 17, // 344: io.deephaven.proto.backplane.grpc.TableService.ExportedTableUpdates:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage + 51, // 345: io.deephaven.proto.backplane.grpc.TableService.SeekRow:output_type -> io.deephaven.proto.backplane.grpc.SeekRowResponse + 13, // 346: io.deephaven.proto.backplane.grpc.TableService.MetaTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 304, // [304:347] is the sub-list for method output_type + 261, // [261:304] is the sub-list for method input_type + 261, // [261:261] is the sub-list for extension type_name + 261, // [261:261] is the sub-list for extension extendee + 0, // [0:261] is the sub-list for field type_name } func init() { file_deephaven_proto_table_proto_init() } @@ -12455,7 +12639,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RangeJoinTablesRequest); i { + switch v := v.(*AjRajTablesRequest); i { case 0: return &v.state case 1: @@ -12467,7 +12651,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComboAggregateRequest); i { + switch v := v.(*RangeJoinTablesRequest); i { case 0: return &v.state case 1: @@ -12479,7 +12663,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregateAllRequest); i { + switch v := v.(*ComboAggregateRequest); i { case 0: return &v.state case 1: @@ -12491,7 +12675,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec); i { + switch v := v.(*AggregateAllRequest); i { case 0: return &v.state case 1: @@ -12503,7 +12687,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregateRequest); i { + switch v := v.(*AggSpec); i { case 0: return &v.state case 1: @@ -12515,7 +12699,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Aggregation); i { + switch v := v.(*AggregateRequest); i { case 0: return &v.state case 1: @@ -12527,7 +12711,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SortDescriptor); i { + switch v := v.(*Aggregation); i { case 0: return &v.state case 1: @@ -12539,7 +12723,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SortTableRequest); i { + switch v := v.(*SortDescriptor); i { case 0: return &v.state case 1: @@ -12551,7 +12735,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterTableRequest); i { + switch v := v.(*SortTableRequest); i { case 0: return &v.state case 1: @@ -12563,7 +12747,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SeekRowRequest); i { + switch v := v.(*FilterTableRequest); i { case 0: return &v.state case 1: @@ -12575,7 +12759,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SeekRowResponse); i { + switch v := v.(*SeekRowRequest); i { case 0: return &v.state case 1: @@ -12587,7 +12771,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Reference); i { + switch v := v.(*SeekRowResponse); i { case 0: return &v.state case 1: @@ -12599,7 +12783,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Literal); i { + switch v := v.(*Reference); i { case 0: return &v.state case 1: @@ -12611,7 +12795,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Value); i { + switch v := v.(*Literal); i { case 0: return &v.state case 1: @@ -12623,7 +12807,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Condition); i { + switch v := v.(*Value); i { case 0: return &v.state case 1: @@ -12635,7 +12819,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AndCondition); i { + switch v := v.(*Condition); i { case 0: return &v.state case 1: @@ -12647,7 +12831,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrCondition); i { + switch v := v.(*AndCondition); i { case 0: return &v.state case 1: @@ -12659,7 +12843,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NotCondition); i { + switch v := v.(*OrCondition); i { case 0: return &v.state case 1: @@ -12671,7 +12855,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompareCondition); i { + switch v := v.(*NotCondition); i { case 0: return &v.state case 1: @@ -12683,7 +12867,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InCondition); i { + switch v := v.(*CompareCondition); i { case 0: return &v.state case 1: @@ -12695,7 +12879,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InvokeCondition); i { + switch v := v.(*InCondition); i { case 0: return &v.state case 1: @@ -12707,7 +12891,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IsNullCondition); i { + switch v := v.(*InvokeCondition); i { case 0: return &v.state case 1: @@ -12719,7 +12903,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MatchesCondition); i { + switch v := v.(*IsNullCondition); i { case 0: return &v.state case 1: @@ -12731,7 +12915,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContainsCondition); i { + switch v := v.(*MatchesCondition); i { case 0: return &v.state case 1: @@ -12743,7 +12927,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchCondition); i { + switch v := v.(*ContainsCondition); i { case 0: return &v.state case 1: @@ -12755,7 +12939,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlattenRequest); i { + switch v := v.(*SearchCondition); i { case 0: return &v.state case 1: @@ -12767,7 +12951,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetaTableRequest); i { + switch v := v.(*FlattenRequest); i { case 0: return &v.state case 1: @@ -12779,7 +12963,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunChartDownsampleRequest); i { + switch v := v.(*MetaTableRequest); i { case 0: return &v.state case 1: @@ -12791,7 +12975,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInputTableRequest); i { + switch v := v.(*RunChartDownsampleRequest); i { case 0: return &v.state case 1: @@ -12803,7 +12987,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WhereInRequest); i { + switch v := v.(*CreateInputTableRequest); i { case 0: return &v.state case 1: @@ -12815,7 +12999,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchTableRequest); i { + switch v := v.(*WhereInRequest); i { case 0: return &v.state case 1: @@ -12827,7 +13011,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByWindowScale_UpdateByWindowTicks); i { + switch v := v.(*BatchTableRequest); i { case 0: return &v.state case 1: @@ -12839,7 +13023,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByWindowScale_UpdateByWindowTime); i { + switch v := v.(*UpdateByWindowScale_UpdateByWindowTicks); i { case 0: return &v.state case 1: @@ -12851,7 +13035,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOptions); i { + switch v := v.(*UpdateByWindowScale_UpdateByWindowTime); i { case 0: return &v.state case 1: @@ -12863,7 +13047,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation); i { + switch v := v.(*UpdateByRequest_UpdateByOptions); i { case 0: return &v.state case 1: @@ -12875,7 +13059,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn); i { + switch v := v.(*UpdateByRequest_UpdateByOperation); i { case 0: return &v.state case 1: @@ -12887,7 +13071,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn); i { case 0: return &v.state case 1: @@ -12899,7 +13083,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec); i { case 0: return &v.state case 1: @@ -12911,7 +13095,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum); i { case 0: return &v.state case 1: @@ -12923,7 +13107,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin); i { case 0: return &v.state case 1: @@ -12935,7 +13119,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax); i { case 0: return &v.state case 1: @@ -12947,7 +13131,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct); i { case 0: return &v.state case 1: @@ -12959,7 +13143,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill); i { case 0: return &v.state case 1: @@ -12971,7 +13155,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEms); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma); i { case 0: return &v.state case 1: @@ -12983,7 +13167,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMin); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEms); i { case 0: return &v.state case 1: @@ -12995,7 +13179,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMax); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMin); i { case 0: return &v.state case 1: @@ -13007,7 +13191,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmStd); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmMax); i { case 0: return &v.state case 1: @@ -13019,7 +13203,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByDelta); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEmStd); i { case 0: return &v.state case 1: @@ -13031,7 +13215,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingSum); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByDelta); i { case 0: return &v.state case 1: @@ -13043,7 +13227,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingGroup); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingSum); i { case 0: return &v.state case 1: @@ -13055,7 +13239,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingAvg); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingGroup); i { case 0: return &v.state case 1: @@ -13067,7 +13251,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMin); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingAvg); i { case 0: return &v.state case 1: @@ -13079,7 +13263,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMax); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMin); i { case 0: return &v.state case 1: @@ -13091,7 +13275,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingProduct); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingMax); i { case 0: return &v.state case 1: @@ -13103,7 +13287,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingCount); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingProduct); i { case 0: return &v.state case 1: @@ -13115,7 +13299,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingStd); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingCount); i { case 0: return &v.state case 1: @@ -13127,7 +13311,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingWAvg); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingStd); i { case 0: return &v.state case 1: @@ -13139,7 +13323,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComboAggregateRequest_Aggregate); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByRollingWAvg); i { case 0: return &v.state case 1: @@ -13151,7 +13335,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecApproximatePercentile); i { + switch v := v.(*ComboAggregateRequest_Aggregate); i { case 0: return &v.state case 1: @@ -13163,7 +13347,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecCountDistinct); i { + switch v := v.(*AggSpec_AggSpecApproximatePercentile); i { case 0: return &v.state case 1: @@ -13175,7 +13359,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecDistinct); i { + switch v := v.(*AggSpec_AggSpecCountDistinct); i { case 0: return &v.state case 1: @@ -13187,7 +13371,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecFormula); i { + switch v := v.(*AggSpec_AggSpecDistinct); i { case 0: return &v.state case 1: @@ -13199,7 +13383,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecMedian); i { + switch v := v.(*AggSpec_AggSpecFormula); i { case 0: return &v.state case 1: @@ -13211,7 +13395,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecPercentile); i { + switch v := v.(*AggSpec_AggSpecMedian); i { case 0: return &v.state case 1: @@ -13223,7 +13407,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecSorted); i { + switch v := v.(*AggSpec_AggSpecPercentile); i { case 0: return &v.state case 1: @@ -13235,7 +13419,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecSortedColumn); i { + switch v := v.(*AggSpec_AggSpecSorted); i { case 0: return &v.state case 1: @@ -13247,7 +13431,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecTDigest); i { + switch v := v.(*AggSpec_AggSpecSortedColumn); i { case 0: return &v.state case 1: @@ -13259,7 +13443,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecUnique); i { + switch v := v.(*AggSpec_AggSpecTDigest); i { case 0: return &v.state case 1: @@ -13271,7 +13455,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecNonUniqueSentinel); i { + switch v := v.(*AggSpec_AggSpecUnique); i { case 0: return &v.state case 1: @@ -13283,7 +13467,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecWeighted); i { + switch v := v.(*AggSpec_AggSpecNonUniqueSentinel); i { case 0: return &v.state case 1: @@ -13295,7 +13479,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecAbsSum); i { + switch v := v.(*AggSpec_AggSpecWeighted); i { case 0: return &v.state case 1: @@ -13307,7 +13491,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecAvg); i { + switch v := v.(*AggSpec_AggSpecAbsSum); i { case 0: return &v.state case 1: @@ -13319,7 +13503,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecFirst); i { + switch v := v.(*AggSpec_AggSpecAvg); i { case 0: return &v.state case 1: @@ -13331,7 +13515,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecFreeze); i { + switch v := v.(*AggSpec_AggSpecFirst); i { case 0: return &v.state case 1: @@ -13343,7 +13527,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecGroup); i { + switch v := v.(*AggSpec_AggSpecFreeze); i { case 0: return &v.state case 1: @@ -13355,7 +13539,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecLast); i { + switch v := v.(*AggSpec_AggSpecGroup); i { case 0: return &v.state case 1: @@ -13367,7 +13551,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecMax); i { + switch v := v.(*AggSpec_AggSpecLast); i { case 0: return &v.state case 1: @@ -13379,7 +13563,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecMin); i { + switch v := v.(*AggSpec_AggSpecMax); i { case 0: return &v.state case 1: @@ -13391,7 +13575,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecStd); i { + switch v := v.(*AggSpec_AggSpecMin); i { case 0: return &v.state case 1: @@ -13403,7 +13587,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecSum); i { + switch v := v.(*AggSpec_AggSpecStd); i { case 0: return &v.state case 1: @@ -13415,7 +13599,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecVar); i { + switch v := v.(*AggSpec_AggSpecSum); i { case 0: return &v.state case 1: @@ -13427,7 +13611,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Aggregation_AggregationColumns); i { + switch v := v.(*AggSpec_AggSpecVar); i { case 0: return &v.state case 1: @@ -13439,7 +13623,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Aggregation_AggregationCount); i { + switch v := v.(*Aggregation_AggregationColumns); i { case 0: return &v.state case 1: @@ -13451,7 +13635,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Aggregation_AggregationRowKey); i { + switch v := v.(*Aggregation_AggregationCount); i { case 0: return &v.state case 1: @@ -13463,7 +13647,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Aggregation_AggregationPartition); i { + switch v := v.(*Aggregation_AggregationRowKey); i { case 0: return &v.state case 1: @@ -13475,7 +13659,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunChartDownsampleRequest_ZoomRange); i { + switch v := v.(*Aggregation_AggregationPartition); i { case 0: return &v.state case 1: @@ -13487,7 +13671,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInputTableRequest_InputTableKind); i { + switch v := v.(*RunChartDownsampleRequest_ZoomRange); i { case 0: return &v.state case 1: @@ -13499,7 +13683,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly); i { + switch v := v.(*CreateInputTableRequest_InputTableKind); i { case 0: return &v.state case 1: @@ -13511,7 +13695,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked); i { + switch v := v.(*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly); i { case 0: return &v.state case 1: @@ -13523,6 +13707,18 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_table_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchTableRequest_Operation); i { case 0: return &v.state @@ -13543,7 +13739,7 @@ func file_deephaven_proto_table_proto_init() { (*UpdateByWindowScale_Ticks)(nil), (*UpdateByWindowScale_Time)(nil), } - file_deephaven_proto_table_proto_msgTypes[31].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[32].OneofWrappers = []interface{}{ (*AggSpec_AbsSum)(nil), (*AggSpec_ApproximatePercentile)(nil), (*AggSpec_Avg)(nil), @@ -13568,25 +13764,25 @@ func file_deephaven_proto_table_proto_init() { (*AggSpec_WeightedSum)(nil), (*AggSpec_Var)(nil), } - file_deephaven_proto_table_proto_msgTypes[33].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[34].OneofWrappers = []interface{}{ (*Aggregation_Columns)(nil), (*Aggregation_Count)(nil), (*Aggregation_FirstRowKey)(nil), (*Aggregation_LastRowKey)(nil), (*Aggregation_Partition)(nil), } - file_deephaven_proto_table_proto_msgTypes[40].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[41].OneofWrappers = []interface{}{ (*Literal_StringValue)(nil), (*Literal_DoubleValue)(nil), (*Literal_BoolValue)(nil), (*Literal_LongValue)(nil), (*Literal_NanoTimeValue)(nil), } - file_deephaven_proto_table_proto_msgTypes[41].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[42].OneofWrappers = []interface{}{ (*Value_Reference)(nil), (*Value_Literal)(nil), } - file_deephaven_proto_table_proto_msgTypes[42].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[43].OneofWrappers = []interface{}{ (*Condition_And)(nil), (*Condition_Or)(nil), (*Condition_Not)(nil), @@ -13598,15 +13794,15 @@ func file_deephaven_proto_table_proto_init() { (*Condition_Contains)(nil), (*Condition_Search)(nil), } - file_deephaven_proto_table_proto_msgTypes[56].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[57].OneofWrappers = []interface{}{ (*CreateInputTableRequest_SourceTableId)(nil), (*CreateInputTableRequest_Schema)(nil), } - file_deephaven_proto_table_proto_msgTypes[61].OneofWrappers = []interface{}{} - file_deephaven_proto_table_proto_msgTypes[62].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[62].OneofWrappers = []interface{}{} + file_deephaven_proto_table_proto_msgTypes[63].OneofWrappers = []interface{}{ (*UpdateByRequest_UpdateByOperation_Column)(nil), } - file_deephaven_proto_table_proto_msgTypes[64].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[65].OneofWrappers = []interface{}{ (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_Sum)(nil), (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_Min)(nil), (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_Max)(nil), @@ -13628,9 +13824,9 @@ func file_deephaven_proto_table_proto_init() { (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_RollingStd)(nil), (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_RollingWavg)(nil), } - file_deephaven_proto_table_proto_msgTypes[86].OneofWrappers = []interface{}{} - file_deephaven_proto_table_proto_msgTypes[94].OneofWrappers = []interface{}{} - file_deephaven_proto_table_proto_msgTypes[96].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[87].OneofWrappers = []interface{}{} + file_deephaven_proto_table_proto_msgTypes[95].OneofWrappers = []interface{}{} + file_deephaven_proto_table_proto_msgTypes[97].OneofWrappers = []interface{}{ (*AggSpec_AggSpecNonUniqueSentinel_NullValue)(nil), (*AggSpec_AggSpecNonUniqueSentinel_StringValue)(nil), (*AggSpec_AggSpecNonUniqueSentinel_IntValue)(nil), @@ -13642,12 +13838,12 @@ func file_deephaven_proto_table_proto_init() { (*AggSpec_AggSpecNonUniqueSentinel_ShortValue)(nil), (*AggSpec_AggSpecNonUniqueSentinel_CharValue)(nil), } - file_deephaven_proto_table_proto_msgTypes[113].OneofWrappers = []interface{}{} - file_deephaven_proto_table_proto_msgTypes[114].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[114].OneofWrappers = []interface{}{} + file_deephaven_proto_table_proto_msgTypes[115].OneofWrappers = []interface{}{ (*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly_)(nil), (*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked_)(nil), } - file_deephaven_proto_table_proto_msgTypes[117].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[118].OneofWrappers = []interface{}{ (*BatchTableRequest_Operation_EmptyTable)(nil), (*BatchTableRequest_Operation_TimeTable)(nil), (*BatchTableRequest_Operation_DropColumns)(nil), @@ -13685,6 +13881,8 @@ func file_deephaven_proto_table_proto_init() { (*BatchTableRequest_Operation_SnapshotWhen)(nil), (*BatchTableRequest_Operation_MetaTable)(nil), (*BatchTableRequest_Operation_RangeJoin)(nil), + (*BatchTableRequest_Operation_Aj)(nil), + (*BatchTableRequest_Operation_Raj)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -13692,7 +13890,7 @@ func file_deephaven_proto_table_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_deephaven_proto_table_proto_rawDesc, NumEnums: 12, - NumMessages: 118, + NumMessages: 119, NumExtensions: 0, NumServices: 1, }, diff --git a/go/internal/proto/table/table_grpc.pb.go b/go/internal/proto/table/table_grpc.pb.go index e4ea7e890f6..5e3bcab73a7 100644 --- a/go/internal/proto/table/table_grpc.pb.go +++ b/go/internal/proto/table/table_grpc.pb.go @@ -76,8 +76,16 @@ type TableServiceClient interface { ExactJoinTables(ctx context.Context, in *ExactJoinTablesRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) // Returns the result of a left join operation. LeftJoinTables(ctx context.Context, in *LeftJoinTablesRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) + // Deprecated: Do not use. + // // Returns the result of an as of join operation. + // + // Deprecated: Please use AjTables or RajTables. AsOfJoinTables(ctx context.Context, in *AsOfJoinTablesRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) + // Returns the result of an aj operation. + AjTables(ctx context.Context, in *AjRajTablesRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) + // Returns the result of an raj operation. + RajTables(ctx context.Context, in *AjRajTablesRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) // Returns the result of a range join operation. RangeJoinTables(ctx context.Context, in *RangeJoinTablesRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) // Deprecated: Do not use. @@ -375,6 +383,7 @@ func (c *tableServiceClient) LeftJoinTables(ctx context.Context, in *LeftJoinTab return out, nil } +// Deprecated: Do not use. func (c *tableServiceClient) AsOfJoinTables(ctx context.Context, in *AsOfJoinTablesRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) { out := new(ExportedTableCreationResponse) err := c.cc.Invoke(ctx, "/io.deephaven.proto.backplane.grpc.TableService/AsOfJoinTables", in, out, opts...) @@ -384,6 +393,24 @@ func (c *tableServiceClient) AsOfJoinTables(ctx context.Context, in *AsOfJoinTab return out, nil } +func (c *tableServiceClient) AjTables(ctx context.Context, in *AjRajTablesRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) { + out := new(ExportedTableCreationResponse) + err := c.cc.Invoke(ctx, "/io.deephaven.proto.backplane.grpc.TableService/AjTables", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tableServiceClient) RajTables(ctx context.Context, in *AjRajTablesRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) { + out := new(ExportedTableCreationResponse) + err := c.cc.Invoke(ctx, "/io.deephaven.proto.backplane.grpc.TableService/RajTables", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *tableServiceClient) RangeJoinTables(ctx context.Context, in *RangeJoinTablesRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) { out := new(ExportedTableCreationResponse) err := c.cc.Invoke(ctx, "/io.deephaven.proto.backplane.grpc.TableService/RangeJoinTables", in, out, opts...) @@ -614,8 +641,16 @@ type TableServiceServer interface { ExactJoinTables(context.Context, *ExactJoinTablesRequest) (*ExportedTableCreationResponse, error) // Returns the result of a left join operation. LeftJoinTables(context.Context, *LeftJoinTablesRequest) (*ExportedTableCreationResponse, error) + // Deprecated: Do not use. + // // Returns the result of an as of join operation. + // + // Deprecated: Please use AjTables or RajTables. AsOfJoinTables(context.Context, *AsOfJoinTablesRequest) (*ExportedTableCreationResponse, error) + // Returns the result of an aj operation. + AjTables(context.Context, *AjRajTablesRequest) (*ExportedTableCreationResponse, error) + // Returns the result of an raj operation. + RajTables(context.Context, *AjRajTablesRequest) (*ExportedTableCreationResponse, error) // Returns the result of a range join operation. RangeJoinTables(context.Context, *RangeJoinTablesRequest) (*ExportedTableCreationResponse, error) // Deprecated: Do not use. @@ -757,6 +792,12 @@ func (UnimplementedTableServiceServer) LeftJoinTables(context.Context, *LeftJoin func (UnimplementedTableServiceServer) AsOfJoinTables(context.Context, *AsOfJoinTablesRequest) (*ExportedTableCreationResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AsOfJoinTables not implemented") } +func (UnimplementedTableServiceServer) AjTables(context.Context, *AjRajTablesRequest) (*ExportedTableCreationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AjTables not implemented") +} +func (UnimplementedTableServiceServer) RajTables(context.Context, *AjRajTablesRequest) (*ExportedTableCreationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RajTables not implemented") +} func (UnimplementedTableServiceServer) RangeJoinTables(context.Context, *RangeJoinTablesRequest) (*ExportedTableCreationResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RangeJoinTables not implemented") } @@ -1298,6 +1339,42 @@ func _TableService_AsOfJoinTables_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _TableService_AjTables_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AjRajTablesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TableServiceServer).AjTables(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/io.deephaven.proto.backplane.grpc.TableService/AjTables", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TableServiceServer).AjTables(ctx, req.(*AjRajTablesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TableService_RajTables_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AjRajTablesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TableServiceServer).RajTables(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/io.deephaven.proto.backplane.grpc.TableService/RajTables", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TableServiceServer).RajTables(ctx, req.(*AjRajTablesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _TableService_RangeJoinTables_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(RangeJoinTablesRequest) if err := dec(in); err != nil { @@ -1671,6 +1748,14 @@ var TableService_ServiceDesc = grpc.ServiceDesc{ MethodName: "AsOfJoinTables", Handler: _TableService_AsOfJoinTables_Handler, }, + { + MethodName: "AjTables", + Handler: _TableService_AjTables_Handler, + }, + { + MethodName: "RajTables", + Handler: _TableService_RajTables_Handler, + }, { MethodName: "RangeJoinTables", Handler: _TableService_RangeJoinTables_Handler, diff --git a/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java b/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java index 1d99f59f7e1..a90da5bcaf9 100644 --- a/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java +++ b/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java @@ -26,13 +26,13 @@ import io.deephaven.api.filter.FilterNot; import io.deephaven.api.filter.FilterOr; import io.deephaven.api.filter.FilterPattern; +import io.deephaven.api.literal.Literal; import io.deephaven.api.snapshot.SnapshotWhenOptions; import io.deephaven.api.snapshot.SnapshotWhenOptions.Flag; -import io.deephaven.api.literal.Literal; import io.deephaven.proto.backplane.grpc.AggregateAllRequest; import io.deephaven.proto.backplane.grpc.AggregateRequest; +import io.deephaven.proto.backplane.grpc.AjRajTablesRequest; import io.deephaven.proto.backplane.grpc.AndCondition; -import io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest; import io.deephaven.proto.backplane.grpc.BatchTableRequest; import io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation; import io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.Builder; @@ -50,7 +50,6 @@ import io.deephaven.proto.backplane.grpc.FetchTableRequest; import io.deephaven.proto.backplane.grpc.FilterTableRequest; import io.deephaven.proto.backplane.grpc.HeadOrTailRequest; -import io.deephaven.proto.backplane.grpc.InCondition; import io.deephaven.proto.backplane.grpc.IsNullCondition; import io.deephaven.proto.backplane.grpc.MergeTablesRequest; import io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest; @@ -58,7 +57,6 @@ import io.deephaven.proto.backplane.grpc.OrCondition; import io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest; import io.deephaven.proto.backplane.grpc.Reference; -import io.deephaven.proto.backplane.grpc.SearchCondition; import io.deephaven.proto.backplane.grpc.SelectDistinctRequest; import io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest; import io.deephaven.proto.backplane.grpc.SnapshotTableRequest; @@ -372,39 +370,19 @@ public void visit(JoinTable j) { } @Override - public void visit(AsOfJoinTable aj) { - // TODO: add new as-of join RPC - AsOfJoinTablesRequest.Builder builder = AsOfJoinTablesRequest.newBuilder() + public void visit(AsOfJoinTable asOfJoin) { + AjRajTablesRequest.Builder builder = AjRajTablesRequest.newBuilder() .setResultId(ticket) - .setLeftId(ref(aj.left())) - .setRightId(ref(aj.right())) - .setAsOfMatchRule(adapt(aj.joinMatch().joinRule())); - for (JoinMatch match : aj.matches()) { - builder.addColumnsToMatch(Strings.of(match)); + .setLeftId(ref(asOfJoin.left())) + .setRightId(ref(asOfJoin.right())); + for (JoinMatch match : asOfJoin.matches()) { + builder.addExactMatchColumns(Strings.of(match)); } - final String lastColumn = aj.joinMatch().leftColumn().name() - + aj.joinMatch().joinRule().operatorString() - + aj.joinMatch().rightColumn().name(); - builder.addColumnsToMatch(lastColumn); - for (JoinAddition addition : aj.additions()) { + builder.setAsOfColumn(asOfJoin.joinMatch().toRpcString()); + for (JoinAddition addition : asOfJoin.additions()) { builder.addColumnsToAdd(Strings.of(addition)); } - out = op(Builder::setAsOfJoin, builder.build()); - } - - private static AsOfJoinTablesRequest.MatchRule adapt(AsOfJoinRule rule) { - switch (rule) { - case LESS_THAN_EQUAL: - return AsOfJoinTablesRequest.MatchRule.GREATER_THAN_EQUAL; - case LESS_THAN: - return AsOfJoinTablesRequest.MatchRule.GREATER_THAN; - case GREATER_THAN_EQUAL: - return AsOfJoinTablesRequest.MatchRule.LESS_THAN_EQUAL; - case GREATER_THAN: - return AsOfJoinTablesRequest.MatchRule.LESS_THAN; - default: - throw new IllegalArgumentException(String.format("Unrecognized AsOfJoinRule %s", rule)); - } + out = op(asOfJoin.isAj() ? Builder::setAj : Builder::setRaj, builder.build()); } @Override diff --git a/proto/proto-backplane-grpc/src/main/java/io/deephaven/proto/util/OperationHelper.java b/proto/proto-backplane-grpc/src/main/java/io/deephaven/proto/util/OperationHelper.java index 5f7bc37f374..9ddb1b6a984 100644 --- a/proto/proto-backplane-grpc/src/main/java/io/deephaven/proto/util/OperationHelper.java +++ b/proto/proto-backplane-grpc/src/main/java/io/deephaven/proto/util/OperationHelper.java @@ -62,6 +62,10 @@ public static Stream getSourceIds(Operation op) { return Stream.of(op.getLeftJoin().getLeftId(), op.getLeftJoin().getRightId()); case AS_OF_JOIN: return Stream.of(op.getAsOfJoin().getLeftId(), op.getAsOfJoin().getRightId()); + case AJ: + return Stream.of(op.getAj().getLeftId(), op.getAj().getRightId()); + case RAJ: + return Stream.of(op.getRaj().getLeftId(), op.getRaj().getRightId()); case COMBO_AGGREGATE: return Stream.of(op.getComboAggregate().getSourceId()); case AGGREGATE_ALL: diff --git a/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto b/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto index 4ba438372fb..c22aa2c7cca 100644 --- a/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto +++ b/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto @@ -145,8 +145,22 @@ service TableService { /* * Returns the result of an as of join operation. + * + * Deprecated: Please use AjTables or RajTables. + */ + rpc AsOfJoinTables(AsOfJoinTablesRequest) returns (ExportedTableCreationResponse) { + option deprecated = true; + } + + /* + * Returns the result of an aj operation. + */ + rpc AjTables(AjRajTablesRequest) returns (ExportedTableCreationResponse) {} + + /* + * Returns the result of an raj operation. */ - rpc AsOfJoinTables(AsOfJoinTablesRequest) returns (ExportedTableCreationResponse) {} + rpc RajTables(AjRajTablesRequest) returns (ExportedTableCreationResponse) {} /* * Returns the result of a range join operation. @@ -678,7 +692,9 @@ message LeftJoinTablesRequest { } message AsOfJoinTablesRequest { + option deprecated = true; enum MatchRule { + option deprecated = true; LESS_THAN_EQUAL = 0; LESS_THAN = 1; GREATER_THAN_EQUAL = 2; @@ -694,6 +710,20 @@ message AsOfJoinTablesRequest { MatchRule as_of_match_rule = 7; } +message AjRajTablesRequest { + Ticket result_id = 1; + TableReference left_id = 2; + TableReference right_id = 3; + repeated string exact_match_columns = 4; + // This is a comparison expression for the inexact as-of join match. In the case of an as-of join (aj), the comparison + // operator can be either ">=" or ">"; for example, "Foo>=Bar" or "Foo>Bar". In the case of a reverse-as-of join (raj), + // the comparison operator can be either "<=" or "<"; for example, "Foo<=Bar" or "Foo=Foo"; in the raj case, "Foo" is equivalent to "Foo<=Foo". + string as_of_column = 5; + repeated string columns_to_add = 6; +} + message RangeJoinTablesRequest { enum RangeStartRule { START_UNSPECIFIED = 0; @@ -1224,7 +1254,7 @@ message BatchTableRequest { NaturalJoinTablesRequest natural_join = 24; ExactJoinTablesRequest exact_join = 25; LeftJoinTablesRequest left_join = 26; - AsOfJoinTablesRequest as_of_join = 27; + AsOfJoinTablesRequest as_of_join = 27 [deprecated=true]; FetchTableRequest fetch_table = 28; ApplyPreviewColumnsRequest apply_preview_columns = 30; CreateInputTableRequest create_input_table = 31; @@ -1236,6 +1266,8 @@ message BatchTableRequest { SnapshotWhenTableRequest snapshot_when = 37; MetaTableRequest meta_table = 38; RangeJoinTablesRequest range_join = 39; + AjRajTablesRequest aj = 40; + AjRajTablesRequest raj = 41; } } } diff --git a/py/client/pydeephaven/proto/table_pb2.py b/py/client/pydeephaven/proto/table_pb2.py index 538128f15b0..149b91c52e3 100644 --- a/py/client/pydeephaven/proto/table_pb2.py +++ b/py/client/pydeephaven/proto/table_pb2.py @@ -14,7 +14,7 @@ from pydeephaven.proto import ticket_pb2 as deephaven_dot_proto_dot_ticket__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x64\x65\x65phaven/proto/table.proto\x12!io.deephaven.proto.backplane.grpc\x1a\x1c\x64\x65\x65phaven/proto/ticket.proto\"l\n\x0eTableReference\x12;\n\x06ticket\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketH\x00\x12\x16\n\x0c\x62\x61tch_offset\x18\x02 \x01(\x11H\x00\x42\x05\n\x03ref\"\xc6\x01\n\x1d\x45xportedTableCreationResponse\x12\x44\n\tresult_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x12\n\nerror_info\x18\x03 \x01(\t\x12\x15\n\rschema_header\x18\x04 \x01(\x0c\x12\x11\n\tis_static\x18\x05 \x01(\x08\x12\x10\n\x04size\x18\x06 \x01(\x12\x42\x02\x30\x01\"\x97\x01\n\x11\x46\x65tchTableRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\xa0\x01\n\x1a\x41pplyPreviewColumnsRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x1d\n\x1b\x45xportedTableUpdatesRequest\"\x8c\x01\n\x1a\x45xportedTableUpdateMessage\x12<\n\texport_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x1e\n\x16update_failure_message\x18\x03 \x01(\t\"c\n\x11\x45mptyTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\"\x88\x01\n\x10TimeTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x1c\n\x10start_time_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x18\n\x0cperiod_nanos\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xb1\x01\n\x15SelectOrUpdateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_specs\x18\x03 \x03(\t\"\x8c\x02\n\x0bMathContext\x12\x11\n\tprecision\x18\x01 \x01(\x11\x12R\n\rrounding_mode\x18\x02 \x01(\x0e\x32;.io.deephaven.proto.backplane.grpc.MathContext.RoundingMode\"\x95\x01\n\x0cRoundingMode\x12\x1f\n\x1bROUNDING_MODE_NOT_SPECIFIED\x10\x00\x12\x06\n\x02UP\x10\x01\x12\x08\n\x04\x44OWN\x10\x02\x12\x0b\n\x07\x43\x45ILING\x10\x03\x12\t\n\x05\x46LOOR\x10\x04\x12\x0b\n\x07HALF_UP\x10\x05\x12\r\n\tHALF_DOWN\x10\x06\x12\r\n\tHALF_EVEN\x10\x07\x12\x0f\n\x0bUNNECESSARY\x10\x08\"\xbb\x02\n\x13UpdateByWindowScale\x12[\n\x05ticks\x18\x01 \x01(\x0b\x32J.io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTicksH\x00\x12Y\n\x04time\x18\x02 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTimeH\x00\x1a$\n\x13UpdateByWindowTicks\x12\r\n\x05ticks\x18\x01 \x01(\x01\x1a>\n\x12UpdateByWindowTime\x12\x0e\n\x06\x63olumn\x18\x01 \x01(\t\x12\x18\n\x0cperiod_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x42\x06\n\x04type\"\xe1\x03\n\x11UpdateByEmOptions\x12I\n\ron_null_value\x18\x01 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12H\n\x0con_nan_value\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12H\n\x0con_null_time\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12R\n\x16on_negative_delta_time\x18\x04 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12N\n\x12on_zero_delta_time\x18\x05 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12I\n\x11\x62ig_value_context\x18\x06 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContext\"f\n\x14UpdateByDeltaOptions\x12N\n\rnull_behavior\x18\x01 \x01(\x0e\x32\x37.io.deephaven.proto.backplane.grpc.UpdateByNullBehavior\"\x99\x34\n\x0fUpdateByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12S\n\x07options\x18\x03 \x01(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions\x12X\n\noperations\x18\x04 \x03(\x0b\x32\x44.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation\x12\x18\n\x10group_by_columns\x18\x05 \x03(\t\x1a\xc3\x03\n\x0fUpdateByOptions\x12\x1c\n\x0fuse_redirection\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0e\x63hunk_capacity\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12.\n!max_static_sparse_memory_overhead\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12$\n\x17initial_hash_table_size\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12 \n\x13maximum_load_factor\x18\x05 \x01(\x01H\x04\x88\x01\x01\x12\x1f\n\x12target_load_factor\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12\x44\n\x0cmath_context\x18\x07 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContextB\x12\n\x10_use_redirectionB\x11\n\x0f_chunk_capacityB$\n\"_max_static_sparse_memory_overheadB\x1a\n\x18_initial_hash_table_sizeB\x16\n\x14_maximum_load_factorB\x15\n\x13_target_load_factor\x1a\xf2-\n\x11UpdateByOperation\x12\x65\n\x06\x63olumn\x18\x01 \x01(\x0b\x32S.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumnH\x00\x1a\xed,\n\x0eUpdateByColumn\x12n\n\x04spec\x18\x01 \x01(\x0b\x32`.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\xd5+\n\x0cUpdateBySpec\x12\x85\x01\n\x03sum\x18\x01 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSumH\x00\x12\x85\x01\n\x03min\x18\x02 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMinH\x00\x12\x85\x01\n\x03max\x18\x03 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMaxH\x00\x12\x8d\x01\n\x07product\x18\x04 \x01(\x0b\x32z.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProductH\x00\x12}\n\x04\x66ill\x18\x05 \x01(\x0b\x32m.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFillH\x00\x12{\n\x03\x65ma\x18\x06 \x01(\x0b\x32l.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmaH\x00\x12\x8a\x01\n\x0brolling_sum\x18\x07 \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSumH\x00\x12\x8e\x01\n\rrolling_group\x18\x08 \x01(\x0b\x32u.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroupH\x00\x12\x8a\x01\n\x0brolling_avg\x18\t \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvgH\x00\x12\x8a\x01\n\x0brolling_min\x18\n \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMinH\x00\x12\x8a\x01\n\x0brolling_max\x18\x0b \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMaxH\x00\x12\x92\x01\n\x0frolling_product\x18\x0c \x01(\x0b\x32w.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProductH\x00\x12\x7f\n\x05\x64\x65lta\x18\r \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByDeltaH\x00\x12{\n\x03\x65ms\x18\x0e \x01(\x0b\x32l.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmsH\x00\x12\x80\x01\n\x06\x65m_min\x18\x0f \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMinH\x00\x12\x80\x01\n\x06\x65m_max\x18\x10 \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMaxH\x00\x12\x80\x01\n\x06\x65m_std\x18\x11 \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStdH\x00\x12\x8e\x01\n\rrolling_count\x18\x12 \x01(\x0b\x32u.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCountH\x00\x12\x8a\x01\n\x0brolling_std\x18\x13 \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStdH\x00\x12\x8c\x01\n\x0crolling_wavg\x18\x14 \x01(\x0b\x32t.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvgH\x00\x1a\x17\n\x15UpdateByCumulativeSum\x1a\x17\n\x15UpdateByCumulativeMin\x1a\x17\n\x15UpdateByCumulativeMax\x1a\x1b\n\x19UpdateByCumulativeProduct\x1a\x0e\n\x0cUpdateByFill\x1a\xa2\x01\n\x0bUpdateByEma\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa2\x01\n\x0bUpdateByEms\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmMin\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmMax\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmStd\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1aY\n\rUpdateByDelta\x12H\n\x07options\x18\x01 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.UpdateByDeltaOptions\x1a\xc0\x01\n\x12UpdateByRollingSum\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc2\x01\n\x14UpdateByRollingGroup\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingAvg\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingMin\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingMax\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc4\x01\n\x16UpdateByRollingProduct\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc2\x01\n\x14UpdateByRollingCount\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingStd\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xd8\x01\n\x13UpdateByRollingWAvg\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12\x15\n\rweight_column\x18\x03 \x01(\tB\x06\n\x04typeB\x06\n\x04type\"\xb1\x01\n\x15SelectDistinctRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xae\x01\n\x12\x44ropColumnsRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xb5\x01\n\x1eUnstructuredFilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07\x66ilters\x18\x03 \x03(\t\"\xad\x01\n\x11HeadOrTailRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xce\x01\n\x13HeadOrTailByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\x12\x1d\n\x15group_by_column_specs\x18\x04 \x03(\t\"\xc3\x01\n\x0eUngroupRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x11\n\tnull_fill\x18\x03 \x01(\x08\x12\x1a\n\x12\x63olumns_to_ungroup\x18\x04 \x03(\t\"\xad\x01\n\x12MergeTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x45\n\nsource_ids\x18\x02 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x12\n\nkey_column\x18\x03 \x01(\t\"\x9a\x01\n\x14SnapshotTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb1\x02\n\x18SnapshotWhenTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07\x62\x61se_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x45\n\ntrigger_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07initial\x18\x04 \x01(\x08\x12\x13\n\x0bincremental\x18\x05 \x01(\x08\x12\x0f\n\x07history\x18\x06 \x01(\x08\x12\x15\n\rstamp_columns\x18\x07 \x03(\t\"\xa7\x02\n\x16\x43rossJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\x14\n\x0creserve_bits\x18\x06 \x01(\x05\"\x93\x02\n\x18NaturalJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x91\x02\n\x16\x45xactJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x90\x02\n\x15LeftJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\xc9\x03\n\x15\x41sOfJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\\\n\x10\x61s_of_match_rule\x18\x07 \x01(\x0e\x32\x42.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule\"Y\n\tMatchRule\x12\x13\n\x0fLESS_THAN_EQUAL\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12GREATER_THAN_EQUAL\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\"\xcb\x06\n\x16RangeJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x1b\n\x13\x65xact_match_columns\x18\x04 \x03(\t\x12\x19\n\x11left_start_column\x18\x05 \x01(\t\x12\x62\n\x10range_start_rule\x18\x06 \x01(\x0e\x32H.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeStartRule\x12\x1a\n\x12right_range_column\x18\x07 \x01(\t\x12^\n\x0erange_end_rule\x18\x08 \x01(\x0e\x32\x46.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeEndRule\x12\x17\n\x0fleft_end_column\x18\t \x01(\t\x12\x44\n\x0c\x61ggregations\x18\n \x03(\x0b\x32..io.deephaven.proto.backplane.grpc.Aggregation\"v\n\x0eRangeStartRule\x12\x15\n\x11START_UNSPECIFIED\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x02\x12&\n\"LESS_THAN_OR_EQUAL_ALLOW_PRECEDING\x10\x03\"{\n\x0cRangeEndRule\x12\x13\n\x0f\x45ND_UNSPECIFIED\x10\x00\x12\x10\n\x0cGREATER_THAN\x10\x01\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x02\x12)\n%GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING\x10\x03\"\xfe\x04\n\x15\x43omboAggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12V\n\naggregates\x18\x03 \x03(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\x12\x13\n\x0b\x66orce_combo\x18\x05 \x01(\x08\x1a\xad\x01\n\tAggregate\x12N\n\x04type\x18\x01 \x01(\x0e\x32@.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12\x12\n\npercentile\x18\x04 \x01(\x01\x12\x12\n\navg_median\x18\x05 \x01(\x08\"\xa5\x01\n\x07\x41ggType\x12\x07\n\x03SUM\x10\x00\x12\x0b\n\x07\x41\x42S_SUM\x10\x01\x12\t\n\x05GROUP\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\t\n\x05\x43OUNT\x10\x04\x12\t\n\x05\x46IRST\x10\x05\x12\x08\n\x04LAST\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x07\n\x03MAX\x10\x08\x12\n\n\x06MEDIAN\x10\t\x12\x0e\n\nPERCENTILE\x10\n\x12\x07\n\x03STD\x10\x0b\x12\x07\n\x03VAR\x10\x0c\x12\x10\n\x0cWEIGHTED_AVG\x10\r:\x02\x18\x01\"\xed\x01\n\x13\x41ggregateAllRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x38\n\x04spec\x18\x03 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\"\xd7\x17\n\x07\x41ggSpec\x12K\n\x07\x61\x62s_sum\x18\x01 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSumH\x00\x12i\n\x16\x61pproximate_percentile\x18\x02 \x01(\x0b\x32G.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentileH\x00\x12\x44\n\x03\x61vg\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvgH\x00\x12Y\n\x0e\x63ount_distinct\x18\x04 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinctH\x00\x12N\n\x08\x64istinct\x18\x05 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinctH\x00\x12H\n\x05\x66irst\x18\x06 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirstH\x00\x12L\n\x07\x66ormula\x18\x07 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormulaH\x00\x12J\n\x06\x66reeze\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreezeH\x00\x12H\n\x05group\x18\t \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroupH\x00\x12\x46\n\x04last\x18\n \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLastH\x00\x12\x44\n\x03max\x18\x0b \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMaxH\x00\x12J\n\x06median\x18\x0c \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedianH\x00\x12\x44\n\x03min\x18\r \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMinH\x00\x12R\n\npercentile\x18\x0e \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentileH\x00\x12P\n\x0csorted_first\x18\x0f \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12O\n\x0bsorted_last\x18\x10 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12\x44\n\x03std\x18\x11 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStdH\x00\x12\x44\n\x03sum\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSumH\x00\x12M\n\x08t_digest\x18\x13 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigestH\x00\x12J\n\x06unique\x18\x14 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUniqueH\x00\x12R\n\x0cweighted_avg\x18\x15 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12R\n\x0cweighted_sum\x18\x16 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12\x44\n\x03var\x18\x17 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVarH\x00\x1a\\\n\x1c\x41ggSpecApproximatePercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x18\n\x0b\x63ompression\x18\x02 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a+\n\x14\x41ggSpecCountDistinct\x12\x13\n\x0b\x63ount_nulls\x18\x01 \x01(\x08\x1a(\n\x0f\x41ggSpecDistinct\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x1a\x36\n\x0e\x41ggSpecFormula\x12\x0f\n\x07\x66ormula\x18\x01 \x01(\t\x12\x13\n\x0bparam_token\x18\x02 \x01(\t\x1a/\n\rAggSpecMedian\x12\x1e\n\x16\x61verage_evenly_divided\x18\x01 \x01(\x08\x1aG\n\x11\x41ggSpecPercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x1e\n\x16\x61verage_evenly_divided\x18\x02 \x01(\x08\x1a`\n\rAggSpecSorted\x12O\n\x07\x63olumns\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn\x1a*\n\x13\x41ggSpecSortedColumn\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a:\n\x0e\x41ggSpecTDigest\x12\x18\n\x0b\x63ompression\x18\x01 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a\x88\x01\n\rAggSpecUnique\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x12`\n\x13non_unique_sentinel\x18\x02 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel\x1a\xb5\x02\n\x18\x41ggSpecNonUniqueSentinel\x12\x42\n\nnull_value\x18\x01 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.NullValueH\x00\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x13\n\tint_value\x18\x03 \x01(\x11H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x15\n\x0b\x66loat_value\x18\x05 \x01(\x02H\x00\x12\x16\n\x0c\x64ouble_value\x18\x06 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x07 \x01(\x08H\x00\x12\x14\n\nbyte_value\x18\x08 \x01(\x11H\x00\x12\x15\n\x0bshort_value\x18\t \x01(\x11H\x00\x12\x14\n\nchar_value\x18\n \x01(\x11H\x00\x42\x06\n\x04type\x1a(\n\x0f\x41ggSpecWeighted\x12\x15\n\rweight_column\x18\x01 \x01(\t\x1a\x0f\n\rAggSpecAbsSum\x1a\x0c\n\nAggSpecAvg\x1a\x0e\n\x0c\x41ggSpecFirst\x1a\x0f\n\rAggSpecFreeze\x1a\x0e\n\x0c\x41ggSpecGroup\x1a\r\n\x0b\x41ggSpecLast\x1a\x0c\n\nAggSpecMax\x1a\x0c\n\nAggSpecMin\x1a\x0c\n\nAggSpecStd\x1a\x0c\n\nAggSpecSum\x1a\x0c\n\nAggSpecVarB\x06\n\x04type\"\xdc\x02\n\x10\x41ggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12L\n\x11initial_groups_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x16\n\x0epreserve_empty\x18\x04 \x01(\x08\x12\x44\n\x0c\x61ggregations\x18\x05 \x03(\x0b\x32..io.deephaven.proto.backplane.grpc.Aggregation\x12\x18\n\x10group_by_columns\x18\x06 \x03(\t\"\xd3\x05\n\x0b\x41ggregation\x12T\n\x07\x63olumns\x18\x01 \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumnsH\x00\x12P\n\x05\x63ount\x18\x02 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.Aggregation.AggregationCountH\x00\x12Y\n\rfirst_row_key\x18\x03 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\x0clast_row_key\x18\x04 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\tpartition\x18\x05 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartitionH\x00\x1a\x63\n\x12\x41ggregationColumns\x12\x38\n\x04spec\x18\x01 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\'\n\x10\x41ggregationCount\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a(\n\x11\x41ggregationRowKey\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1aM\n\x14\x41ggregationPartition\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12 \n\x18include_group_by_columns\x18\x02 \x01(\x08\x42\x06\n\x04type\"\xe1\x01\n\x0eSortDescriptor\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x13\n\x0bis_absolute\x18\x02 \x01(\x08\x12R\n\tdirection\x18\x03 \x01(\x0e\x32?.io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection\"Q\n\rSortDirection\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\nDESCENDING\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\r\n\tASCENDING\x10\x01\x12\x0b\n\x07REVERSE\x10\x02\"\xd8\x01\n\x10SortTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12@\n\x05sorts\x18\x03 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.SortDescriptor\"\xd7\x01\n\x12\x46ilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xf9\x01\n\x0eSeekRowRequest\x12<\n\tsource_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x18\n\x0cstarting_row\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12>\n\nseek_value\x18\x04 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.Literal\x12\x13\n\x0binsensitive\x18\x05 \x01(\x08\x12\x10\n\x08\x63ontains\x18\x06 \x01(\x08\x12\x13\n\x0bis_backward\x18\x07 \x01(\x08\")\n\x0fSeekRowResponse\x12\x16\n\nresult_row\x18\x01 \x01(\x12\x42\x02\x30\x01\" \n\tReference\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\"\x91\x01\n\x07Literal\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1d\n\x0fnano_time_value\x18\x05 \x01(\x12\x42\x02\x30\x01H\x00\x42\x07\n\x05value\"\x91\x01\n\x05Value\x12\x41\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.ReferenceH\x00\x12=\n\x07literal\x18\x02 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.LiteralH\x00\x42\x06\n\x04\x64\x61ta\"\xbc\x05\n\tCondition\x12>\n\x03\x61nd\x18\x01 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.AndConditionH\x00\x12<\n\x02or\x18\x02 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.OrConditionH\x00\x12>\n\x03not\x18\x03 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.NotConditionH\x00\x12\x46\n\x07\x63ompare\x18\x04 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.CompareConditionH\x00\x12<\n\x02in\x18\x05 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.InConditionH\x00\x12\x44\n\x06invoke\x18\x06 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.InvokeConditionH\x00\x12\x45\n\x07is_null\x18\x07 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.IsNullConditionH\x00\x12\x46\n\x07matches\x18\x08 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MatchesConditionH\x00\x12H\n\x08\x63ontains\x18\t \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.ContainsConditionH\x00\x12\x44\n\x06search\x18\n \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.SearchConditionH\x00\x42\x06\n\x04\x64\x61ta\"M\n\x0c\x41ndCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0bOrCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0cNotCondition\x12<\n\x06\x66ilter\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xac\x03\n\x10\x43ompareCondition\x12W\n\toperation\x18\x01 \x01(\x0e\x32\x44.io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation\x12L\n\x10\x63\x61se_sensitivity\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12\x35\n\x03lhs\x18\x03 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12\x35\n\x03rhs\x18\x04 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"\x82\x01\n\x10\x43ompareOperation\x12\r\n\tLESS_THAN\x10\x00\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x03\x12\n\n\x06\x45QUALS\x10\x04\x12\x0e\n\nNOT_EQUALS\x10\x05\"\x95\x02\n\x0bInCondition\x12\x38\n\x06target\x18\x01 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12<\n\ncandidates\x18\x02 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\x98\x01\n\x0fInvokeCondition\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x38\n\x06target\x18\x02 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12;\n\targuments\x18\x03 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"R\n\x0fIsNullCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\xf2\x01\n\x10MatchesCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\r\n\x05regex\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\xfb\x01\n\x11\x43ontainsCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\x15\n\rsearch_string\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"s\n\x0fSearchCondition\x12\x15\n\rsearch_string\x18\x01 \x01(\t\x12I\n\x13optional_references\x18\x02 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\x94\x01\n\x0e\x46lattenRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\x96\x01\n\x10MetaTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb4\x03\n\x19RunChartDownsampleRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x13\n\x0bpixel_count\x18\x03 \x01(\x05\x12Z\n\nzoom_range\x18\x04 \x01(\x0b\x32\x46.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange\x12\x15\n\rx_column_name\x18\x05 \x01(\t\x12\x16\n\x0ey_column_names\x18\x06 \x03(\t\x1as\n\tZoomRange\x12\x1f\n\x0emin_date_nanos\x18\x01 \x01(\x03\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x1f\n\x0emax_date_nanos\x18\x02 \x01(\x03\x42\x02\x30\x01H\x01\x88\x01\x01\x42\x11\n\x0f_min_date_nanosB\x11\n\x0f_max_date_nanos\"\xf5\x04\n\x17\x43reateInputTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12L\n\x0fsource_table_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReferenceH\x00\x12\x10\n\x06schema\x18\x03 \x01(\x0cH\x00\x12W\n\x04kind\x18\x04 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind\x1a\xd4\x02\n\x0eInputTableKind\x12}\n\x15in_memory_append_only\x18\x01 \x01(\x0b\x32\\.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnlyH\x00\x12{\n\x14in_memory_key_backed\x18\x02 \x01(\x0b\x32[.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBackedH\x00\x1a\x14\n\x12InMemoryAppendOnly\x1a(\n\x11InMemoryKeyBacked\x12\x13\n\x0bkey_columns\x18\x01 \x03(\tB\x06\n\x04kindB\x0c\n\ndefinition\"\x83\x02\n\x0eWhereInRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x10\n\x08inverted\x18\x04 \x01(\x08\x12\x18\n\x10\x63olumns_to_match\x18\x05 \x03(\t\"\xe0\x17\n\x11\x42\x61tchTableRequest\x12K\n\x03ops\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation\x1a\xfd\x16\n\tOperation\x12K\n\x0b\x65mpty_table\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequestH\x00\x12I\n\ntime_table\x18\x02 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.TimeTableRequestH\x00\x12M\n\x0c\x64rop_columns\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequestH\x00\x12J\n\x06update\x18\x04 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0blazy_update\x18\x05 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12H\n\x04view\x18\x06 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0bupdate_view\x18\x07 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12J\n\x06select\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12S\n\x0fselect_distinct\x18\t \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequestH\x00\x12G\n\x06\x66ilter\x18\n \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.FilterTableRequestH\x00\x12`\n\x13unstructured_filter\x18\x0b \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequestH\x00\x12\x43\n\x04sort\x18\x0c \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.SortTableRequestH\x00\x12\x44\n\x04head\x18\r \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12\x44\n\x04tail\x18\x0e \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12I\n\x07head_by\x18\x0f \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12I\n\x07tail_by\x18\x10 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12\x44\n\x07ungroup\x18\x11 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.UngroupRequestH\x00\x12\x46\n\x05merge\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequestH\x00\x12S\n\x0f\x63ombo_aggregate\x18\x13 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequestH\x00\x12\x44\n\x07\x66latten\x18\x15 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.FlattenRequestH\x00\x12\\\n\x14run_chart_downsample\x18\x16 \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequestH\x00\x12O\n\ncross_join\x18\x17 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequestH\x00\x12S\n\x0cnatural_join\x18\x18 \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequestH\x00\x12O\n\nexact_join\x18\x19 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequestH\x00\x12M\n\tleft_join\x18\x1a \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequestH\x00\x12N\n\nas_of_join\x18\x1b \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequestH\x00\x12K\n\x0b\x66\x65tch_table\x18\x1c \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.FetchTableRequestH\x00\x12^\n\x15\x61pply_preview_columns\x18\x1e \x01(\x0b\x32=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequestH\x00\x12X\n\x12\x63reate_input_table\x18\x1f \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.CreateInputTableRequestH\x00\x12G\n\tupdate_by\x18 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.UpdateByRequestH\x00\x12\x45\n\x08where_in\x18! \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.WhereInRequestH\x00\x12O\n\raggregate_all\x18\" \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequestH\x00\x12H\n\taggregate\x18# \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.AggregateRequestH\x00\x12K\n\x08snapshot\x18$ \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequestH\x00\x12T\n\rsnapshot_when\x18% \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequestH\x00\x12I\n\nmeta_table\x18& \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MetaTableRequestH\x00\x12O\n\nrange_join\x18\' \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequestH\x00\x42\x04\n\x02opJ\x04\x08\x14\x10\x15J\x04\x08\x1d\x10\x1e*b\n\x0f\x42\x61\x64\x44\x61taBehavior\x12#\n\x1f\x42\x41\x44_DATA_BEHAVIOR_NOT_SPECIFIED\x10\x00\x12\t\n\x05THROW\x10\x01\x12\t\n\x05RESET\x10\x02\x12\x08\n\x04SKIP\x10\x03\x12\n\n\x06POISON\x10\x04*t\n\x14UpdateByNullBehavior\x12\x1f\n\x1bNULL_BEHAVIOR_NOT_SPECIFIED\x10\x00\x12\x12\n\x0eNULL_DOMINATES\x10\x01\x12\x13\n\x0fVALUE_DOMINATES\x10\x02\x12\x12\n\x0eZERO_DOMINATES\x10\x03*\x1b\n\tNullValue\x12\x0e\n\nNULL_VALUE\x10\x00*2\n\x0f\x43\x61seSensitivity\x12\x0e\n\nMATCH_CASE\x10\x00\x12\x0f\n\x0bIGNORE_CASE\x10\x01*&\n\tMatchType\x12\x0b\n\x07REGULAR\x10\x00\x12\x0c\n\x08INVERTED\x10\x01\x32\xf8,\n\x0cTableService\x12\x91\x01\n GetExportedTableCreationResponse\x12).io.deephaven.proto.backplane.grpc.Ticket\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nFetchTable\x12\x34.io.deephaven.proto.backplane.grpc.FetchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x98\x01\n\x13\x41pplyPreviewColumns\x12=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nEmptyTable\x12\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tTimeTable\x12\x33.io.deephaven.proto.backplane.grpc.TimeTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0b\x44ropColumns\x12\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Update\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nLazyUpdate\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x04View\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nUpdateView\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Select\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x82\x01\n\x08UpdateBy\x12\x32.io.deephaven.proto.backplane.grpc.UpdateByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eSelectDistinct\x12\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x06\x46ilter\x12\x35.io.deephaven.proto.backplane.grpc.FilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x9b\x01\n\x12UnstructuredFilter\x12\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x7f\n\x04Sort\x12\x33.io.deephaven.proto.backplane.grpc.SortTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Head\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Tail\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06HeadBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06TailBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07Ungroup\x12\x31.io.deephaven.proto.backplane.grpc.UngroupRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0bMergeTables\x12\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x43rossJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x94\x01\n\x11NaturalJoinTables\x12;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x45xactJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eLeftJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0e\x41sOfJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0fRangeJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x91\x01\n\x0e\x43omboAggregate\x12\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x03\x88\x02\x01\x12\x8a\x01\n\x0c\x41ggregateAll\x12\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tAggregate\x12\x33.io.deephaven.proto.backplane.grpc.AggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x87\x01\n\x08Snapshot\x12\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8f\x01\n\x0cSnapshotWhen\x12;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07\x46latten\x12\x31.io.deephaven.proto.backplane.grpc.FlattenRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x96\x01\n\x12RunChartDownsample\x12<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x92\x01\n\x10\x43reateInputTable\x12:.io.deephaven.proto.backplane.grpc.CreateInputTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07WhereIn\x12\x31.io.deephaven.proto.backplane.grpc.WhereInRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x05\x42\x61tch\x12\x34.io.deephaven.proto.backplane.grpc.BatchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x30\x01\x12\x99\x01\n\x14\x45xportedTableUpdates\x12>.io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest\x1a=.io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage\"\x00\x30\x01\x12r\n\x07SeekRow\x12\x31.io.deephaven.proto.backplane.grpc.SeekRowRequest\x1a\x32.io.deephaven.proto.backplane.grpc.SeekRowResponse\"\x00\x12\x84\x01\n\tMetaTable\x12\x33.io.deephaven.proto.backplane.grpc.MetaTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x42\x41H\x01P\x01Z;github.com/deephaven/deephaven-core/go/internal/proto/tableb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x64\x65\x65phaven/proto/table.proto\x12!io.deephaven.proto.backplane.grpc\x1a\x1c\x64\x65\x65phaven/proto/ticket.proto\"l\n\x0eTableReference\x12;\n\x06ticket\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketH\x00\x12\x16\n\x0c\x62\x61tch_offset\x18\x02 \x01(\x11H\x00\x42\x05\n\x03ref\"\xc6\x01\n\x1d\x45xportedTableCreationResponse\x12\x44\n\tresult_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x12\n\nerror_info\x18\x03 \x01(\t\x12\x15\n\rschema_header\x18\x04 \x01(\x0c\x12\x11\n\tis_static\x18\x05 \x01(\x08\x12\x10\n\x04size\x18\x06 \x01(\x12\x42\x02\x30\x01\"\x97\x01\n\x11\x46\x65tchTableRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\xa0\x01\n\x1a\x41pplyPreviewColumnsRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x1d\n\x1b\x45xportedTableUpdatesRequest\"\x8c\x01\n\x1a\x45xportedTableUpdateMessage\x12<\n\texport_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x1e\n\x16update_failure_message\x18\x03 \x01(\t\"c\n\x11\x45mptyTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\"\x88\x01\n\x10TimeTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x1c\n\x10start_time_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x18\n\x0cperiod_nanos\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xb1\x01\n\x15SelectOrUpdateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_specs\x18\x03 \x03(\t\"\x8c\x02\n\x0bMathContext\x12\x11\n\tprecision\x18\x01 \x01(\x11\x12R\n\rrounding_mode\x18\x02 \x01(\x0e\x32;.io.deephaven.proto.backplane.grpc.MathContext.RoundingMode\"\x95\x01\n\x0cRoundingMode\x12\x1f\n\x1bROUNDING_MODE_NOT_SPECIFIED\x10\x00\x12\x06\n\x02UP\x10\x01\x12\x08\n\x04\x44OWN\x10\x02\x12\x0b\n\x07\x43\x45ILING\x10\x03\x12\t\n\x05\x46LOOR\x10\x04\x12\x0b\n\x07HALF_UP\x10\x05\x12\r\n\tHALF_DOWN\x10\x06\x12\r\n\tHALF_EVEN\x10\x07\x12\x0f\n\x0bUNNECESSARY\x10\x08\"\xbb\x02\n\x13UpdateByWindowScale\x12[\n\x05ticks\x18\x01 \x01(\x0b\x32J.io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTicksH\x00\x12Y\n\x04time\x18\x02 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.UpdateByWindowScale.UpdateByWindowTimeH\x00\x1a$\n\x13UpdateByWindowTicks\x12\r\n\x05ticks\x18\x01 \x01(\x01\x1a>\n\x12UpdateByWindowTime\x12\x0e\n\x06\x63olumn\x18\x01 \x01(\t\x12\x18\n\x0cperiod_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x42\x06\n\x04type\"\xe1\x03\n\x11UpdateByEmOptions\x12I\n\ron_null_value\x18\x01 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12H\n\x0con_nan_value\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12H\n\x0con_null_time\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12R\n\x16on_negative_delta_time\x18\x04 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12N\n\x12on_zero_delta_time\x18\x05 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehavior\x12I\n\x11\x62ig_value_context\x18\x06 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContext\"f\n\x14UpdateByDeltaOptions\x12N\n\rnull_behavior\x18\x01 \x01(\x0e\x32\x37.io.deephaven.proto.backplane.grpc.UpdateByNullBehavior\"\x99\x34\n\x0fUpdateByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12S\n\x07options\x18\x03 \x01(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions\x12X\n\noperations\x18\x04 \x03(\x0b\x32\x44.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation\x12\x18\n\x10group_by_columns\x18\x05 \x03(\t\x1a\xc3\x03\n\x0fUpdateByOptions\x12\x1c\n\x0fuse_redirection\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0e\x63hunk_capacity\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12.\n!max_static_sparse_memory_overhead\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12$\n\x17initial_hash_table_size\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12 \n\x13maximum_load_factor\x18\x05 \x01(\x01H\x04\x88\x01\x01\x12\x1f\n\x12target_load_factor\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12\x44\n\x0cmath_context\x18\x07 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContextB\x12\n\x10_use_redirectionB\x11\n\x0f_chunk_capacityB$\n\"_max_static_sparse_memory_overheadB\x1a\n\x18_initial_hash_table_sizeB\x16\n\x14_maximum_load_factorB\x15\n\x13_target_load_factor\x1a\xf2-\n\x11UpdateByOperation\x12\x65\n\x06\x63olumn\x18\x01 \x01(\x0b\x32S.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumnH\x00\x1a\xed,\n\x0eUpdateByColumn\x12n\n\x04spec\x18\x01 \x01(\x0b\x32`.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\xd5+\n\x0cUpdateBySpec\x12\x85\x01\n\x03sum\x18\x01 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSumH\x00\x12\x85\x01\n\x03min\x18\x02 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMinH\x00\x12\x85\x01\n\x03max\x18\x03 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMaxH\x00\x12\x8d\x01\n\x07product\x18\x04 \x01(\x0b\x32z.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProductH\x00\x12}\n\x04\x66ill\x18\x05 \x01(\x0b\x32m.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFillH\x00\x12{\n\x03\x65ma\x18\x06 \x01(\x0b\x32l.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmaH\x00\x12\x8a\x01\n\x0brolling_sum\x18\x07 \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingSumH\x00\x12\x8e\x01\n\rrolling_group\x18\x08 \x01(\x0b\x32u.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingGroupH\x00\x12\x8a\x01\n\x0brolling_avg\x18\t \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingAvgH\x00\x12\x8a\x01\n\x0brolling_min\x18\n \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMinH\x00\x12\x8a\x01\n\x0brolling_max\x18\x0b \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingMaxH\x00\x12\x92\x01\n\x0frolling_product\x18\x0c \x01(\x0b\x32w.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingProductH\x00\x12\x7f\n\x05\x64\x65lta\x18\r \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByDeltaH\x00\x12{\n\x03\x65ms\x18\x0e \x01(\x0b\x32l.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmsH\x00\x12\x80\x01\n\x06\x65m_min\x18\x0f \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMinH\x00\x12\x80\x01\n\x06\x65m_max\x18\x10 \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmMaxH\x00\x12\x80\x01\n\x06\x65m_std\x18\x11 \x01(\x0b\x32n.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmStdH\x00\x12\x8e\x01\n\rrolling_count\x18\x12 \x01(\x0b\x32u.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingCountH\x00\x12\x8a\x01\n\x0brolling_std\x18\x13 \x01(\x0b\x32s.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingStdH\x00\x12\x8c\x01\n\x0crolling_wavg\x18\x14 \x01(\x0b\x32t.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByRollingWAvgH\x00\x1a\x17\n\x15UpdateByCumulativeSum\x1a\x17\n\x15UpdateByCumulativeMin\x1a\x17\n\x15UpdateByCumulativeMax\x1a\x1b\n\x19UpdateByCumulativeProduct\x1a\x0e\n\x0cUpdateByFill\x1a\xa2\x01\n\x0bUpdateByEma\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa2\x01\n\x0bUpdateByEms\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmMin\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmMax\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xa4\x01\n\rUpdateByEmStd\x12\x45\n\x07options\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.UpdateByEmOptions\x12L\n\x0cwindow_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1aY\n\rUpdateByDelta\x12H\n\x07options\x18\x01 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.UpdateByDeltaOptions\x1a\xc0\x01\n\x12UpdateByRollingSum\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc2\x01\n\x14UpdateByRollingGroup\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingAvg\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingMin\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingMax\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc4\x01\n\x16UpdateByRollingProduct\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc2\x01\n\x14UpdateByRollingCount\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xc0\x01\n\x12UpdateByRollingStd\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x1a\xd8\x01\n\x13UpdateByRollingWAvg\x12T\n\x14reverse_window_scale\x18\x01 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12T\n\x14\x66orward_window_scale\x18\x02 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.UpdateByWindowScale\x12\x15\n\rweight_column\x18\x03 \x01(\tB\x06\n\x04typeB\x06\n\x04type\"\xb1\x01\n\x15SelectDistinctRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xae\x01\n\x12\x44ropColumnsRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xb5\x01\n\x1eUnstructuredFilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07\x66ilters\x18\x03 \x03(\t\"\xad\x01\n\x11HeadOrTailRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xce\x01\n\x13HeadOrTailByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\x12\x1d\n\x15group_by_column_specs\x18\x04 \x03(\t\"\xc3\x01\n\x0eUngroupRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x11\n\tnull_fill\x18\x03 \x01(\x08\x12\x1a\n\x12\x63olumns_to_ungroup\x18\x04 \x03(\t\"\xad\x01\n\x12MergeTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x45\n\nsource_ids\x18\x02 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x12\n\nkey_column\x18\x03 \x01(\t\"\x9a\x01\n\x14SnapshotTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb1\x02\n\x18SnapshotWhenTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07\x62\x61se_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x45\n\ntrigger_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07initial\x18\x04 \x01(\x08\x12\x13\n\x0bincremental\x18\x05 \x01(\x08\x12\x0f\n\x07history\x18\x06 \x01(\x08\x12\x15\n\rstamp_columns\x18\x07 \x03(\t\"\xa7\x02\n\x16\x43rossJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\x14\n\x0creserve_bits\x18\x06 \x01(\x05\"\x93\x02\n\x18NaturalJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x91\x02\n\x16\x45xactJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x90\x02\n\x15LeftJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\xd1\x03\n\x15\x41sOfJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\\\n\x10\x61s_of_match_rule\x18\x07 \x01(\x0e\x32\x42.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule\"]\n\tMatchRule\x12\x13\n\x0fLESS_THAN_EQUAL\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12GREATER_THAN_EQUAL\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\x1a\x02\x18\x01:\x02\x18\x01\"\xa6\x02\n\x12\x41jRajTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x1b\n\x13\x65xact_match_columns\x18\x04 \x03(\t\x12\x14\n\x0c\x61s_of_column\x18\x05 \x01(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x06 \x03(\t\"\xcb\x06\n\x16RangeJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x1b\n\x13\x65xact_match_columns\x18\x04 \x03(\t\x12\x19\n\x11left_start_column\x18\x05 \x01(\t\x12\x62\n\x10range_start_rule\x18\x06 \x01(\x0e\x32H.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeStartRule\x12\x1a\n\x12right_range_column\x18\x07 \x01(\t\x12^\n\x0erange_end_rule\x18\x08 \x01(\x0e\x32\x46.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest.RangeEndRule\x12\x17\n\x0fleft_end_column\x18\t \x01(\t\x12\x44\n\x0c\x61ggregations\x18\n \x03(\x0b\x32..io.deephaven.proto.backplane.grpc.Aggregation\"v\n\x0eRangeStartRule\x12\x15\n\x11START_UNSPECIFIED\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x02\x12&\n\"LESS_THAN_OR_EQUAL_ALLOW_PRECEDING\x10\x03\"{\n\x0cRangeEndRule\x12\x13\n\x0f\x45ND_UNSPECIFIED\x10\x00\x12\x10\n\x0cGREATER_THAN\x10\x01\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x02\x12)\n%GREATER_THAN_OR_EQUAL_ALLOW_FOLLOWING\x10\x03\"\xfe\x04\n\x15\x43omboAggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12V\n\naggregates\x18\x03 \x03(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\x12\x13\n\x0b\x66orce_combo\x18\x05 \x01(\x08\x1a\xad\x01\n\tAggregate\x12N\n\x04type\x18\x01 \x01(\x0e\x32@.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12\x12\n\npercentile\x18\x04 \x01(\x01\x12\x12\n\navg_median\x18\x05 \x01(\x08\"\xa5\x01\n\x07\x41ggType\x12\x07\n\x03SUM\x10\x00\x12\x0b\n\x07\x41\x42S_SUM\x10\x01\x12\t\n\x05GROUP\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\t\n\x05\x43OUNT\x10\x04\x12\t\n\x05\x46IRST\x10\x05\x12\x08\n\x04LAST\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x07\n\x03MAX\x10\x08\x12\n\n\x06MEDIAN\x10\t\x12\x0e\n\nPERCENTILE\x10\n\x12\x07\n\x03STD\x10\x0b\x12\x07\n\x03VAR\x10\x0c\x12\x10\n\x0cWEIGHTED_AVG\x10\r:\x02\x18\x01\"\xed\x01\n\x13\x41ggregateAllRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x38\n\x04spec\x18\x03 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\"\xd7\x17\n\x07\x41ggSpec\x12K\n\x07\x61\x62s_sum\x18\x01 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSumH\x00\x12i\n\x16\x61pproximate_percentile\x18\x02 \x01(\x0b\x32G.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentileH\x00\x12\x44\n\x03\x61vg\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvgH\x00\x12Y\n\x0e\x63ount_distinct\x18\x04 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinctH\x00\x12N\n\x08\x64istinct\x18\x05 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinctH\x00\x12H\n\x05\x66irst\x18\x06 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirstH\x00\x12L\n\x07\x66ormula\x18\x07 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormulaH\x00\x12J\n\x06\x66reeze\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreezeH\x00\x12H\n\x05group\x18\t \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroupH\x00\x12\x46\n\x04last\x18\n \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLastH\x00\x12\x44\n\x03max\x18\x0b \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMaxH\x00\x12J\n\x06median\x18\x0c \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedianH\x00\x12\x44\n\x03min\x18\r \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMinH\x00\x12R\n\npercentile\x18\x0e \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentileH\x00\x12P\n\x0csorted_first\x18\x0f \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12O\n\x0bsorted_last\x18\x10 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12\x44\n\x03std\x18\x11 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStdH\x00\x12\x44\n\x03sum\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSumH\x00\x12M\n\x08t_digest\x18\x13 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigestH\x00\x12J\n\x06unique\x18\x14 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUniqueH\x00\x12R\n\x0cweighted_avg\x18\x15 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12R\n\x0cweighted_sum\x18\x16 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12\x44\n\x03var\x18\x17 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVarH\x00\x1a\\\n\x1c\x41ggSpecApproximatePercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x18\n\x0b\x63ompression\x18\x02 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a+\n\x14\x41ggSpecCountDistinct\x12\x13\n\x0b\x63ount_nulls\x18\x01 \x01(\x08\x1a(\n\x0f\x41ggSpecDistinct\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x1a\x36\n\x0e\x41ggSpecFormula\x12\x0f\n\x07\x66ormula\x18\x01 \x01(\t\x12\x13\n\x0bparam_token\x18\x02 \x01(\t\x1a/\n\rAggSpecMedian\x12\x1e\n\x16\x61verage_evenly_divided\x18\x01 \x01(\x08\x1aG\n\x11\x41ggSpecPercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x1e\n\x16\x61verage_evenly_divided\x18\x02 \x01(\x08\x1a`\n\rAggSpecSorted\x12O\n\x07\x63olumns\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn\x1a*\n\x13\x41ggSpecSortedColumn\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a:\n\x0e\x41ggSpecTDigest\x12\x18\n\x0b\x63ompression\x18\x01 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a\x88\x01\n\rAggSpecUnique\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x12`\n\x13non_unique_sentinel\x18\x02 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel\x1a\xb5\x02\n\x18\x41ggSpecNonUniqueSentinel\x12\x42\n\nnull_value\x18\x01 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.NullValueH\x00\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x13\n\tint_value\x18\x03 \x01(\x11H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x15\n\x0b\x66loat_value\x18\x05 \x01(\x02H\x00\x12\x16\n\x0c\x64ouble_value\x18\x06 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x07 \x01(\x08H\x00\x12\x14\n\nbyte_value\x18\x08 \x01(\x11H\x00\x12\x15\n\x0bshort_value\x18\t \x01(\x11H\x00\x12\x14\n\nchar_value\x18\n \x01(\x11H\x00\x42\x06\n\x04type\x1a(\n\x0f\x41ggSpecWeighted\x12\x15\n\rweight_column\x18\x01 \x01(\t\x1a\x0f\n\rAggSpecAbsSum\x1a\x0c\n\nAggSpecAvg\x1a\x0e\n\x0c\x41ggSpecFirst\x1a\x0f\n\rAggSpecFreeze\x1a\x0e\n\x0c\x41ggSpecGroup\x1a\r\n\x0b\x41ggSpecLast\x1a\x0c\n\nAggSpecMax\x1a\x0c\n\nAggSpecMin\x1a\x0c\n\nAggSpecStd\x1a\x0c\n\nAggSpecSum\x1a\x0c\n\nAggSpecVarB\x06\n\x04type\"\xdc\x02\n\x10\x41ggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12L\n\x11initial_groups_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x16\n\x0epreserve_empty\x18\x04 \x01(\x08\x12\x44\n\x0c\x61ggregations\x18\x05 \x03(\x0b\x32..io.deephaven.proto.backplane.grpc.Aggregation\x12\x18\n\x10group_by_columns\x18\x06 \x03(\t\"\xd3\x05\n\x0b\x41ggregation\x12T\n\x07\x63olumns\x18\x01 \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumnsH\x00\x12P\n\x05\x63ount\x18\x02 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.Aggregation.AggregationCountH\x00\x12Y\n\rfirst_row_key\x18\x03 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\x0clast_row_key\x18\x04 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\tpartition\x18\x05 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartitionH\x00\x1a\x63\n\x12\x41ggregationColumns\x12\x38\n\x04spec\x18\x01 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\'\n\x10\x41ggregationCount\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a(\n\x11\x41ggregationRowKey\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1aM\n\x14\x41ggregationPartition\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12 \n\x18include_group_by_columns\x18\x02 \x01(\x08\x42\x06\n\x04type\"\xe1\x01\n\x0eSortDescriptor\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x13\n\x0bis_absolute\x18\x02 \x01(\x08\x12R\n\tdirection\x18\x03 \x01(\x0e\x32?.io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection\"Q\n\rSortDirection\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\nDESCENDING\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\r\n\tASCENDING\x10\x01\x12\x0b\n\x07REVERSE\x10\x02\"\xd8\x01\n\x10SortTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12@\n\x05sorts\x18\x03 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.SortDescriptor\"\xd7\x01\n\x12\x46ilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xf9\x01\n\x0eSeekRowRequest\x12<\n\tsource_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x18\n\x0cstarting_row\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12>\n\nseek_value\x18\x04 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.Literal\x12\x13\n\x0binsensitive\x18\x05 \x01(\x08\x12\x10\n\x08\x63ontains\x18\x06 \x01(\x08\x12\x13\n\x0bis_backward\x18\x07 \x01(\x08\")\n\x0fSeekRowResponse\x12\x16\n\nresult_row\x18\x01 \x01(\x12\x42\x02\x30\x01\" \n\tReference\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\"\x91\x01\n\x07Literal\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1d\n\x0fnano_time_value\x18\x05 \x01(\x12\x42\x02\x30\x01H\x00\x42\x07\n\x05value\"\x91\x01\n\x05Value\x12\x41\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.ReferenceH\x00\x12=\n\x07literal\x18\x02 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.LiteralH\x00\x42\x06\n\x04\x64\x61ta\"\xbc\x05\n\tCondition\x12>\n\x03\x61nd\x18\x01 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.AndConditionH\x00\x12<\n\x02or\x18\x02 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.OrConditionH\x00\x12>\n\x03not\x18\x03 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.NotConditionH\x00\x12\x46\n\x07\x63ompare\x18\x04 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.CompareConditionH\x00\x12<\n\x02in\x18\x05 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.InConditionH\x00\x12\x44\n\x06invoke\x18\x06 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.InvokeConditionH\x00\x12\x45\n\x07is_null\x18\x07 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.IsNullConditionH\x00\x12\x46\n\x07matches\x18\x08 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MatchesConditionH\x00\x12H\n\x08\x63ontains\x18\t \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.ContainsConditionH\x00\x12\x44\n\x06search\x18\n \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.SearchConditionH\x00\x42\x06\n\x04\x64\x61ta\"M\n\x0c\x41ndCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0bOrCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0cNotCondition\x12<\n\x06\x66ilter\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xac\x03\n\x10\x43ompareCondition\x12W\n\toperation\x18\x01 \x01(\x0e\x32\x44.io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation\x12L\n\x10\x63\x61se_sensitivity\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12\x35\n\x03lhs\x18\x03 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12\x35\n\x03rhs\x18\x04 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"\x82\x01\n\x10\x43ompareOperation\x12\r\n\tLESS_THAN\x10\x00\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x03\x12\n\n\x06\x45QUALS\x10\x04\x12\x0e\n\nNOT_EQUALS\x10\x05\"\x95\x02\n\x0bInCondition\x12\x38\n\x06target\x18\x01 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12<\n\ncandidates\x18\x02 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\x98\x01\n\x0fInvokeCondition\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x38\n\x06target\x18\x02 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12;\n\targuments\x18\x03 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"R\n\x0fIsNullCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\xf2\x01\n\x10MatchesCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\r\n\x05regex\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\xfb\x01\n\x11\x43ontainsCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\x15\n\rsearch_string\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"s\n\x0fSearchCondition\x12\x15\n\rsearch_string\x18\x01 \x01(\t\x12I\n\x13optional_references\x18\x02 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\x94\x01\n\x0e\x46lattenRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\x96\x01\n\x10MetaTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb4\x03\n\x19RunChartDownsampleRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x13\n\x0bpixel_count\x18\x03 \x01(\x05\x12Z\n\nzoom_range\x18\x04 \x01(\x0b\x32\x46.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange\x12\x15\n\rx_column_name\x18\x05 \x01(\t\x12\x16\n\x0ey_column_names\x18\x06 \x03(\t\x1as\n\tZoomRange\x12\x1f\n\x0emin_date_nanos\x18\x01 \x01(\x03\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x1f\n\x0emax_date_nanos\x18\x02 \x01(\x03\x42\x02\x30\x01H\x01\x88\x01\x01\x42\x11\n\x0f_min_date_nanosB\x11\n\x0f_max_date_nanos\"\xf5\x04\n\x17\x43reateInputTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12L\n\x0fsource_table_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReferenceH\x00\x12\x10\n\x06schema\x18\x03 \x01(\x0cH\x00\x12W\n\x04kind\x18\x04 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind\x1a\xd4\x02\n\x0eInputTableKind\x12}\n\x15in_memory_append_only\x18\x01 \x01(\x0b\x32\\.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnlyH\x00\x12{\n\x14in_memory_key_backed\x18\x02 \x01(\x0b\x32[.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBackedH\x00\x1a\x14\n\x12InMemoryAppendOnly\x1a(\n\x11InMemoryKeyBacked\x12\x13\n\x0bkey_columns\x18\x01 \x03(\tB\x06\n\x04kindB\x0c\n\ndefinition\"\x83\x02\n\x0eWhereInRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x10\n\x08inverted\x18\x04 \x01(\x08\x12\x18\n\x10\x63olumns_to_match\x18\x05 \x03(\t\"\xef\x18\n\x11\x42\x61tchTableRequest\x12K\n\x03ops\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation\x1a\x8c\x18\n\tOperation\x12K\n\x0b\x65mpty_table\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequestH\x00\x12I\n\ntime_table\x18\x02 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.TimeTableRequestH\x00\x12M\n\x0c\x64rop_columns\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequestH\x00\x12J\n\x06update\x18\x04 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0blazy_update\x18\x05 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12H\n\x04view\x18\x06 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0bupdate_view\x18\x07 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12J\n\x06select\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12S\n\x0fselect_distinct\x18\t \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequestH\x00\x12G\n\x06\x66ilter\x18\n \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.FilterTableRequestH\x00\x12`\n\x13unstructured_filter\x18\x0b \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequestH\x00\x12\x43\n\x04sort\x18\x0c \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.SortTableRequestH\x00\x12\x44\n\x04head\x18\r \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12\x44\n\x04tail\x18\x0e \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12I\n\x07head_by\x18\x0f \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12I\n\x07tail_by\x18\x10 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12\x44\n\x07ungroup\x18\x11 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.UngroupRequestH\x00\x12\x46\n\x05merge\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequestH\x00\x12S\n\x0f\x63ombo_aggregate\x18\x13 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequestH\x00\x12\x44\n\x07\x66latten\x18\x15 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.FlattenRequestH\x00\x12\\\n\x14run_chart_downsample\x18\x16 \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequestH\x00\x12O\n\ncross_join\x18\x17 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequestH\x00\x12S\n\x0cnatural_join\x18\x18 \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequestH\x00\x12O\n\nexact_join\x18\x19 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequestH\x00\x12M\n\tleft_join\x18\x1a \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequestH\x00\x12R\n\nas_of_join\x18\x1b \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequestB\x02\x18\x01H\x00\x12K\n\x0b\x66\x65tch_table\x18\x1c \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.FetchTableRequestH\x00\x12^\n\x15\x61pply_preview_columns\x18\x1e \x01(\x0b\x32=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequestH\x00\x12X\n\x12\x63reate_input_table\x18\x1f \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.CreateInputTableRequestH\x00\x12G\n\tupdate_by\x18 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.UpdateByRequestH\x00\x12\x45\n\x08where_in\x18! \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.WhereInRequestH\x00\x12O\n\raggregate_all\x18\" \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequestH\x00\x12H\n\taggregate\x18# \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.AggregateRequestH\x00\x12K\n\x08snapshot\x18$ \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequestH\x00\x12T\n\rsnapshot_when\x18% \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequestH\x00\x12I\n\nmeta_table\x18& \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MetaTableRequestH\x00\x12O\n\nrange_join\x18\' \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequestH\x00\x12\x43\n\x02\x61j\x18( \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AjRajTablesRequestH\x00\x12\x44\n\x03raj\x18) \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AjRajTablesRequestH\x00\x42\x04\n\x02opJ\x04\x08\x14\x10\x15J\x04\x08\x1d\x10\x1e*b\n\x0f\x42\x61\x64\x44\x61taBehavior\x12#\n\x1f\x42\x41\x44_DATA_BEHAVIOR_NOT_SPECIFIED\x10\x00\x12\t\n\x05THROW\x10\x01\x12\t\n\x05RESET\x10\x02\x12\x08\n\x04SKIP\x10\x03\x12\n\n\x06POISON\x10\x04*t\n\x14UpdateByNullBehavior\x12\x1f\n\x1bNULL_BEHAVIOR_NOT_SPECIFIED\x10\x00\x12\x12\n\x0eNULL_DOMINATES\x10\x01\x12\x13\n\x0fVALUE_DOMINATES\x10\x02\x12\x12\n\x0eZERO_DOMINATES\x10\x03*\x1b\n\tNullValue\x12\x0e\n\nNULL_VALUE\x10\x00*2\n\x0f\x43\x61seSensitivity\x12\x0e\n\nMATCH_CASE\x10\x00\x12\x0f\n\x0bIGNORE_CASE\x10\x01*&\n\tMatchType\x12\x0b\n\x07REGULAR\x10\x00\x12\x0c\n\x08INVERTED\x10\x01\x32\x8c/\n\x0cTableService\x12\x91\x01\n GetExportedTableCreationResponse\x12).io.deephaven.proto.backplane.grpc.Ticket\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nFetchTable\x12\x34.io.deephaven.proto.backplane.grpc.FetchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x98\x01\n\x13\x41pplyPreviewColumns\x12=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nEmptyTable\x12\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tTimeTable\x12\x33.io.deephaven.proto.backplane.grpc.TimeTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0b\x44ropColumns\x12\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Update\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nLazyUpdate\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x04View\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nUpdateView\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Select\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x82\x01\n\x08UpdateBy\x12\x32.io.deephaven.proto.backplane.grpc.UpdateByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eSelectDistinct\x12\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x06\x46ilter\x12\x35.io.deephaven.proto.backplane.grpc.FilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x9b\x01\n\x12UnstructuredFilter\x12\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x7f\n\x04Sort\x12\x33.io.deephaven.proto.backplane.grpc.SortTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Head\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Tail\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06HeadBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06TailBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07Ungroup\x12\x31.io.deephaven.proto.backplane.grpc.UngroupRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0bMergeTables\x12\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x43rossJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x94\x01\n\x11NaturalJoinTables\x12;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x45xactJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eLeftJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x91\x01\n\x0e\x41sOfJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x03\x88\x02\x01\x12\x85\x01\n\x08\x41jTables\x12\x35.io.deephaven.proto.backplane.grpc.AjRajTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\tRajTables\x12\x35.io.deephaven.proto.backplane.grpc.AjRajTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0fRangeJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x91\x01\n\x0e\x43omboAggregate\x12\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x03\x88\x02\x01\x12\x8a\x01\n\x0c\x41ggregateAll\x12\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tAggregate\x12\x33.io.deephaven.proto.backplane.grpc.AggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x87\x01\n\x08Snapshot\x12\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8f\x01\n\x0cSnapshotWhen\x12;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07\x46latten\x12\x31.io.deephaven.proto.backplane.grpc.FlattenRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x96\x01\n\x12RunChartDownsample\x12<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x92\x01\n\x10\x43reateInputTable\x12:.io.deephaven.proto.backplane.grpc.CreateInputTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07WhereIn\x12\x31.io.deephaven.proto.backplane.grpc.WhereInRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x05\x42\x61tch\x12\x34.io.deephaven.proto.backplane.grpc.BatchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x30\x01\x12\x99\x01\n\x14\x45xportedTableUpdates\x12>.io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest\x1a=.io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage\"\x00\x30\x01\x12r\n\x07SeekRow\x12\x31.io.deephaven.proto.backplane.grpc.SeekRowRequest\x1a\x32.io.deephaven.proto.backplane.grpc.SeekRowResponse\"\x00\x12\x84\x01\n\tMetaTable\x12\x33.io.deephaven.proto.backplane.grpc.MetaTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x42\x41H\x01P\x01Z;github.com/deephaven/deephaven-core/go/internal/proto/tableb\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'deephaven.proto.table_pb2', globals()) @@ -38,6 +38,10 @@ _HEADORTAILREQUEST.fields_by_name['num_rows']._serialized_options = b'0\001' _HEADORTAILBYREQUEST.fields_by_name['num_rows']._options = None _HEADORTAILBYREQUEST.fields_by_name['num_rows']._serialized_options = b'0\001' + _ASOFJOINTABLESREQUEST_MATCHRULE._options = None + _ASOFJOINTABLESREQUEST_MATCHRULE._serialized_options = b'\030\001' + _ASOFJOINTABLESREQUEST._options = None + _ASOFJOINTABLESREQUEST._serialized_options = b'\030\001' _COMBOAGGREGATEREQUEST._options = None _COMBOAGGREGATEREQUEST._serialized_options = b'\030\001' _AGGSPEC_AGGSPECNONUNIQUESENTINEL.fields_by_name['long_value']._options = None @@ -54,18 +58,22 @@ _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE.fields_by_name['min_date_nanos']._serialized_options = b'0\001' _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE.fields_by_name['max_date_nanos']._options = None _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE.fields_by_name['max_date_nanos']._serialized_options = b'0\001' + _BATCHTABLEREQUEST_OPERATION.fields_by_name['as_of_join']._options = None + _BATCHTABLEREQUEST_OPERATION.fields_by_name['as_of_join']._serialized_options = b'\030\001' + _TABLESERVICE.methods_by_name['AsOfJoinTables']._options = None + _TABLESERVICE.methods_by_name['AsOfJoinTables']._serialized_options = b'\210\002\001' _TABLESERVICE.methods_by_name['ComboAggregate']._options = None _TABLESERVICE.methods_by_name['ComboAggregate']._serialized_options = b'\210\002\001' - _BADDATABEHAVIOR._serialized_start=26843 - _BADDATABEHAVIOR._serialized_end=26941 - _UPDATEBYNULLBEHAVIOR._serialized_start=26943 - _UPDATEBYNULLBEHAVIOR._serialized_end=27059 - _NULLVALUE._serialized_start=27061 - _NULLVALUE._serialized_end=27088 - _CASESENSITIVITY._serialized_start=27090 - _CASESENSITIVITY._serialized_end=27140 - _MATCHTYPE._serialized_start=27142 - _MATCHTYPE._serialized_end=27180 + _BADDATABEHAVIOR._serialized_start=27291 + _BADDATABEHAVIOR._serialized_end=27389 + _UPDATEBYNULLBEHAVIOR._serialized_start=27391 + _UPDATEBYNULLBEHAVIOR._serialized_end=27507 + _NULLVALUE._serialized_start=27509 + _NULLVALUE._serialized_end=27536 + _CASESENSITIVITY._serialized_start=27538 + _CASESENSITIVITY._serialized_end=27588 + _MATCHTYPE._serialized_start=27590 + _MATCHTYPE._serialized_end=27628 _TABLEREFERENCE._serialized_start=96 _TABLEREFERENCE._serialized_end=204 _EXPORTEDTABLECREATIONRESPONSE._serialized_start=207 @@ -175,147 +183,149 @@ _LEFTJOINTABLESREQUEST._serialized_start=11797 _LEFTJOINTABLESREQUEST._serialized_end=12069 _ASOFJOINTABLESREQUEST._serialized_start=12072 - _ASOFJOINTABLESREQUEST._serialized_end=12529 + _ASOFJOINTABLESREQUEST._serialized_end=12537 _ASOFJOINTABLESREQUEST_MATCHRULE._serialized_start=12440 - _ASOFJOINTABLESREQUEST_MATCHRULE._serialized_end=12529 - _RANGEJOINTABLESREQUEST._serialized_start=12532 - _RANGEJOINTABLESREQUEST._serialized_end=13375 - _RANGEJOINTABLESREQUEST_RANGESTARTRULE._serialized_start=13132 - _RANGEJOINTABLESREQUEST_RANGESTARTRULE._serialized_end=13250 - _RANGEJOINTABLESREQUEST_RANGEENDRULE._serialized_start=13252 - _RANGEJOINTABLESREQUEST_RANGEENDRULE._serialized_end=13375 - _COMBOAGGREGATEREQUEST._serialized_start=13378 - _COMBOAGGREGATEREQUEST._serialized_end=14016 - _COMBOAGGREGATEREQUEST_AGGREGATE._serialized_start=13671 - _COMBOAGGREGATEREQUEST_AGGREGATE._serialized_end=13844 - _COMBOAGGREGATEREQUEST_AGGTYPE._serialized_start=13847 - _COMBOAGGREGATEREQUEST_AGGTYPE._serialized_end=14012 - _AGGREGATEALLREQUEST._serialized_start=14019 - _AGGREGATEALLREQUEST._serialized_end=14256 - _AGGSPEC._serialized_start=14259 - _AGGSPEC._serialized_end=17290 - _AGGSPEC_AGGSPECAPPROXIMATEPERCENTILE._serialized_start=16065 - _AGGSPEC_AGGSPECAPPROXIMATEPERCENTILE._serialized_end=16157 - _AGGSPEC_AGGSPECCOUNTDISTINCT._serialized_start=16159 - _AGGSPEC_AGGSPECCOUNTDISTINCT._serialized_end=16202 - _AGGSPEC_AGGSPECDISTINCT._serialized_start=16204 - _AGGSPEC_AGGSPECDISTINCT._serialized_end=16244 - _AGGSPEC_AGGSPECFORMULA._serialized_start=16246 - _AGGSPEC_AGGSPECFORMULA._serialized_end=16300 - _AGGSPEC_AGGSPECMEDIAN._serialized_start=16302 - _AGGSPEC_AGGSPECMEDIAN._serialized_end=16349 - _AGGSPEC_AGGSPECPERCENTILE._serialized_start=16351 - _AGGSPEC_AGGSPECPERCENTILE._serialized_end=16422 - _AGGSPEC_AGGSPECSORTED._serialized_start=16424 - _AGGSPEC_AGGSPECSORTED._serialized_end=16520 - _AGGSPEC_AGGSPECSORTEDCOLUMN._serialized_start=16522 - _AGGSPEC_AGGSPECSORTEDCOLUMN._serialized_end=16564 - _AGGSPEC_AGGSPECTDIGEST._serialized_start=16566 - _AGGSPEC_AGGSPECTDIGEST._serialized_end=16624 - _AGGSPEC_AGGSPECUNIQUE._serialized_start=16627 - _AGGSPEC_AGGSPECUNIQUE._serialized_end=16763 - _AGGSPEC_AGGSPECNONUNIQUESENTINEL._serialized_start=16766 - _AGGSPEC_AGGSPECNONUNIQUESENTINEL._serialized_end=17075 - _AGGSPEC_AGGSPECWEIGHTED._serialized_start=17077 - _AGGSPEC_AGGSPECWEIGHTED._serialized_end=17117 - _AGGSPEC_AGGSPECABSSUM._serialized_start=17119 - _AGGSPEC_AGGSPECABSSUM._serialized_end=17134 - _AGGSPEC_AGGSPECAVG._serialized_start=17136 - _AGGSPEC_AGGSPECAVG._serialized_end=17148 - _AGGSPEC_AGGSPECFIRST._serialized_start=17150 - _AGGSPEC_AGGSPECFIRST._serialized_end=17164 - _AGGSPEC_AGGSPECFREEZE._serialized_start=17166 - _AGGSPEC_AGGSPECFREEZE._serialized_end=17181 - _AGGSPEC_AGGSPECGROUP._serialized_start=17183 - _AGGSPEC_AGGSPECGROUP._serialized_end=17197 - _AGGSPEC_AGGSPECLAST._serialized_start=17199 - _AGGSPEC_AGGSPECLAST._serialized_end=17212 - _AGGSPEC_AGGSPECMAX._serialized_start=17214 - _AGGSPEC_AGGSPECMAX._serialized_end=17226 - _AGGSPEC_AGGSPECMIN._serialized_start=17228 - _AGGSPEC_AGGSPECMIN._serialized_end=17240 - _AGGSPEC_AGGSPECSTD._serialized_start=17242 - _AGGSPEC_AGGSPECSTD._serialized_end=17254 - _AGGSPEC_AGGSPECSUM._serialized_start=17256 - _AGGSPEC_AGGSPECSUM._serialized_end=17268 - _AGGSPEC_AGGSPECVAR._serialized_start=17270 - _AGGSPEC_AGGSPECVAR._serialized_end=17282 - _AGGREGATEREQUEST._serialized_start=17293 - _AGGREGATEREQUEST._serialized_end=17641 - _AGGREGATION._serialized_start=17644 - _AGGREGATION._serialized_end=18367 - _AGGREGATION_AGGREGATIONCOLUMNS._serialized_start=18098 - _AGGREGATION_AGGREGATIONCOLUMNS._serialized_end=18197 - _AGGREGATION_AGGREGATIONCOUNT._serialized_start=18199 - _AGGREGATION_AGGREGATIONCOUNT._serialized_end=18238 - _AGGREGATION_AGGREGATIONROWKEY._serialized_start=18240 - _AGGREGATION_AGGREGATIONROWKEY._serialized_end=18280 - _AGGREGATION_AGGREGATIONPARTITION._serialized_start=18282 - _AGGREGATION_AGGREGATIONPARTITION._serialized_end=18359 - _SORTDESCRIPTOR._serialized_start=18370 - _SORTDESCRIPTOR._serialized_end=18595 - _SORTDESCRIPTOR_SORTDIRECTION._serialized_start=18514 - _SORTDESCRIPTOR_SORTDIRECTION._serialized_end=18595 - _SORTTABLEREQUEST._serialized_start=18598 - _SORTTABLEREQUEST._serialized_end=18814 - _FILTERTABLEREQUEST._serialized_start=18817 - _FILTERTABLEREQUEST._serialized_end=19032 - _SEEKROWREQUEST._serialized_start=19035 - _SEEKROWREQUEST._serialized_end=19284 - _SEEKROWRESPONSE._serialized_start=19286 - _SEEKROWRESPONSE._serialized_end=19327 - _REFERENCE._serialized_start=19329 - _REFERENCE._serialized_end=19361 - _LITERAL._serialized_start=19364 - _LITERAL._serialized_end=19509 - _VALUE._serialized_start=19512 - _VALUE._serialized_end=19657 - _CONDITION._serialized_start=19660 - _CONDITION._serialized_end=20360 - _ANDCONDITION._serialized_start=20362 - _ANDCONDITION._serialized_end=20439 - _ORCONDITION._serialized_start=20441 - _ORCONDITION._serialized_end=20517 - _NOTCONDITION._serialized_start=20519 - _NOTCONDITION._serialized_end=20595 - _COMPARECONDITION._serialized_start=20598 - _COMPARECONDITION._serialized_end=21026 - _COMPARECONDITION_COMPAREOPERATION._serialized_start=20896 - _COMPARECONDITION_COMPAREOPERATION._serialized_end=21026 - _INCONDITION._serialized_start=21029 - _INCONDITION._serialized_end=21306 - _INVOKECONDITION._serialized_start=21309 - _INVOKECONDITION._serialized_end=21461 - _ISNULLCONDITION._serialized_start=21463 - _ISNULLCONDITION._serialized_end=21545 - _MATCHESCONDITION._serialized_start=21548 - _MATCHESCONDITION._serialized_end=21790 - _CONTAINSCONDITION._serialized_start=21793 - _CONTAINSCONDITION._serialized_end=22044 - _SEARCHCONDITION._serialized_start=22046 - _SEARCHCONDITION._serialized_end=22161 - _FLATTENREQUEST._serialized_start=22164 - _FLATTENREQUEST._serialized_end=22312 - _METATABLEREQUEST._serialized_start=22315 - _METATABLEREQUEST._serialized_end=22465 - _RUNCHARTDOWNSAMPLEREQUEST._serialized_start=22468 - _RUNCHARTDOWNSAMPLEREQUEST._serialized_end=22904 - _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_start=22789 - _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_end=22904 - _CREATEINPUTTABLEREQUEST._serialized_start=22907 - _CREATEINPUTTABLEREQUEST._serialized_end=23536 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_start=23182 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_end=23522 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_start=23452 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_end=23472 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_start=23474 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_end=23514 - _WHEREINREQUEST._serialized_start=23539 - _WHEREINREQUEST._serialized_end=23798 - _BATCHTABLEREQUEST._serialized_start=23801 - _BATCHTABLEREQUEST._serialized_end=26841 - _BATCHTABLEREQUEST_OPERATION._serialized_start=23900 - _BATCHTABLEREQUEST_OPERATION._serialized_end=26841 - _TABLESERVICE._serialized_start=27183 - _TABLESERVICE._serialized_end=32935 + _ASOFJOINTABLESREQUEST_MATCHRULE._serialized_end=12533 + _AJRAJTABLESREQUEST._serialized_start=12540 + _AJRAJTABLESREQUEST._serialized_end=12834 + _RANGEJOINTABLESREQUEST._serialized_start=12837 + _RANGEJOINTABLESREQUEST._serialized_end=13680 + _RANGEJOINTABLESREQUEST_RANGESTARTRULE._serialized_start=13437 + _RANGEJOINTABLESREQUEST_RANGESTARTRULE._serialized_end=13555 + _RANGEJOINTABLESREQUEST_RANGEENDRULE._serialized_start=13557 + _RANGEJOINTABLESREQUEST_RANGEENDRULE._serialized_end=13680 + _COMBOAGGREGATEREQUEST._serialized_start=13683 + _COMBOAGGREGATEREQUEST._serialized_end=14321 + _COMBOAGGREGATEREQUEST_AGGREGATE._serialized_start=13976 + _COMBOAGGREGATEREQUEST_AGGREGATE._serialized_end=14149 + _COMBOAGGREGATEREQUEST_AGGTYPE._serialized_start=14152 + _COMBOAGGREGATEREQUEST_AGGTYPE._serialized_end=14317 + _AGGREGATEALLREQUEST._serialized_start=14324 + _AGGREGATEALLREQUEST._serialized_end=14561 + _AGGSPEC._serialized_start=14564 + _AGGSPEC._serialized_end=17595 + _AGGSPEC_AGGSPECAPPROXIMATEPERCENTILE._serialized_start=16370 + _AGGSPEC_AGGSPECAPPROXIMATEPERCENTILE._serialized_end=16462 + _AGGSPEC_AGGSPECCOUNTDISTINCT._serialized_start=16464 + _AGGSPEC_AGGSPECCOUNTDISTINCT._serialized_end=16507 + _AGGSPEC_AGGSPECDISTINCT._serialized_start=16509 + _AGGSPEC_AGGSPECDISTINCT._serialized_end=16549 + _AGGSPEC_AGGSPECFORMULA._serialized_start=16551 + _AGGSPEC_AGGSPECFORMULA._serialized_end=16605 + _AGGSPEC_AGGSPECMEDIAN._serialized_start=16607 + _AGGSPEC_AGGSPECMEDIAN._serialized_end=16654 + _AGGSPEC_AGGSPECPERCENTILE._serialized_start=16656 + _AGGSPEC_AGGSPECPERCENTILE._serialized_end=16727 + _AGGSPEC_AGGSPECSORTED._serialized_start=16729 + _AGGSPEC_AGGSPECSORTED._serialized_end=16825 + _AGGSPEC_AGGSPECSORTEDCOLUMN._serialized_start=16827 + _AGGSPEC_AGGSPECSORTEDCOLUMN._serialized_end=16869 + _AGGSPEC_AGGSPECTDIGEST._serialized_start=16871 + _AGGSPEC_AGGSPECTDIGEST._serialized_end=16929 + _AGGSPEC_AGGSPECUNIQUE._serialized_start=16932 + _AGGSPEC_AGGSPECUNIQUE._serialized_end=17068 + _AGGSPEC_AGGSPECNONUNIQUESENTINEL._serialized_start=17071 + _AGGSPEC_AGGSPECNONUNIQUESENTINEL._serialized_end=17380 + _AGGSPEC_AGGSPECWEIGHTED._serialized_start=17382 + _AGGSPEC_AGGSPECWEIGHTED._serialized_end=17422 + _AGGSPEC_AGGSPECABSSUM._serialized_start=17424 + _AGGSPEC_AGGSPECABSSUM._serialized_end=17439 + _AGGSPEC_AGGSPECAVG._serialized_start=17441 + _AGGSPEC_AGGSPECAVG._serialized_end=17453 + _AGGSPEC_AGGSPECFIRST._serialized_start=17455 + _AGGSPEC_AGGSPECFIRST._serialized_end=17469 + _AGGSPEC_AGGSPECFREEZE._serialized_start=17471 + _AGGSPEC_AGGSPECFREEZE._serialized_end=17486 + _AGGSPEC_AGGSPECGROUP._serialized_start=17488 + _AGGSPEC_AGGSPECGROUP._serialized_end=17502 + _AGGSPEC_AGGSPECLAST._serialized_start=17504 + _AGGSPEC_AGGSPECLAST._serialized_end=17517 + _AGGSPEC_AGGSPECMAX._serialized_start=17519 + _AGGSPEC_AGGSPECMAX._serialized_end=17531 + _AGGSPEC_AGGSPECMIN._serialized_start=17533 + _AGGSPEC_AGGSPECMIN._serialized_end=17545 + _AGGSPEC_AGGSPECSTD._serialized_start=17547 + _AGGSPEC_AGGSPECSTD._serialized_end=17559 + _AGGSPEC_AGGSPECSUM._serialized_start=17561 + _AGGSPEC_AGGSPECSUM._serialized_end=17573 + _AGGSPEC_AGGSPECVAR._serialized_start=17575 + _AGGSPEC_AGGSPECVAR._serialized_end=17587 + _AGGREGATEREQUEST._serialized_start=17598 + _AGGREGATEREQUEST._serialized_end=17946 + _AGGREGATION._serialized_start=17949 + _AGGREGATION._serialized_end=18672 + _AGGREGATION_AGGREGATIONCOLUMNS._serialized_start=18403 + _AGGREGATION_AGGREGATIONCOLUMNS._serialized_end=18502 + _AGGREGATION_AGGREGATIONCOUNT._serialized_start=18504 + _AGGREGATION_AGGREGATIONCOUNT._serialized_end=18543 + _AGGREGATION_AGGREGATIONROWKEY._serialized_start=18545 + _AGGREGATION_AGGREGATIONROWKEY._serialized_end=18585 + _AGGREGATION_AGGREGATIONPARTITION._serialized_start=18587 + _AGGREGATION_AGGREGATIONPARTITION._serialized_end=18664 + _SORTDESCRIPTOR._serialized_start=18675 + _SORTDESCRIPTOR._serialized_end=18900 + _SORTDESCRIPTOR_SORTDIRECTION._serialized_start=18819 + _SORTDESCRIPTOR_SORTDIRECTION._serialized_end=18900 + _SORTTABLEREQUEST._serialized_start=18903 + _SORTTABLEREQUEST._serialized_end=19119 + _FILTERTABLEREQUEST._serialized_start=19122 + _FILTERTABLEREQUEST._serialized_end=19337 + _SEEKROWREQUEST._serialized_start=19340 + _SEEKROWREQUEST._serialized_end=19589 + _SEEKROWRESPONSE._serialized_start=19591 + _SEEKROWRESPONSE._serialized_end=19632 + _REFERENCE._serialized_start=19634 + _REFERENCE._serialized_end=19666 + _LITERAL._serialized_start=19669 + _LITERAL._serialized_end=19814 + _VALUE._serialized_start=19817 + _VALUE._serialized_end=19962 + _CONDITION._serialized_start=19965 + _CONDITION._serialized_end=20665 + _ANDCONDITION._serialized_start=20667 + _ANDCONDITION._serialized_end=20744 + _ORCONDITION._serialized_start=20746 + _ORCONDITION._serialized_end=20822 + _NOTCONDITION._serialized_start=20824 + _NOTCONDITION._serialized_end=20900 + _COMPARECONDITION._serialized_start=20903 + _COMPARECONDITION._serialized_end=21331 + _COMPARECONDITION_COMPAREOPERATION._serialized_start=21201 + _COMPARECONDITION_COMPAREOPERATION._serialized_end=21331 + _INCONDITION._serialized_start=21334 + _INCONDITION._serialized_end=21611 + _INVOKECONDITION._serialized_start=21614 + _INVOKECONDITION._serialized_end=21766 + _ISNULLCONDITION._serialized_start=21768 + _ISNULLCONDITION._serialized_end=21850 + _MATCHESCONDITION._serialized_start=21853 + _MATCHESCONDITION._serialized_end=22095 + _CONTAINSCONDITION._serialized_start=22098 + _CONTAINSCONDITION._serialized_end=22349 + _SEARCHCONDITION._serialized_start=22351 + _SEARCHCONDITION._serialized_end=22466 + _FLATTENREQUEST._serialized_start=22469 + _FLATTENREQUEST._serialized_end=22617 + _METATABLEREQUEST._serialized_start=22620 + _METATABLEREQUEST._serialized_end=22770 + _RUNCHARTDOWNSAMPLEREQUEST._serialized_start=22773 + _RUNCHARTDOWNSAMPLEREQUEST._serialized_end=23209 + _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_start=23094 + _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_end=23209 + _CREATEINPUTTABLEREQUEST._serialized_start=23212 + _CREATEINPUTTABLEREQUEST._serialized_end=23841 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_start=23487 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_end=23827 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_start=23757 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_end=23777 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_start=23779 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_end=23819 + _WHEREINREQUEST._serialized_start=23844 + _WHEREINREQUEST._serialized_end=24103 + _BATCHTABLEREQUEST._serialized_start=24106 + _BATCHTABLEREQUEST._serialized_end=27289 + _BATCHTABLEREQUEST_OPERATION._serialized_start=24205 + _BATCHTABLEREQUEST_OPERATION._serialized_end=27289 + _TABLESERVICE._serialized_start=27631 + _TABLESERVICE._serialized_end=33659 # @@protoc_insertion_point(module_scope) diff --git a/py/client/pydeephaven/proto/table_pb2_grpc.py b/py/client/pydeephaven/proto/table_pb2_grpc.py index c543343be03..0e49069826d 100644 --- a/py/client/pydeephaven/proto/table_pb2_grpc.py +++ b/py/client/pydeephaven/proto/table_pb2_grpc.py @@ -150,6 +150,16 @@ def __init__(self, channel): request_serializer=deephaven_dot_proto_dot_table__pb2.AsOfJoinTablesRequest.SerializeToString, response_deserializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.FromString, ) + self.AjTables = channel.unary_unary( + '/io.deephaven.proto.backplane.grpc.TableService/AjTables', + request_serializer=deephaven_dot_proto_dot_table__pb2.AjRajTablesRequest.SerializeToString, + response_deserializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.FromString, + ) + self.RajTables = channel.unary_unary( + '/io.deephaven.proto.backplane.grpc.TableService/RajTables', + request_serializer=deephaven_dot_proto_dot_table__pb2.AjRajTablesRequest.SerializeToString, + response_deserializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.FromString, + ) self.RangeJoinTables = channel.unary_unary( '/io.deephaven.proto.backplane.grpc.TableService/RangeJoinTables', request_serializer=deephaven_dot_proto_dot_table__pb2.RangeJoinTablesRequest.SerializeToString, @@ -437,6 +447,24 @@ def LeftJoinTables(self, request, context): def AsOfJoinTables(self, request, context): """ Returns the result of an as of join operation. + + Deprecated: Please use AjTables or RajTables. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AjTables(self, request, context): + """ + Returns the result of an aj operation. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RajTables(self, request, context): + """ + Returns the result of an raj operation. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -712,6 +740,16 @@ def add_TableServiceServicer_to_server(servicer, server): request_deserializer=deephaven_dot_proto_dot_table__pb2.AsOfJoinTablesRequest.FromString, response_serializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.SerializeToString, ), + 'AjTables': grpc.unary_unary_rpc_method_handler( + servicer.AjTables, + request_deserializer=deephaven_dot_proto_dot_table__pb2.AjRajTablesRequest.FromString, + response_serializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.SerializeToString, + ), + 'RajTables': grpc.unary_unary_rpc_method_handler( + servicer.RajTables, + request_deserializer=deephaven_dot_proto_dot_table__pb2.AjRajTablesRequest.FromString, + response_serializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.SerializeToString, + ), 'RangeJoinTables': grpc.unary_unary_rpc_method_handler( servicer.RangeJoinTables, request_deserializer=deephaven_dot_proto_dot_table__pb2.RangeJoinTablesRequest.FromString, @@ -1251,6 +1289,40 @@ def AsOfJoinTables(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def AjTables(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/io.deephaven.proto.backplane.grpc.TableService/AjTables', + deephaven_dot_proto_dot_table__pb2.AjRajTablesRequest.SerializeToString, + deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RajTables(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/io.deephaven.proto.backplane.grpc.TableService/RajTables', + deephaven_dot_proto_dot_table__pb2.AjRajTablesRequest.SerializeToString, + deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def RangeJoinTables(request, target, diff --git a/qst/src/main/java/io/deephaven/qst/table/AsOfJoinTable.java b/qst/src/main/java/io/deephaven/qst/table/AsOfJoinTable.java index 3ea6ea99e09..42cb8832993 100644 --- a/qst/src/main/java/io/deephaven/qst/table/AsOfJoinTable.java +++ b/qst/src/main/java/io/deephaven/qst/table/AsOfJoinTable.java @@ -28,6 +28,14 @@ public final V walk(V visitor) { return visitor; } + public final boolean isAj() { + return joinMatch().isAj(); + } + + public final boolean isRaj() { + return joinMatch().isRaj(); + } + public interface Builder extends Join.Builder { Builder joinMatch(AsOfJoinMatch joinMatch); diff --git a/server/src/main/java/io/deephaven/server/table/TableModule.java b/server/src/main/java/io/deephaven/server/table/TableModule.java index 225b78490ca..e7ed9991904 100644 --- a/server/src/main/java/io/deephaven/server/table/TableModule.java +++ b/server/src/main/java/io/deephaven/server/table/TableModule.java @@ -14,7 +14,10 @@ import io.deephaven.server.auth.AuthorizationProvider; import io.deephaven.server.table.ops.AggregateAllGrpcImpl; import io.deephaven.server.table.ops.AggregateGrpcImpl; +import io.deephaven.server.table.ops.AjRajGrpcImpl.AjGrpcImpl; +import io.deephaven.server.table.ops.AjRajGrpcImpl.RajGrpcImpl; import io.deephaven.server.table.ops.ApplyPreviewColumnsGrpcImpl; +import io.deephaven.server.table.ops.AjRajGrpcImpl; import io.deephaven.server.table.ops.ComboAggregateGrpcImpl; import io.deephaven.server.table.ops.CreateInputTableGrpcImpl; import io.deephaven.server.table.ops.DropColumnsGrpcImpl; @@ -205,6 +208,16 @@ static TableServiceContextualAuthWiring provideAuthWiring(AuthorizationProvider @BatchOpCode(BatchTableRequest.Operation.OpCase.AS_OF_JOIN) GrpcTableOperation bindOperationAsOfJoin(JoinTablesGrpcImpl.AsOfJoinTablesGrpcImpl op); + @Binds + @IntoMap + @BatchOpCode(BatchTableRequest.Operation.OpCase.AJ) + GrpcTableOperation bindOperationAj(AjGrpcImpl op); + + @Binds + @IntoMap + @BatchOpCode(BatchTableRequest.Operation.OpCase.RAJ) + GrpcTableOperation bindOperationRaj(RajGrpcImpl op); + @Binds @IntoMap @BatchOpCode(BatchTableRequest.Operation.OpCase.RANGE_JOIN) diff --git a/server/src/main/java/io/deephaven/server/table/ops/AjRajGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/AjRajGrpcImpl.java new file mode 100644 index 00000000000..b013fa3d32e --- /dev/null +++ b/server/src/main/java/io/deephaven/server/table/ops/AjRajGrpcImpl.java @@ -0,0 +1,116 @@ +package io.deephaven.server.table.ops; + +import com.google.rpc.Code; +import io.deephaven.api.AsOfJoinMatch; +import io.deephaven.api.JoinAddition; +import io.deephaven.api.JoinMatch; +import io.deephaven.auth.codegen.impl.TableServiceContextualAuthWiring; +import io.deephaven.base.verify.Assert; +import io.deephaven.engine.table.Table; +import io.deephaven.engine.updategraph.UpdateGraphProcessor; +import io.deephaven.proto.backplane.grpc.AjRajTablesRequest; +import io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation; +import io.deephaven.proto.backplane.grpc.TableReference; +import io.deephaven.proto.util.Exceptions; +import io.deephaven.server.grpc.Common; +import io.deephaven.server.grpc.GrpcErrorHelper; +import io.deephaven.server.session.SessionState.ExportObject; +import io.deephaven.util.SafeCloseable; +import io.grpc.StatusRuntimeException; + +import javax.inject.Inject; +import javax.inject.Singleton; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; + +public abstract class AjRajGrpcImpl extends GrpcTableOperation { + + @Singleton + public static class AjGrpcImpl extends AjRajGrpcImpl { + @Inject + public AjGrpcImpl( + final TableServiceContextualAuthWiring authWiring, + final UpdateGraphProcessor updateGraphProcessor) { + super( + authWiring::checkPermissionAjTables, + Operation::getAj, + AsOfJoinMatch::parseForAj, + updateGraphProcessor); + } + } + + @Singleton + public static class RajGrpcImpl extends AjRajGrpcImpl { + @Inject + public RajGrpcImpl( + final TableServiceContextualAuthWiring authWiring, + final UpdateGraphProcessor updateGraphProcessor) { + super( + authWiring::checkPermissionRajTables, + Operation::getRaj, + AsOfJoinMatch::parseForRaj, + updateGraphProcessor); + } + } + + private final UpdateGraphProcessor updateGraphProcessor; + private final Function joinMatchParser; + + private AjRajGrpcImpl( + PermissionFunction permission, + Function getRequest, + Function joinMatchParser, + UpdateGraphProcessor updateGraphProcessor) { + super( + permission, + getRequest, + AjRajTablesRequest::getResultId, + AjRajGrpcImpl::refs); + this.joinMatchParser = Objects.requireNonNull(joinMatchParser); + this.updateGraphProcessor = Objects.requireNonNull(updateGraphProcessor); + } + + @Override + public void validateRequest(AjRajTablesRequest request) throws StatusRuntimeException { + GrpcErrorHelper.checkHasField(request, AjRajTablesRequest.LEFT_ID_FIELD_NUMBER); + GrpcErrorHelper.checkHasField(request, AjRajTablesRequest.RIGHT_ID_FIELD_NUMBER); + GrpcErrorHelper.checkHasField(request, AjRajTablesRequest.AS_OF_COLUMN_FIELD_NUMBER); + GrpcErrorHelper.checkHasNoUnknownFields(request); + Common.validate(request.getLeftId()); + Common.validate(request.getRightId()); + try { + for (String exactMatch : request.getExactMatchColumnsList()) { + JoinMatch.parse(exactMatch); + } + joinMatchParser.apply(request.getAsOfColumn()); + for (String addColumn : request.getColumnsToAddList()) { + JoinAddition.parse(addColumn); + } + } catch (IllegalArgumentException e) { + throw Exceptions.statusRuntimeException(Code.INVALID_ARGUMENT, e.getMessage()); + } + } + + @Override + public Table create(AjRajTablesRequest request, List> sourceTables) { + Assert.eq(sourceTables.size(), "sourceTables.size()", 2); + final Table left = sourceTables.get(0).get(); + final Table right = sourceTables.get(1).get(); + final List exactMatches = JoinMatch.from(request.getExactMatchColumnsList()); + final List columnsToAdd = JoinAddition.from(request.getColumnsToAddList()); + final AsOfJoinMatch asOfMatch = joinMatchParser.apply(request.getAsOfColumn()); + // noinspection unused + try (final SafeCloseable _lock = lock(left, right)) { + return left.asOfJoin(right, exactMatches, asOfMatch, columnsToAdd); + } + } + + private SafeCloseable lock(Table left, Table right) { + return left.isRefreshing() || right.isRefreshing() ? updateGraphProcessor.sharedLock().lockCloseable() : null; + } + + private static List refs(AjRajTablesRequest request) { + return List.of(request.getLeftId(), request.getRightId()); + } +} diff --git a/server/src/main/java/io/deephaven/server/table/ops/JoinTablesGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/JoinTablesGrpcImpl.java index 19c7af16d87..178bcc2056e 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/JoinTablesGrpcImpl.java +++ b/server/src/main/java/io/deephaven/server/table/ops/JoinTablesGrpcImpl.java @@ -97,6 +97,7 @@ public Table create(final T request, final List } @Singleton + @Deprecated public static class AsOfJoinTablesGrpcImpl extends JoinTablesGrpcImpl { private static final MultiDependencyFunction EXTRACT_DEPS = @@ -134,9 +135,8 @@ public static Table doJoin(final Table lhs, final Table rhs, } private static AsOfJoinRule adapt(MatchRule rule) { - // TODO: add new as-of join RPC, mark JoinTablesGrpcImpl as deprecated - // this looks wrong, but we need to also potentially transition the gRPC side, and preserve this old - // behavior if desired. + // Note: this is _correct_ to maintain backwards compatibility but it looks wrong. This is why the + // underlying proto and this class are now deprecated. switch (rule) { case LESS_THAN_EQUAL: return AsOfJoinRule.GREATER_THAN_EQUAL; diff --git a/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java index f0f08248eb3..16d41bfef6f 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java +++ b/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java @@ -14,6 +14,7 @@ import io.deephaven.proto.backplane.grpc.AggregateRequest; import io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest; import io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest; +import io.deephaven.proto.backplane.grpc.AjRajTablesRequest; import io.deephaven.proto.backplane.grpc.BatchTableRequest; import io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation; import io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.OpCase; @@ -322,6 +323,16 @@ public void asOfJoinTables(AsOfJoinTablesRequest request, oneShotOperationWrapper(BatchTableRequest.Operation.OpCase.AS_OF_JOIN, request, responseObserver); } + @Override + public void ajTables(AjRajTablesRequest request, StreamObserver responseObserver) { + oneShotOperationWrapper(BatchTableRequest.Operation.OpCase.AJ, request, responseObserver); + } + + @Override + public void rajTables(AjRajTablesRequest request, StreamObserver responseObserver) { + oneShotOperationWrapper(BatchTableRequest.Operation.OpCase.RAJ, request, responseObserver); + } + @Override public void rangeJoinTables(RangeJoinTablesRequest request, StreamObserver responseObserver) { diff --git a/server/src/test/java/io/deephaven/server/table/ops/AsOfJoinGrpcTestBase.java b/server/src/test/java/io/deephaven/server/table/ops/AsOfJoinGrpcTestBase.java new file mode 100644 index 00000000000..81936772322 --- /dev/null +++ b/server/src/test/java/io/deephaven/server/table/ops/AsOfJoinGrpcTestBase.java @@ -0,0 +1,204 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.server.table.ops; + +import com.google.protobuf.UnknownFieldSet; +import com.google.protobuf.UnknownFieldSet.Field; +import io.deephaven.engine.util.TableTools; +import io.deephaven.proto.backplane.grpc.AjRajTablesRequest; +import io.deephaven.proto.backplane.grpc.AjRajTablesRequest.Builder; +import io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse; +import io.deephaven.proto.backplane.grpc.TableReference; +import io.deephaven.proto.util.ExportTicketHelper; +import io.grpc.Status.Code; +import org.junit.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public abstract class AsOfJoinGrpcTestBase extends GrpcTableOperationTestBase { + + public static abstract class AjTestBase extends AsOfJoinGrpcTestBase { + @Override + public ExportedTableCreationResponse send(AjRajTablesRequest request) { + return channel().tableBlocking().ajTables(request); + } + + @Test + public void badAsOfColumnStrict() { + final AjRajTablesRequest request = AjRajTablesRequest.newBuilder(prototype()) + .setAsOfColumn("IdId") + .build(); + assertError(request, Code.INVALID_ARGUMENT, "Unsupported operation for raj: GREATER_THAN"); + } + + @Test + public void badAsOfColumnLenient() { + final AjRajTablesRequest request = AjRajTablesRequest.newBuilder(prototype()) + .setAsOfColumn("Id>=Id") + .build(); + assertError(request, Code.INVALID_ARGUMENT, "Unsupported operation for raj: GREATER_THAN_EQUAL"); + } + } + + public static class AjDefaultTest extends AjTestBase { + @Override + public Builder builder() { + return AjRajTablesRequest.newBuilder().setAsOfColumn("Id"); + } + } + + public static class AjExplicitTest extends AjTestBase { + @Override + public Builder builder() { + return AjRajTablesRequest.newBuilder().setAsOfColumn("Id>=Id"); + } + } + + public static class AjStrictTest extends AjTestBase { + @Override + public Builder builder() { + return AjRajTablesRequest.newBuilder().setAsOfColumn("Id>Id"); + } + } + + public static class RajDefaultTest extends RajTestBase { + @Override + public Builder builder() { + return AjRajTablesRequest.newBuilder().setAsOfColumn("Id"); + } + } + + public static class RajExplicitTest extends RajTestBase { + @Override + public Builder builder() { + return AjRajTablesRequest.newBuilder().setAsOfColumn("Id<=Id"); + } + } + + public static class RajStrictTest extends RajTestBase { + @Override + public Builder builder() { + return AjRajTablesRequest.newBuilder().setAsOfColumn("Id { - private SafeCloseable executionContext; - - @Override - public void setUp() throws Exception { - super.setUp(); - executionContext = TestExecutionContext.createForUnitTests().open(); - } - @Override public ExportedTableCreationResponse send(WhereInRequest request) { return channel().tableBlocking().whereIn(request); diff --git a/table-api/src/main/java/io/deephaven/api/AsOfJoinMatch.java b/table-api/src/main/java/io/deephaven/api/AsOfJoinMatch.java index 3e0e13c44f2..0da8051d5bb 100644 --- a/table-api/src/main/java/io/deephaven/api/AsOfJoinMatch.java +++ b/table-api/src/main/java/io/deephaven/api/AsOfJoinMatch.java @@ -98,4 +98,26 @@ static AsOfJoinMatch parse(String x) { @Parameter public abstract ColumnName rightColumn(); + + public final String toRpcString() { + return leftColumn().name() + joinRule().operatorString() + rightColumn().name(); + } + + public final boolean isAj() { + switch (joinRule()) { + case GREATER_THAN_EQUAL: + case GREATER_THAN: + return true; + } + return false; + } + + public final boolean isRaj() { + switch (joinRule()) { + case LESS_THAN_EQUAL: + case LESS_THAN: + return true; + } + return false; + } } From a0dca3dcc92f204b2063d9853cce5ed5e37201fd Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Fri, 2 Jun 2023 10:17:14 -0700 Subject: [PATCH 12/13] Rename getMeta() to meta() (#3910) --- .../api/src/main/java/io/deephaven/engine/table/Table.java | 2 +- .../java/io/deephaven/engine/table/impl/TableDefaults.java | 2 +- .../engine/table/impl/QueryTableAggregationTest.java | 6 +++--- .../engine/table/impl/QueryTableNaturalJoinTest.java | 2 +- .../test/java/io/deephaven/engine/util/TestTableTools.java | 2 +- .../csv/src/test/java/io/deephaven/csv/TestCsvTools.java | 4 ++-- py/server/deephaven/table.py | 2 +- .../io/deephaven/server/table/ops/MetaTableGrpcImpl.java | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/engine/api/src/main/java/io/deephaven/engine/table/Table.java b/engine/api/src/main/java/io/deephaven/engine/table/Table.java index cd1e550b1b1..5624bdbcd69 100644 --- a/engine/api/src/main/java/io/deephaven/engine/table/Table.java +++ b/engine/api/src/main/java/io/deephaven/engine/table/Table.java @@ -49,7 +49,7 @@ public interface Table extends * @return A Table of metadata about this Table's columns. */ @ConcurrentMethod - Table getMeta(); + Table meta(); @ConcurrentMethod String getDescription(); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableDefaults.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableDefaults.java index 5585b305d83..0037937c44d 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableDefaults.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableDefaults.java @@ -48,7 +48,7 @@ default Table coalesce() { @Override @ConcurrentMethod @FinalDefault - default Table getMeta() { + default Table meta() { List columnNames = new ArrayList<>(); List columnDataTypes = new ArrayList<>(); List columnTypes = new ArrayList<>(); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAggregationTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAggregationTest.java index 99d0c1de0ca..879e18673aa 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAggregationTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableAggregationTest.java @@ -1816,7 +1816,7 @@ public void testAvgInfinities() { final Table result = table.avgBy(); TableTools.show(result); - TableTools.show(result.getMeta()); + TableTools.show(result.meta()); TestCase.assertEquals(1, result.size()); double avg = result.getColumn("IntCol").getDouble(0); TestCase.assertEquals(Double.NaN, avg); @@ -1894,7 +1894,7 @@ public void testVarInfinities() { final Table result = table.varBy(); TableTools.show(result); - TableTools.show(result.getMeta()); + TableTools.show(result.meta()); TestCase.assertEquals(1, result.size()); double var = result.getColumn("IntCol").getDouble(0); TestCase.assertEquals(Double.NaN, var); @@ -2861,7 +2861,7 @@ public void testMedianTypes() { "MyBigDecimal=java.math.BigDecimal.TEN.add(java.math.BigDecimal.valueOf(i))", "MyBigInteger=java.math.BigInteger.ZERO.add(java.math.BigInteger.valueOf(i))"); - TableTools.showWithRowSet(table.getMeta()); + TableTools.showWithRowSet(table.meta()); TableTools.showWithRowSet(table); final Table median = table.medianBy(); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableNaturalJoinTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableNaturalJoinTest.java index d236760cf9b..0b4d2a1ebdf 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableNaturalJoinTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableNaturalJoinTest.java @@ -586,7 +586,7 @@ private void testNaturalJoinDuplicateRightsRefreshingRight(Class clazz, F final Table left = castSymbol(clazz, testTable(col("Symbol", a, b), col("LeftSentinel", 1, 2))); final Table right = castSymbol(clazz, testRefreshingTable(col("Symbol", a, a), col("RightSentinel", 10, 11))); - TableTools.showWithRowSet(right.getMeta()); + TableTools.showWithRowSet(right.meta()); TableTools.showWithRowSet(right); try { diff --git a/engine/table/src/test/java/io/deephaven/engine/util/TestTableTools.java b/engine/table/src/test/java/io/deephaven/engine/util/TestTableTools.java index c27311ea1e0..e437f961495 100644 --- a/engine/table/src/test/java/io/deephaven/engine/util/TestTableTools.java +++ b/engine/table/src/test/java/io/deephaven/engine/util/TestTableTools.java @@ -334,7 +334,7 @@ public void testInstantColumnHolder() { final Table table = TableTools.newTable(instantCol, instantCol2); // make sure both columns are in fact Instant columns - final Table meta = table.getMeta(); + final Table meta = table.meta(); Assert.assertEquals(Instant.class.getCanonicalName(), meta.getColumn("DataType").get(0)); Assert.assertEquals(Instant.class.getCanonicalName(), meta.getColumn("DataType").get(1)); diff --git a/extensions/csv/src/test/java/io/deephaven/csv/TestCsvTools.java b/extensions/csv/src/test/java/io/deephaven/csv/TestCsvTools.java index cca09604b95..62b44427bd7 100644 --- a/extensions/csv/src/test/java/io/deephaven/csv/TestCsvTools.java +++ b/extensions/csv/src/test/java/io/deephaven/csv/TestCsvTools.java @@ -57,7 +57,7 @@ public void testTableDividendsCSV() throws CsvReaderException { " Z, Dividend, 0.18, 500"; Table tableDividends = CsvTools.readCsv(new ByteArrayInputStream(fileDividends.getBytes())); Assert.assertEquals(3, tableDividends.size()); - Assert.assertEquals(4, tableDividends.getMeta().size()); + Assert.assertEquals(4, tableDividends.meta().size()); Assert.assertEquals(0.15, tableDividends.getColumn(2).getDouble(1), 0.000001); Assert.assertEquals(300, tableDividends.getColumn(3).getInt(1)); Assert.assertEquals("Z", tableDividends.getColumn(0).get(2)); @@ -72,7 +72,7 @@ public void testTableDividendsCSVNoTrim() throws CsvReaderException { Table tableDividends = CsvTools .readCsv(new ByteArrayInputStream(fileDividends.getBytes()), "DEFAULT"); Assert.assertEquals(3, tableDividends.size()); - Assert.assertEquals(4, tableDividends.getMeta().size()); + Assert.assertEquals(4, tableDividends.meta().size()); Assert.assertEquals(0.15, tableDividends.getColumn(2).get(1)); Assert.assertEquals(300, tableDividends.getColumn(3).get(1)); Assert.assertEquals(" Z", tableDividends.getColumn(0).get(2)); diff --git a/py/server/deephaven/table.py b/py/server/deephaven/table.py index 11f8c3b55d1..9da89ed21c9 100644 --- a/py/server/deephaven/table.py +++ b/py/server/deephaven/table.py @@ -556,7 +556,7 @@ def columns(self) -> List[Column]: @property def meta_table(self) -> Table: """The column definitions of the table in a Table form. """ - return Table(j_table=self.j_table.getMeta()) + return Table(j_table=self.j_table.meta()) @property def j_object(self) -> jpy.JType: diff --git a/server/src/main/java/io/deephaven/server/table/ops/MetaTableGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/MetaTableGrpcImpl.java index bb35ba62258..75b6dead2c1 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/MetaTableGrpcImpl.java +++ b/server/src/main/java/io/deephaven/server/table/ops/MetaTableGrpcImpl.java @@ -26,6 +26,6 @@ public Table create(final MetaTableRequest request, final List> sourceTables) { Assert.eq(sourceTables.size(), "sourceTables.size()", 1); final Table parent = sourceTables.get(0).get(); - return parent.getMeta(); + return parent.meta(); } } From a4676d843e9e47fe899ce77b7b0d79f7811b989d Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Fri, 2 Jun 2023 10:56:43 -0700 Subject: [PATCH 13/13] Update pydeephaven for aj/raj (#3914) --- py/client/pydeephaven/__init__.py | 4 +- py/client/pydeephaven/_table_interface.py | 32 ++++++------- py/client/pydeephaven/_table_ops.py | 56 +++++++++++++---------- py/client/pydeephaven/query.py | 22 ++++----- py/client/pydeephaven/table.py | 28 ++++++------ 5 files changed, 73 insertions(+), 69 deletions(-) diff --git a/py/client/pydeephaven/__init__.py b/py/client/pydeephaven/__init__.py index d0a7a7f9acd..ff730641a1e 100644 --- a/py/client/pydeephaven/__init__.py +++ b/py/client/pydeephaven/__init__.py @@ -25,8 +25,8 @@ from .session import Session from .dherror import DHError -from ._table_interface import SortDirection, MatchRule +from ._table_interface import SortDirection from .query import Query -__all__ = ["Session", "DHError", "SortDirection", "MatchRule"] +__all__ = ["Session", "DHError", "SortDirection"] __version__ = "0.25.0" diff --git a/py/client/pydeephaven/_table_interface.py b/py/client/pydeephaven/_table_interface.py index f61dcfcab98..60751d9af3b 100644 --- a/py/client/pydeephaven/_table_interface.py +++ b/py/client/pydeephaven/_table_interface.py @@ -14,8 +14,8 @@ from pydeephaven import agg from pydeephaven._table_ops import UpdateOp, LazyUpdateOp, ViewOp, UpdateViewOp, SelectOp, DropColumnsOp, \ SelectDistinctOp, SortOp, UnstructuredFilterOp, HeadOp, TailOp, HeadByOp, TailByOp, UngroupOp, NaturalJoinOp, \ - ExactJoinOp, CrossJoinOp, AsOfJoinOp, UpdateByOp, SnapshotTableOp, SnapshotWhenTableOp, WhereInTableOp, \ - AggregateAllOp, AggregateOp, MatchRule, SortDirection + ExactJoinOp, CrossJoinOp, AjOp, RajOp, UpdateByOp, SnapshotTableOp, SnapshotWhenTableOp, WhereInTableOp, \ + AggregateAllOp, AggregateOp, SortDirection from pydeephaven._utils import to_list from pydeephaven.agg import Aggregation, _AggregationColumns from pydeephaven.dherror import DHError @@ -278,8 +278,7 @@ def join(self, table: Table, on: Union[str, List[str]] = None, joins: Union[str, table_op = CrossJoinOp(table=table, keys=to_list(on), columns_to_add=to_list(joins), reserve_bits=reserve_bits) return self.table_op_handler(table_op) - def aj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str]] = None, - match_rule: MatchRule = MatchRule.LESS_THAN_EQUAL) -> Union[Table, Query]: + def aj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str]] = None) -> Union[Table, Query]: """The aj (as-of join) method creates a new table containing all the rows and columns of the left table, plus additional columns containing data from the right table. For columns appended to the left table (joins), row values equal the row values from the right table where the keys from the left table most closely match @@ -288,12 +287,13 @@ def aj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str Args: table (Table): the right-table of the join - on (Union[str, List[str]]): the column(s) to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names + on (Union[str, List[str]]): the column(s) to match, can be a common name or a match condition of two + columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact + match. The inexact match can use either '>' or '>='. If a common name is used for the inexact match, + '>=' is used for the comparison. joins (Union[str, List[str]], optional): the column(s) to be added from the right table to the result - table, can be renaming expressions, i.e. "new_col = col"; default is None,, which means all the columns + table, can be renaming expressions, i.e. "new_col = col"; default is None, which means all the columns from the right table, excluding those specified in 'on' - match_rule (MatchRule, optional): the match rule for the as-of join, default is LESS_THAN_EQUAL Returns: a Table or Query object @@ -301,12 +301,10 @@ def aj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str Raises: DHError """ - match_rule = MatchRule.LESS_THAN if match_rule == MatchRule.LESS_THAN else MatchRule.LESS_THAN_EQUAL - table_op = AsOfJoinOp(table=table, keys=to_list(on), columns_to_add=to_list(joins), match_rule=match_rule) + table_op = AjOp(table=table, keys=to_list(on), columns_to_add=to_list(joins)) return self.table_op_handler(table_op) - def raj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str]] = None, - match_rule: MatchRule = MatchRule.GREATER_THAN_EQUAL) -> Union[Table, Query]: + def raj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str]] = None) -> Union[Table, Query]: """The raj (reverse as-of join) method creates a new table containing all the rows and columns of the left table, plus additional columns containing data from the right table. For columns appended to the left table ( joins), row values equal the row values from the right table where the keys from the left table most closely @@ -315,12 +313,13 @@ def raj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[st Args: table (Table): the right-table of the join - on (Union[str, List[str]]): the column(s) to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names + on (Union[str, List[str]]): the column(s) to match, can be a common name or a match condition of two + columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact + match. The inexact match can use either '<' or '<='. If a common name is used for the inexact match, + '<=' is used for the comparison. joins (Union[str, List[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None, which means all the columns from the right table, excluding those specified in 'on' - match_rule (MatchRule, optional): the match rule for the as-of join, default is GREATER_THAN_EQUAL Returns: a Table or Query object @@ -328,8 +327,7 @@ def raj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[st Raises: DHError """ - match_rule = MatchRule.GREATER_THAN if match_rule == MatchRule.GREATER_THAN else MatchRule.GREATER_THAN_EQUAL - table_op = AsOfJoinOp(table=table, keys=to_list(on), columns_to_add=to_list(joins), match_rule=match_rule) + table_op = RajOp(table=table, keys=to_list(on), columns_to_add=to_list(joins)) return self.table_op_handler(table_op) def head_by(self, num_rows: int, by: Union[str, List[str]]) -> Union[Table, Query]: diff --git a/py/client/pydeephaven/_table_ops.py b/py/client/pydeephaven/_table_ops.py index e77bcb95df8..91e6080d5a5 100644 --- a/py/client/pydeephaven/_table_ops.py +++ b/py/client/pydeephaven/_table_ops.py @@ -13,20 +13,6 @@ from pydeephaven.updateby import UpdateByOperation -class MatchRule(Enum): - """An enum defining the match rules for the as-of and reverse-as-of joins.""" - - """""" - LESS_THAN_EQUAL = table_pb2.AsOfJoinTablesRequest.MatchRule.LESS_THAN_EQUAL - """""" - LESS_THAN = table_pb2.AsOfJoinTablesRequest.MatchRule.LESS_THAN - """""" - GREATER_THAN_EQUAL = table_pb2.AsOfJoinTablesRequest.MatchRule.GREATER_THAN_EQUAL - """""" - GREATER_THAN = table_pb2.AsOfJoinTablesRequest.MatchRule.GREATER_THAN - """""" - - class SortDirection(Enum): """An enum defining the sort ordering.""" @@ -432,33 +418,53 @@ def make_grpc_request_for_batch(self, result_id, source_id) -> Any: return table_pb2.BatchTableRequest.Operation( cross_join=self.make_grpc_request(result_id=result_id, source_id=source_id)) - -class AsOfJoinOp(TableOp): - def __init__(self, table: Any, keys: List[str] = [], columns_to_add: List[str] = [], - match_rule: MatchRule = MatchRule.LESS_THAN_EQUAL): +class AjOp(TableOp): + def __init__(self, table: Any, keys: List[str] = [], columns_to_add: List[str] = []): self.table = table self.keys = keys self.columns_to_add = columns_to_add - self.match_rule = match_rule @classmethod def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub) -> Any: - return table_service_stub.AsOfJoinTables + return table_service_stub.AjTables def make_grpc_request(self, result_id, source_id) -> Any: left_id = source_id right_id = table_pb2.TableReference(ticket=self.table.ticket) - return table_pb2.AsOfJoinTablesRequest(result_id=result_id, + return table_pb2.AjRajTablesRequest(result_id=result_id, left_id=left_id, right_id=right_id, - columns_to_match=self.keys, - columns_to_add=self.columns_to_add, - as_of_match_rule=self.match_rule.value) + exact_match_columns=self.keys[:-1], + as_of_column=self.keys[-1], + columns_to_add=self.columns_to_add) def make_grpc_request_for_batch(self, result_id, source_id) -> Any: return table_pb2.BatchTableRequest.Operation( - as_of_join=self.make_grpc_request(result_id=result_id, source_id=source_id)) + aj=self.make_grpc_request(result_id=result_id, source_id=source_id)) +class RajOp(TableOp): + def __init__(self, table: Any, keys: List[str] = [], columns_to_add: List[str] = []): + self.table = table + self.keys = keys + self.columns_to_add = columns_to_add + + @classmethod + def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub) -> Any: + return table_service_stub.RajTables + + def make_grpc_request(self, result_id, source_id) -> Any: + left_id = source_id + right_id = table_pb2.TableReference(ticket=self.table.ticket) + return table_pb2.AjRajTablesRequest(result_id=result_id, + left_id=left_id, + right_id=right_id, + exact_match_columns=self.keys[:-1], + as_of_column=self.keys[-1], + columns_to_add=self.columns_to_add) + + def make_grpc_request_for_batch(self, result_id, source_id) -> Any: + return table_pb2.BatchTableRequest.Operation( + raj=self.make_grpc_request(result_id=result_id, source_id=source_id)) class FlattenOp(TableOp): @classmethod diff --git a/py/client/pydeephaven/query.py b/py/client/pydeephaven/query.py index bc47998f91b..94672df7923 100644 --- a/py/client/pydeephaven/query.py +++ b/py/client/pydeephaven/query.py @@ -217,34 +217,34 @@ def join(self, table: Any, on: Union[str, List[str]] = None, joins: Union[str, L """ return super().join(table, on, joins) - def aj(self, table: Any, on: Union[str, List[str]], joins: Union[str, List[str]] = None, - match_rule: MatchRule = MatchRule.LESS_THAN_EQUAL) -> Query: + def aj(self, table: Any, on: Union[str, List[str]], joins: Union[str, List[str]] = None) -> Query: """Adds a as-of join operation to the query. Args: table (Table): the right-table of the join - on (Union[str, List[str]]): the column(s) to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names + on (Union[str, List[str]]): the column(s) to match, can be a common name or a match condition of two + columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact + match. The inexact match can use either '>' or '>='. If a common name is used for the inexact match, + '>=' is used for the comparison. joins (Union[str, List[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None - match_rule (MatchRule, optional): the match rule for the as-of join, default is LESS_THAN_EQUAL Returns: self """ - return super().aj(table, on, joins, match_rule) + return super().aj(table, on, joins) - def raj(self, table: Any, on: Union[str, List[str]], joins: Union[str, List[str]] = None, - match_rule: MatchRule = MatchRule.GREATER_THAN_EQUAL) -> Query: + def raj(self, table: Any, on: Union[str, List[str]], joins: Union[str, List[str]] = None) -> Query: """Adds a reverse as-of join operation to the query. Args: table (Table): the right-table of the join - on (Union[str, List[str]]): the column(s) to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names + on (Union[str, List[str]]): the column(s) to match, can be a common name or a match condition of two + columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact + match. The inexact match can use either '<' or '<='. If a common name is used for the inexact match, + '<=' is used for the comparison. joins (Union[str, List[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None - match_rule (MatchRule, optional): the match rule for the as-of join, default is GREATER_THAN_EQUAL Returns: self diff --git a/py/client/pydeephaven/table.py b/py/client/pydeephaven/table.py index 2e0707e12ea..61145f08090 100644 --- a/py/client/pydeephaven/table.py +++ b/py/client/pydeephaven/table.py @@ -10,7 +10,7 @@ import pyarrow as pa -from pydeephaven._table_ops import MetaTableOp, SortDirection, MatchRule +from pydeephaven._table_ops import MetaTableOp, SortDirection from pydeephaven.agg import Aggregation from pydeephaven.dherror import DHError from pydeephaven._table_interface import TableInterface @@ -330,8 +330,7 @@ def join(self, table: Table, on: Union[str, List[str]] = None, joins: Union[str, """ return super(Table, self).join(table, on, joins) - def aj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str]] = None, - match_rule: MatchRule = MatchRule.LESS_THAN_EQUAL) -> Table: + def aj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str]] = None) -> Table: """The aj (as-of join) method creates a new table containing all the rows and columns of the left table, plus additional columns containing data from the right table. For columns appended to the left table (joins), row values equal the row values from the right table where the keys from the left table most closely match @@ -340,12 +339,13 @@ def aj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str Args: table (Table): the right-table of the join - on (Union[str, List[str]]): the column(s) to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names + on (Union[str, List[str]]): the column(s) to match, can be a common name or a match condition of two + columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact + match. The inexact match can use either '>' or '>='. If a common name is used for the inexact match, + '>=' is used for the comparison. joins (Union[str, List[str]], optional): the column(s) to be added from the right table to the result - table, can be renaming expressions, i.e. "new_col = col"; default is None,, which means all the columns + table, can be renaming expressions, i.e. "new_col = col"; default is None, which means all the columns from the right table, excluding those specified in 'on' - match_rule (MatchRule, optional): the match rule for the as-of join, default is LESS_THAN_EQUAL Returns: a Table object @@ -353,10 +353,9 @@ def aj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str Raises: DHError """ - return super(Table, self).aj(table, on, joins, match_rule) + return super(Table, self).aj(table, on, joins) - def raj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str]] = None, - match_rule: MatchRule = MatchRule.GREATER_THAN_EQUAL) -> Table: + def raj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[str]] = None) -> Table: """The raj (reverse as-of join) method creates a new table containing all the rows and columns of the left table, plus additional columns containing data from the right table. For columns appended to the left table ( joins), row values equal the row values from the right table where the keys from the left table most closely @@ -365,12 +364,13 @@ def raj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[st Args: table (Table): the right-table of the join - on (Union[str, List[str]]): the column(s) to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names + on (Union[str, List[str]]): the column(s) to match, can be a common name or a match condition of two + columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact + match. The inexact match can use either '<' or '<='. If a common name is used for the inexact match, + '<=' is used for the comparison. joins (Union[str, List[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None, which means all the columns from the right table, excluding those specified in 'on' - match_rule (MatchRule, optional): the match rule for the as-of join, default is GREATER_THAN_EQUAL Returns: a Table object @@ -378,7 +378,7 @@ def raj(self, table: Table, on: Union[str, List[str]], joins: Union[str, List[st Raises: DHError """ - return super(Table, self).raj(table, on, joins, match_rule) + return super(Table, self).raj(table, on, joins) def head_by(self, num_rows: int, by: Union[str, List[str]]) -> Table: """The head_by method creates a new table containing the first number of rows for each group.